Changeset 3234
- Timestamp:
- 01/24/10 01:19:20 (7 months ago)
- Location:
- trunk/lua
- Files:
-
- 5 modified
-
lib.cursor.lua (modified) (1 diff)
-
lib.macrolist.lua (modified) (1 diff)
-
lib.mainmenu.lua (modified) (1 diff)
-
net/net.login.lua (modified) (2 diffs)
-
net/net.objectpicker.lua (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lua/lib.cursor.lua
r3210 r3234 141 141 142 142 function CompleteTargetMode (hitobject,maxrange) -- maxrange=nil 143 if (not IsTargetModeActive()) then return end 143 144 if (not hitobject) then 144 145 MainMousePick() -
trunk/lua/lib.macrolist.lua
r3218 r3234 815 815 end 816 816 817 -- waits until a given text appears, list = {text=returnvalue, text=returnvalue, ...} 817 -- call from a job! (see job.create) 818 -- returns key(from textlist),plaintext,textdata or nil if timeout 819 function MacroCmd_WaitForText (textlist,timeout_delay) 820 return MacroCmd_WaitForListener("Hook_Text",function (name,plaintext,serial,data) 821 for k,text in pairs(textlist) do if (string.find(plaintext,text)) then return k,plaintext,data end end 822 end,timeout_delay or 9000) 823 end 824 825 -- call from a job! (see job.create) 826 -- pauses the current job until a listener with listenername is notified and fun returns true for the listener, or until a timeout 827 -- returns the complete resultset from fun, or nil if timeout 828 function MacroCmd_WaitForListener (listenername,fun,timeout_delay) 829 timeout_delay = timeout_delay or 9000 830 local timeout = gMyTicks+timeout_delay 831 local jobid = job.running_id() assert(jobid) 832 local done = false 833 local res 834 RegisterListener(listenername,function (...) 835 if (done or gMyTicks > timeout) then return true end 836 res = {fun(...)} 837 if (res[1]) then done = true job.wakeup(jobid) return true end 838 end) 839 job.wait(timeout_delay) 840 done = true 841 if (res) then return unpack(res) end 842 end 843 844 845 -- waits until a given text appears, list = {text=returnvalue, text=returnvalue, ...} .... see also MacroCmd_WaitForText (might be better/faster) 818 846 function MacroJournal_WaitForText (list,timeout) 819 847 if not list then return end -
trunk/lua/lib.mainmenu.lua
r3218 r3234 181 181 return 182 182 end 183 184 if (gAutoSelectServerIndex) then MainMenu_SendServer(gAutoSelectServerIndex) return end 183 185 184 186 -- show serverlist -
trunk/lua/net/net.login.lua
r3095 r3234 29 29 30 30 serverlist.servers = {} 31 serverlist.servers_by_index = {} 31 32 gSubServerNamesByID = {} 32 33 for i = 0,serverlist.iServerNumber - 1 do … … 38 39 server.ip = input:PopNetUint32() 39 40 serverlist.servers[i] = server 41 serverlist.servers_by_index[server.index] = server 40 42 gSubServerNamesByID[server.index] = server.name 41 43 -
trunk/lua/net/net.objectpicker.lua
r3092 r3234 76 76 77 77 -- response to 0xAB 78 78 79 function Send_String_Query_Response (id,mytype,myidx,response) -- 0xAC 79 80 local responselen = string.len(response) 80 81 local out = GetSendFIFO() 82 81 83 out:PushNetUint8(kPacket_String_Response) 82 out:PushNetUint16(responselen+ 3+1+1+4+2+1)84 out:PushNetUint16(responselen+1 +3 +1+1 +4+2+1) 83 85 out:PushNetUint32(id) 84 86 out:PushNetUint8(mytype) 85 87 out:PushNetUint8(myidx) 88 out:PushNetUint8(1) -- unknown 86 89 out:PushNetUint8(0) -- unknown 87 out:PushNetUint8(0) -- unknown 88 out:PushNetUint8(0) -- unknown 90 out:PushNetUint8(responselen+1) -- unknown 89 91 out:PushFilledString(response,responselen) 92 out:PushNetUint8(0) -- zero term 93 94 --~ 0000 AC 00 0E 01 40 05 18 00 00 01 00 02 32 00 ....@.......2. 95 --~ c] [len] [----id---] ty id u1 u2 u3 [text] 96 97 --~ ac 00 0f 01 40 05 18 00 00 00 00 00 01 31 00 |....@........1.| 98 99 print("###############################") 100 print("rawstr:#"..response.."# len="..responselen) 101 print(FIFOHexDump(out)) 102 print("###############################") 103 90 104 out:SendPacket() 105 print("Send_String_Query_Response",hex(id),hex(mytype),hex(myidx)) 91 106 -- doesn't seemt to work yet =( 92 107 end … … 116 131 117 132 data.datalenleft = size-1-2-4-1-1-2-data.textlen-1-1-4-1 133 if (data.datalenleft > 0) then data.text2head = input:PopNetUint8() data.datalenleft = data.datalenleft - 1 end 118 134 data.text2 = (data.datalenleft > 0) and input:PopFilledString(data.datalenleft) or "" 119 135 HandleStringQuery(data)
