From 1bcdbdb67e3bbaafd7055f068ee55849fd6474f3 Mon Sep 17 00:00:00 2001
From: mykola2312 <49044616+mykola2312@users.noreply.github.com>
Date: Wed, 19 Jul 2017 23:56:11 +0300
Subject: [PATCH] Create README.md
---
README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..44defaf
--- /dev/null
+++ b/README.md
@@ -0,0 +1,64 @@
+# gmcl_usermessages_win32
+
+SourceSDK usermessages in Lua!
+
+## usermessages
+usermessages.LookupUserMessage("name") --Lookup message id by name
+usermessages.GetUserMessages() --Return a table with registered usermessages
+usermessages.GetUserMessageName(idx) --Return usermessage name by id
+usermessages.GetTotal() --Return total number of usermessages
+
+## recipientfilter
+
+Container that's contain players and other stuff
+
+rf = recipientfilter.Create() --Returns new userdata
+rf:MakeReliable() --Don't forget to do it before you use it
+rf:AddRecipient(Entity(1)) --Add player to filter
+rf:Free() --When you done (usermessages.MessageEnd()) don't forget to free it!
+
+## bf_write (NekoBuf) and usermessages usage
+
+bf = usermessages.UserMessageBegin(rf,usermessage_id) --Begin usermessage with our filter, returns bf_write userdata
+
+bf_write metamethods:
+WriteByte
+WriteChar
+WriteShort
+WriteWord
+WriteLong
+WriteFloat
+WriteAngle
+WriteAngles
+WriteCoord
+WriteVec3Coord
+WriteVec3Normal
+WriteString
+WriteEntity
+WriteEHandle
+WriteBool
+WriteUBitLong
+WriteSBitLong
+WriteBits
+
+Also for defination look in nekobuf.cpp
+
+When you done, YOU MUST END THIS! (or u get engine error and server crash)
+usermessages.MessageEnd()
+
+## Warning
+
+When you're using usermessages, be carefully! Any error in code stop script and MessageEnd wasn't called, this can crash your server
+
+## Example
+for LuaCmd also SendLua
+```
+rf = recipientfilter.Create()
+rf:MakeReliable()
+rf:AddRecipient(Entity(1))
+
+bf = usermessages.UserMessageBegin(rf,usermessages.LookupUserMessage("LuaCmd"))
+bf:WriteString("print(\"Hello World!\")")
+usermessages.MessageEnd()
+rf:Free()
+```