· 6 years ago · Dec 13, 2019, 03:28 PM
1Creating script environments for _cfx_internal
2Found new resource 3dme in C:/Users\Administrator\Desktop\FivemServer/resources//3dme
3Found new resource banking in C:/Users\Administrator\Desktop\FivemServer/resources//banking
4Found new resource biler in C:/Users\Administrator\Desktop\FivemServer/resources//biler
5Found new resource clothing in C:/Users\Administrator\Desktop\FivemServer/resources//clothing
6Found new resource cruisecontrole in C:/Users\Administrator\Desktop\FivemServer/resources//cruisecontrole
7Found new resource custom in C:/Users\Administrator\Desktop\FivemServer/resources//custom
8Found new resource discord in C:/Users\Administrator\Desktop\FivemServer/resources//discord
9Found new resource discord1 in C:/Users\Administrator\Desktop\FivemServer/resources//discord1
10Found new resource dn_anticheat in C:/Users\Administrator\Desktop\FivemServer/resources//dn_anticheat
11Found new resource els-fivem in C:/Users\Administrator\Desktop\FivemServer/resources//els-fivem
12Found new resource eup-stream in C:/Users\Administrator\Desktop\FivemServer/resources//eup-stream
13Found new resource eup-ui in C:/Users\Administrator\Desktop\FivemServer/resources//eup-ui
14Found new resource fivem in C:/Users\Administrator\Desktop\FivemServer/resources//fivem
15Found new resource fivem-awesome1501 in C:/Users\Administrator\Desktop\FivemServer/resources//fivem-awesome1501
16Found new resource fivem-map-hipster in C:/Users\Administrator\Desktop\FivemServer/resources//fivem-map-hipster
17Found new resource fivem-map-skater in C:/Users\Administrator\Desktop\FivemServer/resources//fivem-map-skater
18Found new resource gcphone in C:/Users\Administrator\Desktop\FivemServer/resources//gcphone
19Found new resource handlinger in C:/Users\Administrator\Desktop\FivemServer/resources//handlinger
20Found new resource Healthbar in C:/Users\Administrator\Desktop\FivemServer/resources//Healthbar
21Found new resource InteractSound in C:/Users\Administrator\Desktop\FivemServer/resources//InteractSound
22Found new resource kneel in C:/Users\Administrator\Desktop\FivemServer/resources//kneel
23Found new resource KoretojMenu in C:/Users\Administrator\Desktop\FivemServer/resources//KoretojMenu
24Found new resource loadingscreen in C:/Users\Administrator\Desktop\FivemServer/resources//loadingscreen
25Found new resource map in C:/Users\Administrator\Desktop\FivemServer/resources//map
26Found new resource modelblacklist in C:/Users\Administrator\Desktop\FivemServer/resources//modelblacklist
27Found new resource mysql-async in C:/Users\Administrator\Desktop\FivemServer/resources//mysql-async
28Found new resource NativeUI in C:/Users\Administrator\Desktop\FivemServer/resources//NativeUI
29Found new resource npc_control in C:/Users\Administrator\Desktop\FivemServer/resources//npc_control
30Found new resource on_guns in C:/Users\Administrator\Desktop\FivemServer/resources//on_guns
31Found new resource on_sound in C:/Users\Administrator\Desktop\FivemServer/resources//on_sound
32Found new resource pNotify in C:/Users\Administrator\Desktop\FivemServer/resources//pNotify
33Found new resource PTTPoliceRadio in C:/Users\Administrator\Desktop\FivemServer/resources//PTTPoliceRadio
34Found new resource radio in C:/Users\Administrator\Desktop\FivemServer/resources//radio
35Found new resource RealisticVehicleFailure in C:/Users\Administrator\Desktop\FivemServer/resources//RealisticVehicleFailure
36Found new resource RichPresence in C:/Users\Administrator\Desktop\FivemServer/resources//RichPresence
37Found new resource roblox in C:/Users\Administrator\Desktop\FivemServer/resources//roblox
38Found new resource runcode in C:/Users\Administrator\Desktop\FivemServer/resources//runcode
39Found new resource seatshuffle in C:/Users\Administrator\Desktop\FivemServer/resources//seatshuffle
40Found new resource SemArmasReward in C:/Users\Administrator\Desktop\FivemServer/resources//SemArmasReward
41Found new resource serverlog in C:/Users\Administrator\Desktop\FivemServer/resources//serverlog
42Found new resource serverstatus in C:/Users\Administrator\Desktop\FivemServer/resources//serverstatus
43Found new resource serv_electricscooter in C:/Users\Administrator\Desktop\FivemServer/resources//serv_electricscooter
44Found new resource Simpleannouncements in C:/Users\Administrator\Desktop\FivemServer/resources//Simpleannouncements
45Found new resource sn-revive in C:/Users\Administrator\Desktop\FivemServer/resources//sn-revive
46Found new resource sn_playerlist in C:/Users\Administrator\Desktop\FivemServer/resources//sn_playerlist
47Found new resource TagGidsel in C:/Users\Administrator\Desktop\FivemServer/resources//TagGidsel
48Found new resource textures in C:/Users\Administrator\Desktop\FivemServer/resources//textures
49Found new resource timeanddate in C:/Users\Administrator\Desktop\FivemServer/resources//timeanddate
50Found new resource uniform in C:/Users\Administrator\Desktop\FivemServer/resources//uniform
51Found new resource VK_interiors in C:/Users\Administrator\Desktop\FivemServer/resources//VK_interiors
52Found new resource vrp_dmvschool in C:/Users\Administrator\Desktop\FivemServer/resources//vrp_dmvschool
53Found new resource weapons-on-back in C:/Users\Administrator\Desktop\FivemServer/resources//weapons-on-back
54Found new resource wraith_alpr in C:/Users\Administrator\Desktop\FivemServer/resources//wraith_alpr
55Found new resource ymap in C:/Users\Administrator\Desktop\FivemServer/resources//ymap
56Found new resource monitor in C:\Users\Administrator\Desktop\FivemServer\\citizen\/system_resources//monitor
57Found new resource webadmin in C:\Users\Administrator\Desktop\FivemServer\\citizen\/system_resources//webadmin
58Found new resource 350z in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/350z
59Found new resource c63coupe in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/c63coupe
60Found new resource dan3 in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/dan3
61Found new resource e63b in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/e63b
62Found new resource gtrc in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/gtrc
63Found new resource i8 in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/i8
64Found new resource lhuracan in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/lhuracan
65Found new resource RS6 in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/RS6
66Found new resource supra2 in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/supra2
67Found new resource Teslamodelx in C:/Users\Administrator\Desktop\FivemServer/resources//[ADDONS]/Teslamodelx
68Found new resource channelfeed in C:/Users\Administrator\Desktop\FivemServer/resources//[gameplay]/channelfeed
69Found new resource irc in C:/Users\Administrator\Desktop\FivemServer/resources//[gameplay]/irc
70Found new resource obituary in C:/Users\Administrator\Desktop\FivemServer/resources//[gameplay]/obituary
71Found new resource obituary-deaths in C:/Users\Administrator\Desktop\FivemServer/resources//[gameplay]/obituary-deaths
72Found new resource playernames in C:/Users\Administrator\Desktop\FivemServer/resources//[gameplay]/playernames
73Found new resource mapmanager in C:/Users\Administrator\Desktop\FivemServer/resources//[managers]/mapmanager
74Found new resource baseevents in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/baseevents
75Found new resource chat in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/chat
76Found new resource hardcap in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/hardcap
77Found new resource rconlog in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/rconlog
78Found new resource scoreboard in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/scoreboard
79Found new resource sessionmanager in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/sessionmanager
80Found new resource spawnmanager in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/spawnmanager
81Found new resource betaguns in C:/Users\Administrator\Desktop\FivemServer/resources//[test]/betaguns
82Found new resource gameInit in C:/Users\Administrator\Desktop\FivemServer/resources//[test]/gameInit
83Found new resource keks in C:/Users\Administrator\Desktop\FivemServer/resources//[test]/keks
84Found new resource vrp in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp
85Found new resource vRP_AdvancedFuel in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vRP_AdvancedFuel
86Found new resource vrp_armorshop in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_armorshop
87Found new resource vrp_attitudes in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_attitudes
88Found new resource vrp_bank in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_bank
89Found new resource vrp_barbershop in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_barbershop
90Found new resource vrp_barrier in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_barrier
91Found new resource vrp_basic_menu in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_basic_menu
92Found new resource vrp_basic_mission in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_basic_mission
93Found new resource vrp_carwash in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_carwash
94Found new resource vrp_detector in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_detector
95Found new resource vRP_doorsControl-master in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vRP_doorsControl-master
96Found new resource vrp_drugfarms in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_drugfarms
97Found new resource vrp_drugs in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_drugs
98Found new resource vrp_garages in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_garages
99Found new resource vrp_holdup in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_holdup
100Found new resource vrp_id_display in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_id_display
101Found new resource vrp_itemdrop in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_itemdrop
102Found new resource vrp_loadfreeze in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_loadfreeze
103Found new resource vrp_lscustoms in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_lscustoms
104Found new resource vrp_mysql in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_mysql
105Found new resource vrp_panikknap in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_panikknap
106Found new resource vrp_paycheck in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_paycheck
107Found new resource vrp_scoreboard in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_scoreboard
108Found new resource vrp_seatbelt in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_seatbelt
109Found new resource vrp_showroom in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_showroom
110Found new resource vrp_tattoos in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_tattoos
111Found new resource vrp_towtruck in C:/Users\Administrator\Desktop\FivemServer/resources//[vrp]/vrp_towtruck
112Found new resource yarn in C:/Users\Administrator\Desktop\FivemServer/resources//[system]/[builders]/yarn
113Creating script environments for sessionmanager
114Started resource sessionmanager
115Creating script environments for webadmin
116network thread hitch warning: timer interval of 156 milliseconds
117Instantiated instance of script FxWebAdmin.BaseServer.
118Instantiated instance of script FxWebAdmin.HttpServer+HttpServerScript.
119Started resource webadmin
120Creating script environments for monitor
121Symbol file LoadedFromMemory is not a mono symbol file
122Instantiated instance of script FxMonitor.MonitorInit.
123Started resource monitor
124Creating script environments for mapmanager
125Started resource mapmanager
126Creating script environments for vrp_mysql
127network thread hitch warning: timer interval of 154 milliseconds
128[vRP/C#] Load MySQL app.
129network thread hitch warning: timer interval of 265 milliseconds
130Instantiated instance of script vRP.MySQL.
131Started resource vrp_mysql
132Creating script environments for vrp
133[vRP] launch version 1498403827
134[vRP] init base tables
135Error loading script modules/basic_phone.lua in resource vrp: @vrp/lib/utils.lua:13: bad argument #1 to 'load' (function expected, got nil)
136stack traceback:
137 [C]: in function 'load'
138 @vrp/lib/utils.lua:13: in function 'module'
139 @vrp/modules/basic_phone.lua:5: in main chunk
140Failed to load script modules/basic_phone.lua.
141Started resource vrp
142Creating script environments for chat
143Started resource chat
144Started resource spawnmanager
145Stopping resource sessionmanager
146Creating script environments for sessionmanager
147Started resource sessionmanager
148Started gametype Snap-Network
149Started resource fivem
150Creating script environments for hardcap
151Started resource hardcap
152Creating script environments for rconlog
153Started resource rconlog
154Started resource NativeUI
155Started resource eup-stream
156Started resource eup-ui
157Creating script environments for vrp_itemdrop
158Started resource vrp_itemdrop
159Creating script environments for mysql-async
160Started resource mysql-async
161Started resource RichPresence
162Creating script environments for Healthbar
163Started resource Healthbar
164Creating script environments for discord1
165Error parsing script @discord1/server.lua in resource discord1: @discord1/server.lua:2: unfinished string near '"> Her kan du ans├©ge om! @here '
166Failed to load script server.lua.
167Started resource discord1
168Creating script environments for TagGidsel
169Started resource TagGidsel
170Started resource radio
171Started resource RS6
172Started resource supra2
173Creating script environments for gcphone
174Started resource gcphone
175Started resource Teslamodelx
176Started resource gtrc
177Started resource c63coupe
178Started resource loadingscreen
179Started resource i8
180Couldn't find resource 918.
181Started resource lhuracan
182Creating script environments for e63b
183Started resource e63b
184Couldn't find resource brabus850.
185Started resource map
186Creating script environments for sn-revive
187Started resource sn-revive
188Couldn't find resource iplLoader.
189Couldn't find resource sn-hospital.
190Couldn't find resource origen.sql.
191Couldn't find resource danskbank.
192Creating script environments for vrp_detector
193Started resource vrp_detector
194Creating script environments for serverstatus
195Started resource serverstatus
196Couldn't find resource vehicle-push.
197Couldn't find resource vrp_foto.
198Couldn't find resource sn_carplacer.
199Couldn't find resource vrp_strips.
200Couldn't find resource opendoor.
201Couldn't find resource vrp_unlockhandcuffs.
202Couldn't find resource ConnectQ.
203Couldn't find resource groovehus.
204Creating script environments for 3dme
205Started resource 3dme
206Started resource SemArmasReward
207Couldn't find resource mythic_notify.
208Couldn't find resource beds.
209Started resource weapons-on-back
210Started resource on_guns
211Started resource on_sound
212Creating script environments for banking
213Started resource banking
214Started resource cruisecontrole
215Creating script environments for els-fivem
216Done with vehicle: AMBULANCE
217Done with vehicle: FBI
218Done with vehicle: FBI2
219Done with vehicle: mercedesems
220Done with vehicle: POLICE
221Done with vehicle: POLICE2
222Done with vehicle: POLICE3
223Done with vehicle: POLICE4
224Done with vehicle: POLICEB
225Done with vehicle: POLICEOLD2
226Done with vehicle: SHERIFF
227Done with vehicle: SHERIFF2
228Done with vehicle: vwems
229Done with pattern: WIGWAG
230Done with pattern: WIGWAG3
231Done with pattern: FAST
232Done with pattern: COMPLEX
233Done with pattern: BACKFOURTH
234Done with pattern: BACKFOURTH2
235Done with pattern: T_ADVIS_RIGHT_LEFT
236Done with pattern: T_ADVIS_LEFT_RIGHT
237Done with pattern: T_ADVIS_BACKFOURTH
238Done with pattern: WIGWAG5
239Started resource els-fivem
240Creating script environments for kneel
241Started resource kneel
242Creating script environments for roblox
243Started resource roblox
244Creating script environments for clothing
245Started resource clothing
246Started resource biler
247Started resource textures
248Creating script environments for InteractSound
249Started resource InteractSound
250Creating script environments for vrp_seatbelt
251Started resource vrp_seatbelt
252Started resource wraith_alpr
253Started resource KoretojMenu
254Started resource uniform
255Couldn't find resource sn_loadingscreen.
256Creating script environments for handlinger
257Started resource handlinger
258Started resource modelblacklist
259Started resource pNotify
260Started resource PTTPoliceRadio
261Creating script environments for RealisticVehicleFailure
262Started resource RealisticVehicleFailure
263Started resource seatshuffle
264Creating script environments for timeanddate
265Started resource timeanddate
266Started resource VK_interiors
267Started resource ymap
268Creating script environments for vrp_armorshop
269Started resource vrp_armorshop
270Creating script environments for vRP_AdvancedFuel
271launched
272Started resource vRP_AdvancedFuel
273Creating script environments for vrp_attitudes
274Started resource vrp_attitudes
275Creating script environments for vrp_bank
276Started resource vrp_bank
277Creating script environments for vrp_barbershop
278Started resource vrp_barbershop
279Creating script environments for vrp_basic_menu
280Started resource vrp_basic_menu
281Creating script environments for vrp_basic_mission
282Started resource vrp_basic_mission
283Creating script environments for vrp_carwash
284Started resource vrp_carwash
285Creating script environments for vRP_doorsControl-master
286Started resource vRP_doorsControl-master
287Creating script environments for vrp_drugfarms
288Started resource vrp_drugfarms
289Creating script environments for vrp_drugs
290Started resource vrp_drugs
291Creating script environments for vrp_garages
292Started resource vrp_garages
293Creating script environments for vrp_holdup
294Started resource vrp_holdup
295Creating script environments for vrp_lscustoms
296Started resource vrp_lscustoms
297Creating script environments for vrp_id_display
298[vRP] error parsing module vrp_id_display/cfg/blips:[string "--[[..."]:26: '}' expected (to close '{' at line 22) near '"Politielev"'
299Started resource vrp_id_display
300Creating script environments for vrp_paycheck
301Started resource vrp_paycheck
302Creating script environments for vrp_scoreboard
303Started resource vrp_scoreboard
304Creating script environments for vrp_showroom
305Started resource vrp_showroom
306Creating script environments for vrp_tattoos
307Started resource vrp_tattoos
308Creating script environments for vrp_loadfreeze
309Started resource vrp_loadfreeze
310Creating script environments for vrp_towtruck
311Started resource vrp_towtruck
312Creating script environments for custom
313Started resource custom
314Creating script environments for vrp_barrier
315Started resource vrp_barrier
316Started resource 350z
317Couldn't find resource impaler7.
318Started resource dan3
319Started resource serv_electricscooter
320No such command vrp_panikknap.
321Could not open logo.png for reading.
322Authenticating server license key...
323Server license key authentication succeeded. Welcome!
324cfx> Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
325network thread hitch warning: timer interval of 249 milliseconds
326Started map fivem-map-hipster
327Started resource fivem-map-hipster
328Authenticating with Nucleus...
329server thread hitch warning: timer interval of 6535 milliseconds
330
331---------- ELS (master Build) by MrDaGree ----------
332 Current Version: 1.1.3a
333SCRIPT ERROR: @els-fivem/server/server.lua:13: attempt to concatenate a nil value (upvalue 'NewestVersion')
334 fff
335 cccc ff xx xx rr rr eee
336cc ffff xx rrr r ee e
337cc ff xx ... rr eeeee
338 ccccc ff xx xx ... rr eeeee
339
340Authenticated with cfx.re Nucleus: https://lucaaagrav-dgde85.cfx.re/
341server thread hitch warning: timer interval of 168 milliseconds
342server thread hitch warning: timer interval of 275 milliseconds
343laagr forbinder til serveren
344Connecting: laagr
345[vRP] laagr (94.145.200.43) joined (user_id = 1)
346server thread hitch warning: timer interval of 1523 milliseconds
347Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
348server thread hitch warning: timer interval of 261 milliseconds
349Malthe Schack forbinder til serveren
350Connecting: Malthe Schack
351[vRP] Malthe Schack (178.157.248.106) joined (user_id = 4)
352Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
353Sending player (1) ELS data
354InvokeNative: execution failed: Argument at index 1 was null.
355SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
356> handler (@rconlog/rconlog_server.lua:12)
357INFO: User [1] laagr authenticated - [1] [1] laagr@94.145.200.43:56099:56099
358nil
359SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
360EWJgamer forbinder til serveren
361Connecting: EWJgamer
362[vRP] EWJgamer (185.107.171.50) joined (user_id = 26)
363SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
364> fn (@vrp/base.lua:467)
365error: proxy call vRP:getPhoneDirectory not found
366SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
367> finish (@vrp/lib/utils.lua:43)
368> task (@vrp/lib/utils.lua:47)
369> cb (@vrp/modules/identity.lua:42)
370> handler (- begin MySQL module
371local MySQL = {}
372
373MySQL.debug = false
374local dpaths = {}
375
376local tasks = {}
377
378--[[
379local function tick()
380 SetTimeout(1, function() -- protect errors from breaking the loop
381 SetTimeout(1000, tick)
382
383 local rmtasks = {}
384 for id,cb in pairs(tasks) do
385 local r = exports.vrp_mysql:checkTask(id)
386 if r.status == 1 then
387 cb(r.rows,r.affected) -- rows, affected
388 table.insert(rmtasks, id)
389 elseif r.status == -1 then
390 print("[vRP] task "..id.." failed.")
391 table.insert(rmtasks, id)
392 end
393 end
394
395 -- remove done tasks
396 for k,v in pairs(rmtasks) do
397 tasks[v] = nil
398 end
399 end)
400end
401tick()
402--]]
403
404AddEventHandler("vRP:MySQL_task", function(task_id, data)
405-- print("vRP:MySQL_task "..task_id)
406 local cb = tasks[task_id]
407 if data.status == 1 then
408 if cb then
409 if data.mode == 0 then
410 cb(data.affected or 0)
411 elseif data.mode == 1 then
412 cb(data.scalar or 0)
413 elseif data.mode == 2 then
414 cb(data.rows or {}, data.affected or 0) -- rows, affected
415 end
416 end
417 elseif data.status == -1 then
418 print("[vRP] task "..task_id.." failed.")
419 end
420
421 tasks[task_id] = nil
422
423 if MySQL.debug and dpaths[task_id] then
424 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
425 dpaths[task_id] = nil
426 end
427end)
428
429local task_id = -1
430AddEventHandler("vRP:MySQL_taskid", function(_task_id)
431-- print("vRP:MySQL_taskid ".._task_id)
432 task_id = _task_id
433end)
434
435-- host can be "host" or "host:port"
436function MySQL.createConnection(name,host,user,password,db,debug)
437-- print("[vRP] try to create connection "..name)
438 -- parse port in host as "ip:port"
439 local host_parts = splitString(host,":")
440 if #host_parts >= 2 then
441 host = host_parts[1]..";port="..host_parts[2]
442 end
443
444 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
445
446-- TriggerEvent("vRP:MySQL:createConnection", name, config)
447 exports.vrp_mysql:createConnection(name, config)
448end
449
450function MySQL.createCommand(path, query)
451-- print("[vRP] try to create command "..path)
452-- TriggerEvent("vRP:MySQL:createCommand", path, query)
453 exports.vrp_mysql:createCommand(path, query)
454end
455
456-- generic query
457function MySQL._query(path, args, mode, cb)
458 -- TriggerEvent("vRP:MySQL:query", path, args)
459 if not (type(args) == "table") then
460 args = {}
461 end
462
463 -- force args to be a C# dictionary
464 args._none = " "
465
466-- exports.vrp_mysql:query(path, args)
467-- print("[vRP] try to query "..path.." id "..task_id)
468 TriggerEvent("vRP:MySQL_query", path, args, mode)
469 if MySQL.debug then
470 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
471 dpaths[task_id] = path
472 end
473
474 tasks[task_id] = cb
475end
476
477-- do a query (multiple rows)
478--- cb(rows, affected)
479function MySQL.query(path, args, cb)
480 MySQL._query(path, args, 2, cb)
481end
482
483-- do a scalar query (one row, one column)
484--- cb(scalar)
485function MySQL.scalar(path, args, cb)
486 MySQL._query(path, args, 1, cb)
487end
488
489-- do a execute query (no results)
490--- cb(affected)
491function MySQL.execute(path, args, cb)
492 MySQL._query(path, args, 0, cb)
493end
494
495-- return module
496return MySQL
497:45)
498> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
499> fn (@vrp_mysql/init.lua:3)
500server thread hitch warning: timer interval of 733 milliseconds
501SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
502> ref (@vrp_scoreboard/server.lua:45)
503> finish (@vrp/lib/utils.lua:43)
504> task (@vrp/lib/utils.lua:47)
505> cb (@vrp/modules/identity.lua:42)
506> handler (- begin MySQL module
507local MySQL = {}
508
509MySQL.debug = false
510local dpaths = {}
511
512local tasks = {}
513
514--[[
515local function tick()
516 SetTimeout(1, function() -- protect errors from breaking the loop
517 SetTimeout(1000, tick)
518
519 local rmtasks = {}
520 for id,cb in pairs(tasks) do
521 local r = exports.vrp_mysql:checkTask(id)
522 if r.status == 1 then
523 cb(r.rows,r.affected) -- rows, affected
524 table.insert(rmtasks, id)
525 elseif r.status == -1 then
526 print("[vRP] task "..id.." failed.")
527 table.insert(rmtasks, id)
528 end
529 end
530
531 -- remove done tasks
532 for k,v in pairs(rmtasks) do
533 tasks[v] = nil
534 end
535 end)
536end
537tick()
538--]]
539
540AddEventHandler("vRP:MySQL_task", function(task_id, data)
541-- print("vRP:MySQL_task "..task_id)
542 local cb = tasks[task_id]
543 if data.status == 1 then
544 if cb then
545 if data.mode == 0 then
546 cb(data.affected or 0)
547 elseif data.mode == 1 then
548 cb(data.scalar or 0)
549 elseif data.mode == 2 then
550 cb(data.rows or {}, data.affected or 0) -- rows, affected
551 end
552 end
553 elseif data.status == -1 then
554 print("[vRP] task "..task_id.." failed.")
555 end
556
557 tasks[task_id] = nil
558
559 if MySQL.debug and dpaths[task_id] then
560 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
561 dpaths[task_id] = nil
562 end
563end)
564
565local task_id = -1
566AddEventHandler("vRP:MySQL_taskid", function(_task_id)
567-- print("vRP:MySQL_taskid ".._task_id)
568 task_id = _task_id
569end)
570
571-- host can be "host" or "host:port"
572function MySQL.createConnection(name,host,user,password,db,debug)
573-- print("[vRP] try to create connection "..name)
574 -- parse port in host as "ip:port"
575 local host_parts = splitString(host,":")
576 if #host_parts >= 2 then
577 host = host_parts[1]..";port="..host_parts[2]
578 end
579
580 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
581
582-- TriggerEvent("vRP:MySQL:createConnection", name, config)
583 exports.vrp_mysql:createConnection(name, config)
584end
585
586function MySQL.createCommand(path, query)
587-- print("[vRP] try to create command "..path)
588-- TriggerEvent("vRP:MySQL:createCommand", path, query)
589 exports.vrp_mysql:createCommand(path, query)
590end
591
592-- generic query
593function MySQL._query(path, args, mode, cb)
594 -- TriggerEvent("vRP:MySQL:query", path, args)
595 if not (type(args) == "table") then
596 args = {}
597 end
598
599 -- force args to be a C# dictionary
600 args._none = " "
601
602-- exports.vrp_mysql:query(path, args)
603-- print("[vRP] try to query "..path.." id "..task_id)
604 TriggerEvent("vRP:MySQL_query", path, args, mode)
605 if MySQL.debug then
606 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
607 dpaths[task_id] = path
608 end
609
610 tasks[task_id] = cb
611end
612
613-- do a query (multiple rows)
614--- cb(rows, affected)
615function MySQL.query(path, args, cb)
616 MySQL._query(path, args, 2, cb)
617end
618
619-- do a scalar query (one row, one column)
620--- cb(scalar)
621function MySQL.scalar(path, args, cb)
622 MySQL._query(path, args, 1, cb)
623end
624
625-- do a execute query (no results)
626--- cb(affected)
627function MySQL.execute(path, args, cb)
628 MySQL._query(path, args, 0, cb)
629end
630
631-- return module
632return MySQL
633:45)
634> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
635> fn (@vrp_mysql/init.lua:3)
636Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
637Sending player (2) ELS data
638InvokeNative: execution failed: Argument at index 1 was null.
639SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
640> handler (@rconlog/rconlog_server.lua:12)
641INFO: User [2] Malthe Schack authenticated - [2] [2] Malthe Schack@178.157.248.106:21789:21789
642nil
643SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
644SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
645> fn (@vrp/base.lua:467)
646error: proxy call vRP:getPhoneDirectory not found
647SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
648> finish (@vrp/lib/utils.lua:43)
649> task (@vrp/lib/utils.lua:47)
650> cb (@vrp/modules/identity.lua:42)
651> handler (- begin MySQL module
652local MySQL = {}
653
654MySQL.debug = false
655local dpaths = {}
656
657local tasks = {}
658
659--[[ say
660local function tick()
661 SetTimeout(1, function() -- protect errors from breaking the loop
662 SetTimeout(1000, tick)
663
664 local rmtasks = {}
665 for id,cb in pairs(tasks) do
666 local r = exports.vrp_mysql:checkTask(id)
667 if r.status == 1 then
668 cb(r.rows,r.affected) -- rows, affected
669 table.insert(rmtasks, id)
670 elseif r.status == -1 then
671 print("[vRP] task "..id.." failed.")
672 table.insert(rmtasks, id)
673 end
674 end
675
676 -- remove done tasks
677 for k,v in pairs(rmtasks) do
678 tasks[v] = nil
679 end
680 start
681end
682tick()
683--]]
684
685AddEventHandler("vRP:MySQL_task", function(task_id, data)
686-- print("vRP:MySQL_task "..task_id)
687 local cb = tasks[task_id]
688 if data.status == 1 then
689 if cb then
690 if data.mode == 0 then
691 cb(data.affected or 0)
692 elseif data.mode == 1 then
693 cb(data.scalar or 0)
694 elseif data.mode == 2 then
695 cb(data.rows or {}, data.affected or 0) -- rows, affected
696 end
697
698 elseif data.status == -1 then
699 print("[vRP] task "..task_id.." failed.")
700 end
701
702 tasks[task_id] = nil
703
704 if MySQL.debug and dpaths[task_id] then
705 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
706 dpaths[task_id] = nil
707 end
708end)
709
710local task_id = -1
711AddEventHandler("vRP:MySQL_taskid", function(_task_id)
712-- print("vRP:MySQL_taskid ".._task_id)
713 task_id = _task_id
714end)
715
716-- host can be "host" or "host:port"
717function MySQL.createConnection(name,host,user,password,db,debug)
718-- print("[vRP] try to create connection "..name)
719 -- parse port in host as "ip:port"
720 local host_parts = splitString(host,":")
721 if #host_parts >= 2 then
722 host = host_parts[1]..";port="..host_parts[2]
723 end
724
725 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
726
727-- TriggerEvent("vRP:MySQL:createConnection", name, config)
728 exports.vrp_mysql:createConnection(name, config)
729end
730
731function MySQL.createCommand(path, query)
732-- print("[vRP] try to create command "..path)
733-- TriggerEvent("vRP:MySQL:createCommand", path, query)
734 exports.vrp_mysql:createCommand(path, query)
735end
736
737-- generic query
738function MySQL._query(path, args, mode, cb)
739 -- TriggerEvent("vRP:MySQL:query", path, args)
740 if not (type(args) == "table") then
741 args = {}
742 end
743
744 -- force args to be a C# dictionary
745 args._none = " "
746
747-- exports.vrp_mysql:query(path, args)
748-- print("[vRP] try to query "..path.." id "..task_id)
749 TriggerEvent("vRP:MySQL_query", path, args, mode)
750 if MySQL.debug then
751 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
752 dpaths[task_id] = path
753 end
754
755 tasks[task_id] = cb
756end
757
758-- do a query (multiple rows)
759--- cb(rows, affected)
760function MySQL.query(path, args, cb)
761 MySQL._query(path, args, 2, cb)
762end
763
764-- do a scalar query (one row, one column)
765--- cb(scalar)
766function MySQL.scalar(path, args, cb)
767 MySQL._query(path, args, 1, cb)
768end
769
770-- do a execute query (no results)
771--- cb(affected)
772function MySQL.execute(path, args, cb)
773 MySQL._query(path, args, 0, cb)
774end
775
776-- return module
777return MySQL
778:45)
779> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
780> fn (@vrp_mysql/init.lua:3)
781server thread hitch warning: timer interval of 245 milliseconds
782server thread hitch warning: timer interval of 243 milliseconds
783server thread hitch warning: timer interval of 208 milliseconds
784server thread hitch warning: timer interval of 198 milliseconds
785Sending player (3) ELS data
786InvokeNative: execution failed: Argument at index 1 was null.
787SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
788> handler (@rconlog/rconlog_server.lua:12)
789INFO: User [3] EWJgamer authenticated - [3] [3] EWJgamer@185.107.171.50:57522:57522
790nil
791SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
792SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
793> fn (@vrp/base.lua:467)
794error: proxy call vRP:getPhoneDirectory not found
795SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
796> finish (@vrp/lib/utils.lua:43)
797> task (@vrp/lib/utils.lua:47)
798> cb (@vrp/modules/identity.lua:42)
799> handler (- begin MySQL module
800local MySQL = {}
801
802MySQL.debug = false
803local dpaths = {}
804
805local tasks = {}
806
807--[[
808local function tick()
809 SetTimeout(1, function() -- protect errors from breaking the loop
810 SetTimeout(1000, tick)
811
812 local rmtasks = {}
813 for id,cb in pairs(tasks) do
814 local r = exports.vrp_mysql:checkTask(id)
815 if r.status == 1 then
816 cb(r.rows,r.affected) -- rows, affected
817 table.insert(rmtasks, id)
818 elseif r.status == -1 then
819 print("[vRP] task "..id.." failed.")
820 table.insert(rmtasks, id)
821 end
822 end
823
824 -- remove done tasks
825 for k,v in pairs(rmtasks) do
826 tasks[v] = nil
827 end
828 end)
829e
830tick()
831--]]
832
833AddEventHandler("vRP:MySQL_task", function(task_id, data)
834-- print("vRP:MySQL_task "..task_id)
835 local cb = tasks[task_id]
836 if data.status == 1 then
837 if cb then
838 if data.mode == 0 then
839 cb(data.affected or 0)
840 elseif data.mode == 1 then
841 cb(data.scalar or 0)
842 elseif data.mode == 2 then
843 cb(data.rows or {}, data.affected or 0) -- rows, affected
844 end
845 end
846 elseif data.status == -1 then
847 print("[vRP] task "..task_id.." failed.")
848 end
849
850 tasks[task_id] = nil
851
852 if MySQL.debug and dpaths[task_id] then
853 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
854 dpaths[task_id] = nil
855 end
856end)
857
858local task_id = -1
859AddEventHandler("vRP:MySQL_taskid", function(_task_id)
860-- print("vRP:MySQL_taskid ".._task_id)
861 task_id = _task_id
862end)
863
864-- host can be "host" or "host:port"
865function MySQL.createConnection(name,host,user,password,db,debug)
866-- print("[vRP] try to create connection "..name)
867 -- parse port in host as "ip:port"
868 local host_parts = splitString(host,":")
869 if #host_parts >= 2 then
870 host = host_parts[1]..";port="..host_parts[2]
871 end
872
873 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
874
875-- TriggerEvent("vRP:MySQL:createConnection", name, config)
876 exports.vrp_mysql:createConnection(name, config)
877end
878
879function MySQL.createCommand(path, query)
880-- print("[vRP] try to create command "..path)
881-- TriggerEvent("vRP:MySQL:createCommand", path, query)
882 exports.vrp_mysql:createCommand(path, query)
883end
884
885-- generic query
886function MySQL._query(path, args, mode, cb)
887 -- TriggerEvent("vRP:MySQL:query", path, args)
888 if not (type(args) == "table") then
889 args = {}
890 end
891
892 -- force args to be a C# dictionary
893 args._none = " "
894
895-- exports.vrp_mysql:query(path, args)
896-- print("[vRP] try to query "..path.." id "..task_id)
897 TriggerEvent("vRP:MySQL_query", path, args, mode)
898 if MySQL.debug then
899 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
900 dpaths[task_id] = path
901 end
902
903 tasks[task_id] = cb
904end
905
906-- do a query (multiple rows)
907--- cb(rows, affected)
908function MySQL.query(path, args, cb)
909 MySQL._query(path, args, 2, cb)
910end
911
912-- do a scalar query (one row, one column)
913--- cb(scalar)
914function MySQL.scalar(path, args, cb)
915 MySQL._query(path, args, 1, cb)
916end
917
918-- do a execute query (no results)
919--- cb(affected)
920function MySQL.execute(path, args, cb)
921 MySQL._query(path, args, 0, cb)
922end
923
924-- return module
925return MySQL
926:45)
927> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
928> fn (@vrp_mysql/init.lua:3)
929server thread hitch warning: timer interval of 217 milliseconds
930SCRIPT ERROR: @clothing/server.lua:39: attempt to index a nil value (global 'models')
931laagr forlod serveren (Disconnected.)
932[vRP] 94.145.200.43 disconnected (user_id = 1)
933Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
934���������������������Emil��� forbinder til serveren
935Connecting: ���������������������Emil���
936[vRP] ���������������������Emil��� (2.104.68.75) joined (user_id = 28)
937Malthe forbinder til serveren
938Connecting: Malthe
939[vRP] Malthe (2.108.43.205) joined (user_id = 29)
940elmve forbinder til serveren
941Connecting: elmve
942[vRP] elmve (212.112.155.197) joined (user_id = 30)
943Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
944Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
945SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
946> addUserGroup (@vrp/modules/group.lua:61)
947> cb (@vrp/modules/group.lua:227)
948> f (@vrp/modules/gui.lua:182)
949> handler (
950local Tools = module("lib/Tools")
951local Debug = module("lib/Debug")
952
953-- this file describe a two way proxy between the server and the clients (request system)
954
955local Tunnel = {}
956
957-- define per dest regulator
958Tunnel.delays = {}
959
960-- set the base delay between Triggers for this destination in milliseconds (0 for instant trigger)
961function Tunnel.setDestDelay(dest, delay)
962 Tunnel.delays[dest] = {delay, 0}
963end
964
965local function tunnel_resolve(itable,key)
966 local mtable = getmetatable(itable)
967 local iname = mtable.name
968 local ids = mtable.tunnel_ids
969 local callbacks = mtable.tunnel_callbacks
970 local identifier = mtable.identifier
971
972 -- generate access function
973 local fcall = function(dest,args,callback)
974 if args == nil then
975 args = {}
976 end
977
978 -- get delay data
979 le
980 if delay_data == nil then
981 delay_data = {0,0}
982 end
983
984 -- increase delay
985 local add_delay = delay_data[1]
986 delay_data[2] = delay_data[2]+add_delay
987
988 if delay_data[2] > 0 then -- delay trigger
989 SetTimeout(delay_data[2], function()
990 -- remove added delay
991 delay_data[2] = delay_data[2]-add_delay
992
993 -- send request
994 if type(callback) == "function" then -- ref callback if exists (become a request)
995 local rid = ids:gen()
996 callbacks[rid] = callback
997 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
998 else -- regular trigger
999 stargs,"",-1)
1000 end
1001 end)
1002 else -- no delay
1003 -- send request
1004 if type(callback) == "function" then -- ref callback if exists (become a request)
1005 local rid = ids:gen()
1006 callbacks[rid] = callback
1007 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
1008 else -- regular trigger
1009
1010 end
1011 end
1012 end
1013
1014 itable[key] = fcall -- add generated call to table (optimization)
1015 return fcall
1016end
1017
1018-- bind an interface (listen to net requests)
1019-- name: interface name
1020-- interface: table containing functions
1021f
1022 -- receive request
1023 RegisterServerEvent(name..":tunnel_req")
1024 AddEventHandler(name..":tunnel_req",function(member,args,identifier,rid)
1025 local source = source
1026 local delayed = false
1027
1028 if Debug.active then
1029 Debug.pbegin("tunnelreq#"..rid.."_"..name..":"..member.." "..json.encode(Debug.safeTableCopy(args)))
1030 end
1031
1032 local f = interface[member]
1033
1034 local rets = {}
1035 if type(f) == "function" then
1036 -- bind the global function to delay the return values using the returned function with args
1037 TUNNEL_DELAYED = function()
1038 delayed = true
1039 return function(rets)
1040 rets = rets or {}
1041
1042 if rid >= 0 then
1043 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
1044 end
1045 end
1046 end
1047
1048 rets = {f(table.unpack(args))} -- call function
1049 -- CancelEvent() -- cancel event doesn't seem to cancel the event for the other handlers, but if it does, uncomment this
1050 end
1051
1052 -- send response (even if the function doesn't exist)
1053 if not delayed and rid >= 0 then
1054 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
1055 end
1056
1057 if Debug.active then
1058 Debug.pend()
1059 end
1060 end)
1061end
1062
1063-- get a tunnel interface to send requests
1064-- name: interface name
1065-- identifier: unique string to identify this tunnel interface access (the name of the current resource should be fine)
1066function Tunnel.getInterface(name,identifier)
1067 local ids = Tools.newIDGenerator()
1068 local callbacks = {}
1069
1070 -- build interface
1071 local r = setmetatable({},{ __index = tunnel_resolve, name = name, tunnel_ids = ids, tunnel_callbacks = callbacks, identifier = identifier })
1072
1073 -- receive response
1074 RegisterServerEvent(name..":"..identifier..":tunnel_res")
1075 AddEventHandler(name..":"..identifier..":tunnel_res",function(rid,args)
1076 if Debug.active then
1077 Debug.pbegin("tunnelres#"..rid.."_"..name.." "..json.encode(Debug.safeTableCopy(args)))
1078 end
1079
1080 local callback = callbacks[rid]
1081 if callback ~= nil then
1082 -- free request id
1083 ids:free(rid)
1084 callbacks[rid] = nil
1085
1086 -- call
1087 callback(table.unpack(args))
1088 end
1089
1090 Debug.pend()
1091 end)
1092
1093 return r
1094end
1095
1096return Tunnel
1097:100)
1098Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1099Ka
1100Connecting: Karl Smart
1101[vRP] Karl Smart (80.167.185.234) joined (user_id = 7)
1102Sending player (4) ELS data
1103InvokeNative: execution failed: Argument at index 1 was null.
1104SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1105> handler (@rconlog/rconlog_server.lua:12)
1106INFO: User [4] ���������������������Emil��� authenticated - [1] [4] ���������������������Emil���@2.104.68.75:52842:52842
1107nil
1108SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1109SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1110> fn (@vrp/base.lua:467)
1111error: proxy call vRP:getPhoneDirectory not found
1112SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
1113> finish (@vrp/lib/utils.lua:43)
1114> tasst[36m@vrp/lib/utils.lua:47)
1115> cb (@vrp/modules/identity.lua:42)
1116> handler (- begin MySQL module
1117local MySQL = {}
1118
1119MySQL.debug = false
1120local dpaths = {}
1121
1122local tasks = {}
1123
1124--[[
1125local function tick()
1126 SetTimeout(1, function() -- protect errors from breaking the loop
1127 SetTimeout(1000, tick)
1128
1129 local rmtasks = {}
1130 for id,cb in pairs(tasks) do
1131 local r = exports.vrp_mysql:checkTask(id)
1132 if r.status == 1 then
1133 cb(r.rows,r.affected) -- rows, affected
1134 table.insert(rmtasks, id)
1135
1136 print("[vRP] task "..id.." failed.")
1137 table.insert(rmtasks, id)
1138 end
1139 end
1140
1141 -- remove done tasks
1142 for k,v in pairs(rmtasks) do
1143 tasks[v] = nil
1144 end
1145 end)
1146end
1147tick()
1148--]]
1149
1150AddEventHandler("vRP:MySQL_task", function(task_id, data)
1151-- print("vRP:MySQL_task "..task_id)
1152 local cb = tasks[task_id]
1153 if data.status == 1 then
1154
1155 if data.mode == 0 then
1156 cb(data.affected or 0)
1157 elseif data.mode == 1 then
1158 cb(data.scalar or 0)
1159 elseif data.mode == 2 then
1160 cb(data.rows or {}, data.affected or 0) -- rows, affected
1161 end
1162 end
1163 elseif data.status == -1 then
1164 print("[vRP] task "..task_id.." failed.")
1165 end
1166
1167 tasks[task_id] = nil
1168
1169 i
1170 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
1171 dpaths[task_id] = nil
1172 end
1173end)
1174
1175local task_id = -1
1176AddEventHandler("vRP:MySQL_taskid", function(_task_id)
1177-- print("vRP:MySQL_taskid ".._task_id)
1178 task_id = _task_id
1179end)
1180
1181-- host can be "host" or "host:port"
1182function MySQL.createConnection(name,host,user,password,db,debug)
1183-- print("[vRP] try to create connection "..name)
1184 -- parse port in host as "ip:port"
1185 local host_parts = splitString(host,":")
1186 if #host_parts >= 2 then
1187 host = host_parts[1]..";port="..host_parts[2]
1188 end
1189
1190 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
1191
1192-- TriggerEvent("vRP:MySQL:createConnection", name, config)
1193 exports.vrp_mysql:createConnection(name, config)
1194end
1195
1196function MySQL.createCommand(path, query)
1197-- print("[vRP] try to create command "..path)
1198-- TriggerEvent("vRP:MySQL:createCommand", path, query)
1199 exports.vrp_mysql:createCommand(path, query)
1200end
1201
1202-- generic query
1203function MySQL._query(path, args, mode, cb)
1204 -- TriggerEvent("vRP:MySQL:query", path, args)
1205 if not (type(args) == "table") then
1206 args = {}
1207 end
1208
1209 -- force args to be a C# dictionary
1210 args._none = " "
1211
1212-- exports.vrp_mysql:query(path, args)
1213-- print("[vRP] try to query "..path.." id "..task_id)
1214 TriggerEvent("vRP:MySQL_query", path, args, mode)
1215 if MySQL.debug then
1216 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
1217 dpaths[task_id] = path
1218 end
1219
1220 tasks[task_id] = cb
1221end
1222
1223-- do a query (multiple rows)
1224--- cb(rows, affected)
1225function MySQL.query(path, args, cb)
1226 MySQL._query(path, args, 2, cb)
1227end
1228
1229-- do a scalar query (one row, one column)
1230--- cb(scalar)
1231function MySQL.scalar(path, args, cb)
1232 MySQL._query(path, args, 1, cb)
1233end
1234
1235-- do a execute query (no results)
1236--- cb(affected)
1237function MySQL.execute(path, args, cb)
1238 MySQL._query(path, args, 0, cb)
1239end
1240
1241-- return module
1242return MySQL
1243:45)
1244> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
1245> fn (@vrp_mysql/init.lua:3)
1246server thread hitch warning: timer interval of 351 milliseconds
1247Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1248laagr forbinder til serveren
1249Connecting: laagr
1250[vRP] laagr (94.145.200.43) joined (user_id = 1)
1251Sending player (6) ELS data
1252InvokeNative: execution failed: Argument at index 1 was null.
1253SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1254> handler (@rconlog/rconlog_server.lua:12)
1255nil
1256SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1257Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1258SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1259> fn (@vrp/base.lua:467)
1260error: proxy call vRP:getPhoneDirectory not found
1261SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
1262> finish (@vrp/lib/utils.lua:43)
1263> task (@vrp/lib/utils.lua:47)
1264> cb (@vrp/modules/identity.lua:42)
1265> handler (- begin MySQL module
1266local MySQL = {}
1267
1268MySQL.debug = false
1269local dpaths = {}
1270
1271local tasks = {}
1272
1273--[[
1274local function tick()
1275 SetTimeout(1, function() -- protect errors from breaking the loop
1276 Sstop v, tick) cedFuel
1277
1278 local rmtasks = {}
1279 for id,cb in pairs(tasks) do
1280 local r = exports.vrp_mysql:checkTask(id)
1281 if r.status == 1 then
1282 cb(r.rows,r.affected) -- rows, affected
1283 table.insert(rmtasks, id)
1284 elseif r.status == -1 then
1285 print("[vRP] task "..id.." failed.")
1286 table.insert(rmtasks, id)
1287 end
1288 end
1289
1290 -- remove done tasks
1291 for k,v in pairs(rmtasks) do
1292 tasks[v] = nil
1293 end
1294 end)
1295end
1296tick()
1297--]]
1298
1299AddEventHandler("vRP:MySQL_task", function(task_id, data)
1300-
1301 local cb = tasks[task_id]
1302 if data.status == 1 then
1303 if cb then
1304 if data.mode == 0 then
1305 cb(data.affected or 0)
1306 elseif data.mode == 1 then
1307 cb(data.scalar or 0)
1308 elseif data.mode == 2 then
1309 cb(data.rows or {}, data.affected or 0) -- rows, affected
1310 end
1311 end
1312 elseif data.status == -1 then
1313 print("[vRP] task "..task_id.." failed.")
1314 end
1315
1316 tasks[task_id] = nil
1317
1318 if MySQL.debug and dpaths[task_id] then
1319 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
1320 dpaths[task_id] = nil
1321 end
1322end)
1323
1324local task_id = -1
1325AddEventHandler("vRP:MySQL_taskid", function(_task_id)
1326-- print("vRP:MySQL_taskid ".._task_id)
1327 task_id = _task_id
1328end)
1329
1330-- hostop vrpan be "host" or "host:port"
1331function MySQL.createConnection(name,host,user,password,db,debug)
1332-- print("[vRP] try to create connection "..name)
1333 -- parse port in host as "ip:port"
1334 local host_parts = splitString(host,":")
1335 if #host_parts >= 2 then
1336 host = host_parts[1]..";port="..host_parts[2]
1337 end
1338
1339 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
1340
1341-- TriggerEvent("vRP:MySQL:createConnection", name, config)
1342 exports.vrp_mysql:createConnection(name, config)
1343end
1344
1345function MySQL.createCommand(path, query)
1346-- print("[vRP] try to create command "..path)
1347-- TriggerEvent("vRP:MySQL:createCommand", path, query)
1348 exports.vrp_mysql:createCommand(path, query)
1349end
1350
1351-- generic query
1352function MySQL._query(path, args, mode, cb)
1353 -- TriggerEvent("vRP:MySQL:query", path, args)
1354 if not (type(args) == "table") then
1355 args = {}
1356 end
1357
1358 -- force args to be a C# dictionary
1359 args._none = " "
1360
1361-- exports.vrp_mysql:query(path, args)
1362-- print("[vRP] try to query "..path.." id "..task_id)
1363 TriggerEvent("vRP:MySQL_query", path, args, mode)
1364 if MySQL.debug then
1365 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
1366 dpaths[task_id] = path
1367 end
1368
1369 tasks[task_id] = cb
1370end
1371
1372-- do a query (multiple rows)
1373--- cb(rows, affected)
1374function MySQL.query(path, args, cb)
1375 MySQL._query(path, args, 2, cb)
1376end
1377
1378-- do a scalar query (one row, one column)
1379--- cb(scalar)
1380function MySQL.scalar(path, args, cb)
1381 MySQL._query(path, args, 1, cb)
1382end
1383
1384-- do a execute query (no results)
1385--- cb(affected)
1386function MySQL.execute(path, args, cb)
1387 MySQL._query(path, args, 0, cb)
1388end
1389
1390-- return module
1391return MySQL
1392:45)
1393> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
1394> fn (@vrp_mysql/init.lua:3)
1395server thread hitch warning: timer interval of 362 milliseconds
1396server thread hitch warning: timer interval of 182 milliseconds
1397Sending player (7) ELS data
1398InvokeNative: execution failed: Argument at index 1 was null.
1399SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1400> handler (@rconlog/rconlog_server.lua:12)
1401INFO: User [7] Karl Smart authenticated - [4] [7] Karl Smart@80.167.185.234:61874:61874
1402nil
1403SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1404server thread hitch warning: timer interval of 156 milliseconds
1405server thread hitch warning: timer interval of 156 milliseconds
1406Sending player (5) ELS data
1407InvokeNative: execution failed: Argument at index 1 was null.
1408SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1409> handler (@rconlog/rconlog_server.lua:12)
1410SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1411> fn stop vrp_s)oreboard
1412INFO: User [5] Malthe authenticated - [5] [5] Malthe@2.108.43.205:51002:51002
1413error: proxy call vRP:getPhoneDirectory not found
1414SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
1415> finish (@vrp/lib/utils.lua:43)
1416> task (@vrp/lib/utils.lua:47)
1417> cb (@vrp/modules/identity.lua:42)
1418> handler (- begin MySQL module
1419local MySQL = {}
1420
1421MySQL.debug = false
1422local dpaths = {}
1423
1424local tasks = {}
1425
1426--[[
1427l
1428 SetTimeout(1, function() -- protect errors from breaking the loop
1429 SetTimeout(1000, tick)
1430
1431 local rmtasks = {}
1432 for id,cb in pairs(tasks) do
1433 local r = exports.vrp_mysql:checkTask(id)
1434 if r.status == 1 then
1435 cb(r.rows,r.affected) -- rows, affected
1436 table.insert(rmtasks, id)
1437 elseif r.status == -1 then
1438 print("[vRP] task "..id.." failed.")
1439 table.insert(rmtasks, id)
1440 end
1441 end
1442
1443 -- remove done tasks
1444 for k,v in pairs(rmtasks) do
1445 tasks[v] = nil
1446 end
1447 end)
1448end
1449tick()
1450--]]
1451
1452AddEventHandler("vRP:MySQL_task", function(task_id, data)
1453-- print("vRP:MySQL_task "..task_id)
1454 local cb = tasks[task_id]
1455
1456 if cb then
1457 if data.mode == 0 then
1458 cb(data.affected or 0)
1459 elseif data.mode == 1 then
1460 cb(data.scalar or 0)
1461 elseif data.mode == 2 then
1462 cb(data.rows or {}, data.affected or 0) -- rows, affected
1463 end
1464 end
1465 elsstop vrp_scor-1 then
1466 print("[vRP] task "..task_id.." failed.")
1467 end
1468
1469 tasks[task_id] = nil
1470
1471 if MySQL.debug and dpaths[task_id] then
1472 print("[vstop vySQL end query "..dpaths[task_id].." ("..task_id..")")
1473 dpaths[task_id] = nil
1474 end
1475end)
1476
1477local task_id = -1
1478AddEventHandler("vRP:MySQL_taskid", function(_task_id)
1479-- print("vRP:MySQL_taskid ".._task_id)
1480 task_id = _task_id
1481end)
1482
1483-- host can be "host" or "host:port"
1484function MySQL.createConnection(name,host,user,password,db,debug)
1485-- print("[vRP] try to create connection "..name)
1486 -- parse port in host as "ip:port"
1487 local host_parts = splitString(host,":")
1488 if #host_parts >= 2 then
1489 host = host_parts[1]..";port="..host_parts[2]
1490 end
1491
1492 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
1493
1494-- TriggerEvent("vRP:MySQL:createConnection", name, config)
1495 exports.vrp_mysql:createConnection(name, config)
1496end
1497
1498function MySQL.createCommand(path, query)
1499-- print("[vRP] try to create command "..path)
1500-- TriggerEvent("vRP:MySQL:createCommand", path, query)
1501 exports.vrp_mysql:createCommand(path, query)
1502end
1503
1504-- generic query
1505function MySQL._query(path, args, mode, cb)
1506 -- TriggerEvent("vRP:MySQL:query", path, args)
1507 if not (type(args) == "table") then
1508 args = {}
1509 end
1510
1511 -- force args to be a C# dictionary
1512 args._none = " "
1513
1514-- exports.vrp_mysql:query(path, args)
1515-- print("[vRP] try to query "..path.." id "..task_id)
1516 TriggerEvent("vRP:MySQL_query", path, args, mode)
1517 if MySQL.debug then
1518 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
1519 dpaths[task_id] = path
1520 end
1521
1522 tasks[task_id] = cb
1523end
1524
1525-- do a query (multiple rows)
1526--- cstop vrp_scorebed)d
1527function MySQL.query(path, args, cb)
1528 MySQL._query(path, args, 2, cb)
1529end
1530
1531-- do a scalar query (one row, one column)
1532--- cb(scalar)
1533function MySQL.scalar(path, args, cb)
1534 MySQL._query(path, args, 1, cb)
1535end
1536
1537-- do a execute query (no results)
1538--- cb(affected)
1539function MySQL.execute(path, args, cb)
1540 MySQL._query(path, args, 0, cb)
1541end
1542
1543-- return module
1544return MySQL
1545:45)
1546> voit.dll:0)
1547stop vrp_scoreboard
1548server thread hitch warning: timer interval of 403 milliseconds
1549server thread hitch warning: timer interval of 288 milliseconds
1550server thread hitch warning: timer interval of 158 milliseconds
1551INFO: User [6] elmve authenticated - [6] [6] elmve@212.112.155.197:32163:32163
1552(PIKK) Asshole forbinder til serveren
1553Connecting: (PIKK) Asshole
1554server thread hitch warning: timer interval of 214 milliseconds
1555server thread hitch warning: timer interval of 218 milliseconds
1556server thread hitch warning: timer interval of 193 milliseconds
1557[
1558KillerDK forbinder til serveren
1559Connecting: KillerDK
1560[vRP] KillerDK (5.103.154.105) joined (user_id = 32)
15611
15621
15631
1564davidaks forbinder til serveren
1565Connecting: davidaks
1566server thread hitch warning: timer interval of 160 milliseconds
1567server thread hitch warning: timer interval of 152 milliseconds
1568server thread hitch warning: timer interval of 243 milliseconds
1569servestop vrp_scoreboaritch warning: timer interval of 187 milliseconds
1570server thread hitch warning: timer interval of 170 milliseconds
1571[vRP] davidaks (5.103.155.73) joined (user_id = 16)
1572server thread hitch warning: timer interval of 230 milliseconds
1573server thread hitch warning: timer interval of 214 milliseconds
1574server thread hitch warning: timer interval of 283 milliseconds
1575server thread hitch warning: timer interval of 156 milliseconds
1576server thread hitch warning: timer interval of 378 milliseconds
1577Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1578th3 k1ng forbinder til serveren
1579Connecting: th3 k1ng
1580server thread hitch warning: timer interval of 463 milliseconds
1581server thread hitch warning: timer interval of 392 milliseconds
1582server thread hitch warning: timer interval of 398 milliseconds
1583Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1584server thread hitch warning: timer interval of 243 milliseconds
1585[vRP] th3 k1ng (62.107.73.103) joined (user_id = 33)
1586nil
1587SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1588SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1589> fn (@vrp/base.lua:467)
1590e
1591SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
1592> finish (@vrp/lib/utils.lua:43)
1593> task (@vrp/lib/utils.lua:47)
1594> cb (@vrp/modules/identity.lua:42)
1595> handler (- begin MySQL module
1596local MySQL = {}
1597
1598MySQL.debug = false
1599local dpaths = {}
1600
1601local tasks = {}
1602
1603--[[
1604local function tick()
1605 SetTimeout(1, function() -- protect errors from breaking the loop
1606 SetTimeout(1000, tick)
1607
1608 local rmtasks = {}
1609 for id,cb in pairs(tasks) do
1610 local r = exports.vrp_mysql:checkTask(id)
1611 if r.status == 1 then
1612 cb(r.rows,r.affected) -- rows, affected
1613 table.insert(rmtasks, id)
1614 elseif r.status == -1 then
1615 print("[vRP] task "..id.." failed.")
1616 table.insert(rmtasks, id)
1617 end
1618 end
1619
1620 -- remove done tasks
1621 for k,v in pairs(rmtasks) do
1622 tasks[v] = nil
1623 end
1624 end)
1625end
1626tick()
1627--]]
1628
1629AddEventHandler("vRP:MySQL_task", function(task_id, data)
1630-- print("vRP:MySQL_task "..task_id)
1631 local cb = tasks[task_id]
1632 if stop vrp_scoreboarddata.status == 1 then
1633 if cb then
1634 if data.mode == 0 then
1635 cb(data.affected or 0)
1636 elseif data.mode == 1 then
1637 cb(data.scalar or 0)
1638 elseif data.mode == 2 then
1639 cb(data.rows or {}, data.affected or 0) -- rows, affected
1640 end
1641 end
1642 elseif data.status == -1 then
1643 print("[vRP] task "..task_id.." failed.")
1644 end
1645
1646 tasks[task_id] = nil
1647
1648 if MySQL.debug and dpaths[task_id] then
1649 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
1650 dpaths[task_id] = nil
1651 end
1652end)
1653
1654local task_id = -1
1655AddEventHandler("vRP:MySQL_taskid", function(_task_id)
1656-- print("vRP:MySQL_taskid ".._task_id)
1657 task_id = _task_id
1658end)
1659
1660-- host can be "host" or "host:port"
1661function MySQL.createConnection(name,host,user,password,db,debug)
1662-- print("[vRP] try to create connection "..name)
1663 -- parse port in host as "ip:port"
1664 local host_parts = splitString(host,":")
1665 if #host_parts >= 2 then
1666 host = host_parts[1]..";port="..host_parts[2]
1667 end
1668
1669 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
1670
1671-- TriggerEvent("vRP:MySQL:createConnection", name, config)
1672 exports.vrp_mysql:createConnection(name, config)
1673end
1674
1675function MySQL.createCommand(path, query)
1676-- print("[vRP] try to create command "..path)
1677-- TriggerEvent("vRP:MySQL:createCommand", path, query)
1678 exports.vrp_mysql:createCommand(path, query)
1679end
1680
1681-- generic query
1682function MySQL._query(path, args, mode, cb)
1683 -- TriggerEvent("vRP:MySQL:query", path, args)
1684 if not (type(args) == "table") then
1685 args = {}
1686 end
1687
1688 -- force args to be a C# dictionary
1689 args._none = " "
1690
1691-- exports.vrp_mysql:query(path, args)
1692-- print("[vRP] try to query "..path.." id "..task_id)
1693 TriggerEvent("vRP:MySQL_query", path, args, mode)
1694 if MySQL.debug then
1695 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
1696 dpaths[task_id] = path
1697 end
1698
1699 tasks[task_id] = cb
1700end
1701
1702-- do a query (multiple rows)
1703--- cb(rows, affected)
1704function MySQL.query(path, args, cb)
1705 MySQL._query(path, args, 2, cb)
1706end
1707
1708-- do a scalar query (one row, one column)
1709--- cb(scalar)
1710function MySQL.scalar(path, args, cb)
1711 MySQL._query(path, args, 1, cb)
1712end
1713
1714-- do a execute query (no results)
1715--- cb(affected)
1716function MySQL.execute(path, args, cb)
1717 MySQL._query(path, args, 0, cb)
1718end
1719
1720-- return module
1721return MySQL
1722:45)
1723> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
1724> fn (@vrp_mysql/init.lua:3)
1725
1726server thread hitch warning: timer interval of 499 milliseconds
1727server thread hitch warning: timer interval of 425 milliseconds
1728server thread hitch warning: timer interval of 353 milliseconds
1729server thread hitch warning: timer interval of 227 milliseconds
1730server thread hitch warning: timer interval of 186 milliseconds
1731server thread hitch warning: timer interval of 212 milliseconds
1732server thread hitch warning: timer interval of 169 milliseconds
1733server thread hitch warning: timer interval of 187 milliseconds
1734server thread hitch warning: timer interval of 177 milliseconds
1735Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1736server thread hitch warning: timer interval of 173 milliseconds
1737server thread hitch warning: timer interval of 175 milliseconds
1738server thread hitch warning: timer interval of 273 milliseconds
1739server thread hitch warning: timer interval of 275 milliseconds
1740server thread hitch warning: timer interval of 238 milliseconds
1741server thread hitch warning: timer interval of 740 milliseconds
1742server thread hitch warning: timer interval of 600 milliseconds
1743server thread hitch warning: timer interval of 405 milliseconds
1744server thread hitch warning: timer interval of 273 milliseconds
1745server thread hitch warning: timer interval of 153 milliseconds
1746server thread hitch warning: timer interval of 176 milliseconds
1747server thread hitch warning: timer interval of 282 milliseconds
1748server thread hitch warning: timer interval of 198 milliseconds
1749server thread hitch warning: timer interval of 167 milliseconds
1750Sending player (8) ELS data
1751InvokeNative: execution failed: Argument at index 1 was null.
1752SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1753> handler (@rconlog/rconlog_server.lua:12)
1754INFO: User [8] laagr authenticated - [7] [8] laagr@94.145.200.43:56319:56319
1755Sending player (9) ELS data
1756InvokeNative: execution failed: Argument at index 1 was null.
1757SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1758> handler (@rconlog/rconlog_server.lua:12)
1759Sending player (10) ELS data
1760InvokeNative: execution failed: Argument at index 1 was null.
1761SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
1762> handler (@rconlog/rconlog_server.lua:12)
1763INFO: User [9] davidaks authenticated - [8] [9] davidaks@5.103.155.73:60262:60262
1764server thread hitch warning: timer interval of 166 milliseconds
1765INFO: User [10] KillerDK authenticated - [9] [10] KillerDK@5.103.154.105:57237:57237
1766server thread hitch warning: timer interval of 178 milliseconds
1767server thread hitch warning: timer interval of 181 milliseconds
1768server thread hitch warning: timer interval of 202 milliseconds
1769server thread hitch warning: timer interval of 182 milliseconds
1770server thread hitch warning: timer interval of 213 milliseconds
1771server thread hitch warning: timer interval of 180 milliseconds
1772Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
1773server thread hitch warning: timer interval of 158 milliseconds
1774Malthe: Må jeg blive mekaniker`
1775nil
1776SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1777server thread hitch warning: timer interval of 164 milliseconds
1778nil
1779SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
1780SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1781> addUserGroup (@vrp/modules/group.lua:61)
1782> cb (@vrp/modules/group.lua:227)
1783> f (@vrp/modules/gui.lua:182)
1784> handler (
1785local Tools = module("lib/Tools")
1786local Debug = module("lib/Debug")
1787
1788-- this file describe a two way proxy between the server and the clients (request system)
1789
1790local Tunnel = {}
1791
1792-- define per dest regulator
1793Tunnel.delays = {}
1794
1795-- set the base delay between Triggers for this destination in milliseconds (0 for instant trigger)
1796function Tunnel.setDestDelay(dest, delay)
1797 Tunnel.delays[dest] = {delay, 0}
1798end
1799
1800local function tunnel_resolve(itable,key)
1801 local mtable = getmetatable(itable)
1802 local iname = mtable.name
1803 local ids = mtable.tunnel_ids
1804 local callbacks = mtable.tunnel_callbacks
1805 local identifier = mtable.identifier
1806
1807 -- generate access function
1808 local fcall = function(dest,args,callback)
1809 if args == nil then
1810 args = {}
1811 end
1812
1813 -- get delay data
1814 local delay_data = Tunnel.delays[dest]
1815 if delay_data == nil then
1816 delay_data = {0,0}
1817 end
1818
1819 -- increase delay
1820 local add_delay = delay_data[1]
1821 delay_data[2] = delay_data[2]+add_delay
1822
1823 if delay_data[2] > 0 then -- delay trigger
1824 SetTimeout(delay_data[2], function()
1825 -- remove added delay
1826 delay_data[2] = delay_data[2]-add_delay
1827
1828 -- send request
1829 if type(callback) == "function" then -- ref callback if exists (become a request)
1830 local rid = ids:gen()
1831 callbacks[rid] = callback
1832 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
1833 else -- regular trigger
1834 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
1835 end
1836 end)
1837 else -- no delay
1838 -- send request
1839 if type(callback) == "function" then -- ref callback if exists (become a request)
1840 local rid = ids:gen()
1841 callbacks[rid] = callback
1842 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
1843 else -- regular trigger
1844 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
1845 end
1846 end
1847 end
1848
1849 itable[key] = fcall -- add generated call to table (optimization)
1850 return fcall
1851end
1852
1853-- bind an interface (listen to net requests)
1854-- name: interface name
1855-- interface: table containing functions
1856function Tunnel.bindInterface(name,interface)
1857 -- receive request
1858 RegisterServerEvent(name..":tunnel_req")
1859 AddEventHandler(name..":tunnel_req",function(member,args,identifier,rid)
1860 local source = source
1861 local delayed = false
1862
1863 if Debug.active then
1864 Debug.pbegin("tunnelreq#"..rid.."_"..name..":"..member.." "..json.encode(Debug.safeTableCopy(args)))
1865 end
1866
1867 local f = interface[member]
1868
1869 local rets = {}
1870 if type(f) == "function" then
1871 -- bind the global function to delay the return values using the returned function with args
1872 TUNNEL_DELAYED = function()
1873 delayed = true
1874 return function(rets)
1875 rets = rets or {}
1876
1877 if rid >= 0 then
1878 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
1879 end
1880 end
1881 end
1882
1883 rets = {f(table.unpack(args))} -- call function
1884 -- CancelEvent() -- cancel event doesn't seem to cancel the event for the other handlers, but if it does, uncomment this
1885 end
1886
1887 -- send response (even if the function doesn't exist)
1888 if not delayed and rid >= 0 then
1889 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
1890 end
1891
1892 if Debug.active then
1893 Debug.pend()
1894 end
1895 end)
1896end
1897
1898-- get a tunnel interface to send requests
1899-- name: interface name
1900-- identifier: unique string to identify this tunnel interface access (the name of the current resource should be fine)
1901function Tunnel.getInterface(name,identifier)
1902 local ids = Tools.newIDGenerator()
1903 local callbacks = {}
1904
1905 -- build interface
1906 local r = setmetatable({},{ __index = tunnel_resolve, name = name, tunnel_ids = ids, tunnel_callbacks = callbacks, identifier = identifier })
1907
1908 -- receive response
1909 RegisterServerEvent(name..":"..identifier..":tunnel_res")
1910 AddEventHandler(name..":"..identifier..":tunnel_res",function(rid,args)
1911 if Debug.active then
1912 Debug.pbegin("tunnelres#"..rid.."_"..name.." "..json.encode(Debug.safeTableCopy(args)))
1913 end
1914
1915 local callback = callbacks[rid]
1916 if callback ~= nil then
1917 -- free request id
1918 ids:free(rid)
1919 callbacks[rid] = nil
1920
1921 -- call
1922 callback(table.unpack(args))
1923 end
1924
1925 Debug.pend()
1926 end)
1927
1928 return r
1929end
1930
1931return Tunnel
1932:100)
1933SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
1934> fn (@vrp/base.lua:467)
1935error: proxy call vRP:getPhoneDirectory not found
1936SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
1937> finish (@vrp/lib/utils.lua:43)
1938> task (@vrp/lib/utils.lua:47)
1939> cb (@vrp/modules/identity.lua:42)
1940> handler (- begin MySQL module
1941local MySQL = {}
1942
1943MySQL.debug = false
1944local dpaths = {}
1945
1946local tasks = {}
1947
1948--[[
1949local function tick()
1950 SetTimeout(1, function() -- protect errors from breaking the loop
1951 SetTimeout(1000, tick)
1952
1953 local rmtasks = {}
1954 for id,cb in pairs(tasks) do
1955 local r = exports.vrp_mysql:checkTask(id)
1956 if r.status == 1 then
1957 cb(r.rows,r.affected) -- rows, affected
1958 table.insert(rmtasks, id)
1959 elseif r.status == -1 then
1960 print("[vRP] task "..id.." failed.")
1961 table.insert(rmtasks, id)
1962 end
1963 end
1964
1965 -- remove done tasks
1966 for k,v in pairs(rmtasks) do
1967 tasks[v] = nil
1968 end
1969 end)
1970end
1971tick()
1972--]]
1973
1974AddEventHandler("vRP:MySQL_task", function(task_id, data)
1975-- print("vRP:MySQL_task "..task_id)
1976 local cb = tasks[task_id]
1977 if data.status == 1 then
1978 if cb then
1979 if data.mode == 0 then
1980 cb(data.affected or 0)
1981 elseif data.mode == 1 then
1982 cb(data.scalar or 0)
1983 elseif data.mode == 2 then
1984 cb(data.rows or {}, data.affected or 0) -- rows, affected
1985 end
1986 end
1987 elseif data.status == -1 then
1988 print("[vRP] task "..task_id.." failed.")
1989 end
1990
1991 tasks[task_id] = nil
1992
1993 if MySQL.debug and dpaths[task_id] then
1994 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
1995 dpaths[task_id] = nil
1996 end
1997end)
1998
1999local task_id = -1
2000AddEventHandler("vRP:MySQL_taskid", function(_task_id)
2001-- print("vRP:MySQL_taskid ".._task_id)
2002 task_id = _task_id
2003end)
2004
2005-- host can be "host" or "host:port"
2006function MySQL.createConnection(name,host,user,password,db,debug)
2007-- print("[vRP] try to create connection "..name)
2008 -- parse port in host as "ip:port"
2009 local host_parts = splitString(host,":")
2010 if #host_parts >= 2 then
2011 host = host_parts[1]..";port="..host_parts[2]
2012 end
2013
2014 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
2015
2016-- TriggerEvent("vRP:MySQL:createConnection", name, config)
2017 exports.vrp_mysql:createConnection(name, config)
2018end
2019
2020function MySQL.createCommand(path, query)
2021-- print("[vRP] try to create command "..path)
2022-- TriggerEvent("vRP:MySQL:createCommand", path, query)
2023 exports.vrp_mysql:createCommand(path, query)
2024end
2025
2026-- generic query
2027function MySQL._query(path, args, mode, cb)
2028 -- TriggerEvent("vRP:MySQL:query", path, args)
2029 if not (type(args) == "table") then
2030 args = {}
2031 end
2032
2033 -- force args to be a C# dictionary
2034 args._none = " "
2035
2036-- exports.vrp_mysql:query(path, args)
2037-- print("[vRP] try to query "..path.." id "..task_id)
2038 TriggerEvent("vRP:MySQL_query", path, args, mode)
2039 if MySQL.debug then
2040 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
2041 dpaths[task_id] = path
2042 end
2043
2044 tasks[task_id] = cb
2045end
2046
2047-- do a query (multiple rows)
2048--- cb(rows, affected)
2049function MySQL.query(path, args, cb)
2050 MySQL._query(path, args, 2, cb)
2051end
2052
2053-- do a scalar query (one row, one column)
2054--- cb(scalar)
2055function MySQL.scalar(path, args, cb)
2056 MySQL._query(path, args, 1, cb)
2057end
2058
2059-- do a execute query (no results)
2060--- cb(affected)
2061function MySQL.execute(path, args, cb)
2062 MySQL._query(path, args, 0, cb)
2063end
2064
2065-- return module
2066return MySQL
2067:45)
2068> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
2069> fn (@vrp_mysql/init.lua:3)
2070server thread hitch warning: timer interval of 421 milliseconds
2071server thread hitch warning: timer interval of 361 milliseconds
2072SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2073> fn (@vrp/base.lua:467)
2074error: proxy call vRP:getPhoneDirectory not found
2075SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
2076> finish (@vrp/lib/utils.lua:43)
2077> task (@vrp/lib/utils.lua:47)
2078> cb (@vrp/modules/identity.lua:42)
2079> handler (- begin MySQL module
2080local MySQL = {}
2081
2082MySQL.debug = false
2083local dpaths = {}
2084
2085local tasks = {}
2086
2087--[[
2088local function tick()
2089 SetTimeout(1, function() -- protect errors from breaking the loop
2090 SetTimeout(1000, tick)
2091
2092 local rmtasks = {}
2093 for id,cb in pairs(tasks) do
2094 local r = exports.vrp_mysql:checkTask(id)
2095 if r.status == 1 then
2096 cb(r.rows,r.affected) -- rows, affected
2097 table.insert(rmtasks, id)
2098 elseif r.status == -1 then
2099 print("[vRP] task "..id.." failed.")
2100 table.insert(rmtasks, id)
2101 end
2102 end
2103
2104 -- remove done tasks
2105 for k,v in pairs(rmtasks) do
2106 tasks[v] = nil
2107 end
2108 end)
2109end
2110tick()
2111--]]
2112
2113AddEventHandler("vRP:MySQL_task", function(task_id, data)
2114-- print("vRP:MySQL_task "..task_id)
2115 local cb = tasks[task_id]
2116 if data.status == 1 then
2117 if cb then
2118 if data.mode == 0 then
2119 cb(data.affected or 0)
2120 elseif data.mode == 1 then
2121 cb(data.scalar or 0)
2122 elseif data.mode == 2 then
2123 cb(data.rows or {}, data.affected or 0) -- rows, affected
2124 end
2125 end
2126 elseif data.status == -1 then
2127 print("[vRP] task "..task_id.." failed.")
2128 end
2129
2130 tasks[task_id] = nil
2131
2132 if MySQL.debug and dpaths[task_id] then
2133 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
2134 dpaths[task_id] = nil
2135 end
2136end)
2137
2138local task_id = -1
2139AddEventHandler("vRP:MySQL_taskid", function(_task_id)
2140-- print("vRP:MySQL_taskid ".._task_id)
2141 task_id = _task_id
2142end)
2143
2144-- host can be "host" or "host:port"
2145function MySQL.createConnection(name,host,user,password,db,debug)
2146-- print("[vRP] try to create connection "..name)
2147 -- parse port in host as "ip:port"
2148 local host_parts = splitString(host,":")
2149 if #host_parts >= 2 then
2150 host = host_parts[1]..";port="..host_parts[2]
2151 end
2152
2153 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
2154
2155-- TriggerEvent("vRP:MySQL:createConnection", name, config)
2156 exports.vrp_mysql:createConnection(name, config)
2157end
2158
2159function MySQL.createCommand(path, query)
2160-- print("[vRP] try to create command "..path)
2161-- TriggerEvent("vRP:MySQL:createCommand", path, query)
2162 exports.vrp_mysql:createCommand(path, query)
2163end
2164
2165-- generic query
2166function MySQL._query(path, args, mode, cb)
2167 -- TriggerEvent("vRP:MySQL:query", path, args)
2168 if not (type(args) == "table") then
2169 args = {}
2170 end
2171
2172 -- force args to be a C# dictionary
2173 args._none = " "
2174
2175-- exports.vrp_mysql:query(path, args)
2176-- print("[vRP] try to query "..path.." id "..task_id)
2177 TriggerEvent("vRP:MySQL_query", path, args, mode)
2178 if MySQL.debug then
2179 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
2180 dpaths[task_id] = path
2181 end
2182
2183 tasks[task_id] = cb
2184end
2185
2186-- do a query (multiple rows)
2187--- cb(rows, affected)
2188function MySQL.query(path, args, cb)
2189 MySQL._query(path, args, 2, cb)
2190end
2191
2192-- do a scalar query (one row, one column)
2193--- cb(scalar)
2194function MySQL.scalar(path, args, cb)
2195 MySQL._query(path, args, 1, cb)
2196end
2197
2198-- do a execute query (no results)
2199--- cb(affected)
2200function MySQL.execute(path, args, cb)
2201 MySQL._query(path, args, 0, cb)
2202end
2203
2204-- return module
2205return MySQL
2206:45)
2207> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
2208> fn (@vrp_mysql/init.lua:3)
2209server thread hitch warning: timer interval of 727 milliseconds
2210SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2211> addUserGroup (@vrp/modules/group.lua:61)
2212> cb (@vrp/modules/group.lua:227)
2213> f (@vrp/modules/gui.lua:182)
2214> handler (
2215local Tools = module("lib/Tools")
2216local Debug = module("lib/Debug")
2217
2218-- this file describe a two way proxy between the server and the clients (request system)
2219
2220local Tunnel = {}
2221
2222-- define per dest regulator
2223Tunnel.delays = {}
2224
2225-- set the base delay between Triggers for this destination in milliseconds (0 for instant trigger)
2226function Tunnel.setDestDelay(dest, delay)
2227 Tunnel.delays[dest] = {delay, 0}
2228end
2229
2230local function tunnel_resolve(itable,key)
2231 local mtable = getmetatable(itable)
2232 local iname = mtable.name
2233 local ids = mtable.tunnel_ids
2234 local callbacks = mtable.tunnel_callbacks
2235 local identifier = mtable.identifier
2236
2237 -- generate access function
2238 local fcall = function(dest,args,callback)
2239 if args == nil then
2240 args = {}
2241 end
2242
2243 -- get delay data
2244 local delay_data = Tunnel.delays[dest]
2245 if delay_data == nil then
2246 delay_data = {0,0}
2247 end
2248
2249 -- increase delay
2250 local add_delay = delay_data[1]
2251 delay_data[2] = delay_data[2]+add_delay
2252
2253 if delay_data[2] > 0 then -- delay trigger
2254 SetTimeout(delay_data[2], function()
2255 -- remove added delay
2256 delay_data[2] = delay_data[2]-add_delay
2257
2258 -- send request
2259 if type(callback) == "function" then -- ref callback if exists (become a request)
2260 local rid = ids:gen()
2261 callbacks[rid] = callback
2262 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
2263 else -- regular trigger
2264 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
2265 end
2266 end)
2267 else -- no delay
2268 -- send request
2269 if type(callback) == "function" then -- ref callback if exists (become a request)
2270 local rid = ids:gen()
2271 callbacks[rid] = callback
2272 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
2273 else -- regular trigger
2274 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
2275 end
2276 end
2277 end
2278
2279 itable[key] = fcall -- add generated call to table (optimization)
2280 return fcall
2281end
2282
2283-- bind an interface (listen to net requests)
2284-- name: interface name
2285-- interface: table containing functions
2286function Tunnel.bindInterface(name,interface)
2287 -- receive request
2288 RegisterServerEvent(name..":tunnel_req")
2289 AddEventHandler(name..":tunnel_req",function(member,args,identifier,rid)
2290 local source = source
2291 local delayed = false
2292
2293 if Debug.active then
2294 Debug.pbegin("tunnelreq#"..rid.."_"..name..":"..member.." "..json.encode(Debug.safeTableCopy(args)))
2295 end
2296
2297 local f = interface[member]
2298
2299 local rets = {}
2300 if type(f) == "function" then
2301 -- bind the global function to delay the return values using the returned function with args
2302 TUNNEL_DELAYED = function()
2303 delayed = true
2304 return function(rets)
2305 rets = rets or {}
2306
2307 if rid >= 0 then
2308 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
2309 end
2310 end
2311 end
2312
2313 rets = {f(table.unpack(args))} -- call function
2314 -- CancelEvent() -- cancel event doesn't seem to cancel the event for the other handlers, but if it does, uncomment this
2315 end
2316
2317 -- send response (even if the function doesn't exist)
2318 if not delayed and rid >= 0 then
2319 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
2320 end
2321
2322 if Debug.active then
2323 Debug.pend()
2324 end
2325 end)
2326end
2327
2328-- get a tunnel interface to send requests
2329-- name: interface name
2330-- identifier: unique string to identify this tunnel interface access (the name of the current resource should be fine)
2331function Tunnel.getInterface(name,identifier)
2332 local ids = Tools.newIDGenerator()
2333 local callbacks = {}
2334
2335 -- build interface
2336 local r = setmetatable({},{ __index = tunnel_resolve, name = name, tunnel_ids = ids, tunnel_callbacks = callbacks, identifier = identifier })
2337
2338 -- receive response
2339 RegisterServerEvent(name..":"..identifier..":tunnel_res")
2340 AddEventHandler(name..":"..identifier..":tunnel_res",function(rid,args)
2341 if Debug.active then
2342 Debug.pbegin("tunnelres#"..rid.."_"..name.." "..json.encode(Debug.safeTableCopy(args)))
2343 end
2344
2345 local callback = callbacks[rid]
2346 if callback ~= nil then
2347 -- free request id
2348 ids:free(rid)
2349 callbacks[rid] = nil
2350
2351 -- call
2352 callback(table.unpack(args))
2353 end
2354
2355 Debug.pend()
2356 end)
2357
2358 return r
2359end
2360
2361return Tunnel
2362:100)
2363Malthe: ?
2364server thread hitch warning: timer interval of 722 milliseconds
2365nil
2366SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
2367server thread hitch warning: timer interval of 558 milliseconds
2368server thread hitch warning: timer interval of 423 milliseconds
2369server thread hitch warning: timer interval of 287 milliseconds
2370server thread hitch warning: timer interval of 271 milliseconds
2371server thread hitch warning: timer interval of 201 milliseconds
2372server thread hitch warning: timer interval of 170 milliseconds
2373SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2374> fn (@vrp/base.lua:467)
2375error: proxy call vRP:getPhoneDirectory not found
2376SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
2377> finish (@vrp/lib/utils.lua:43)
2378> task (@vrp/lib/utils.lua:47)
2379> cb (@vrp/modules/identity.lua:42)
2380> handler (- begin MySQL module
2381local MySQL = {}
2382
2383MySQL.debug = false
2384local dpaths = {}
2385
2386local tasks = {}
2387
2388--[[
2389local function tick()
2390 SetTimeout(1, function() -- protect errors from breaking the loop
2391 SetTimeout(1000, tick)
2392
2393 local rmtasks = {}
2394 for id,cb in pairs(tasks) do
2395 local r = exports.vrp_mysql:checkTask(id)
2396 if r.status == 1 then
2397 cb(r.rows,r.affected) -- rows, affected
2398 table.insert(rmtasks, id)
2399 elseif r.status == -1 then
2400 print("[vRP] task "..id.." failed.")
2401 table.insert(rmtasks, id)
2402 end
2403 end
2404
2405 -- remove done tasks
2406 for k,v in pairs(rmtasks) do
2407 tasks[v] = nil
2408 end
2409 end)
2410end
2411tick()
2412--]]
2413
2414AddEventHandler("vRP:MySQL_task", function(task_id, data)
2415-- print("vRP:MySQL_task "..task_id)
2416 local cb = tasks[task_id]
2417 if data.status == 1 then
2418 if cb then
2419 if data.mode == 0 then
2420 cb(data.affected or 0)
2421 elseif data.mode == 1 then
2422 cb(data.scalar or 0)
2423 elseif data.mode == 2 then
2424 cb(data.rows or {}, data.affected or 0) -- rows, affected
2425 end
2426 end
2427 elseif data.status == -1 then
2428 print("[vRP] task "..task_id.." failed.")
2429 end
2430
2431 tasks[task_id] = nil
2432
2433 if MySQL.debug and dpaths[task_id] then
2434 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
2435 dpaths[task_id] = nil
2436 end
2437end)
2438
2439local task_id = -1
2440AddEventHandler("vRP:MySQL_taskid", function(_task_id)
2441-- print("vRP:MySQL_taskid ".._task_id)
2442 task_id = _task_id
2443end)
2444
2445-- host can be "host" or "host:port"
2446function MySQL.createConnection(name,host,user,password,db,debug)
2447-- print("[vRP] try to create connection "..name)
2448 -- parse port in host as "ip:port"
2449 local host_parts = splitString(host,":")
2450 if #host_parts >= 2 then
2451 host = host_parts[1]..";port="..host_parts[2]
2452 end
2453
2454 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
2455
2456-- TriggerEvent("vRP:MySQL:createConnection", name, config)
2457 exports.vrp_mysql:createConnection(name, config)
2458end
2459
2460function MySQL.createCommand(path, query)
2461-- print("[vRP] try to create command "..path)
2462-- TriggerEvent("vRP:MySQL:createCommand", path, query)
2463 exports.vrp_mysql:createCommand(path, query)
2464end
2465
2466-- generic query
2467function MySQL._query(path, args, mode, cb)
2468 -- TriggerEvent("vRP:MySQL:query", path, args)
2469 if not (type(args) == "table") then
2470 args = {}
2471 end
2472
2473 -- force args to be a C# dictionary
2474 args._none = " "
2475
2476-- exports.vrp_mysql:query(path, args)
2477-- print("[vRP] try to query "..path.." id "..task_id)
2478 TriggerEvent("vRP:MySQL_query", path, args, mode)
2479 if MySQL.debug then
2480 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
2481 dpaths[task_id] = path
2482 end
2483
2484 tasks[task_id] = cb
2485end
2486
2487-- do a query (multiple rows)
2488--- cb(rows, affected)
2489function MySQL.query(path, args, cb)
2490 MySQL._query(path, args, 2, cb)
2491end
2492
2493-- do a scalar query (one row, one column)
2494--- cb(scalar)
2495function MySQL.scalar(path, args, cb)
2496 MySQL._query(path, args, 1, cb)
2497end
2498
2499-- do a execute query (no results)
2500--- cb(affected)
2501function MySQL.execute(path, args, cb)
2502 MySQL._query(path, args, 0, cb)
2503end
2504
2505-- return module
2506return MySQL
2507:45)
2508> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
2509> fn (@vrp_mysql/init.lua:3)
2510server thread hitch warning: timer interval of 549 milliseconds
2511server thread hitch warning: timer interval of 445 milliseconds
2512server thread hitch warning: timer interval of 342 milliseconds
2513server thread hitch warning: timer interval of 329 milliseconds
2514server thread hitch warning: timer interval of 253 milliseconds
2515server thread hitch warning: timer interval of 252 milliseconds
2516server thread hitch warning: timer interval of 226 milliseconds
2517Malthe Schack: du skal nok ans├©ge p├Ñ discord
2518server thread hitch warning: timer interval of 220 milliseconds
2519server thread hitch warning: timer interval of 191 milliseconds
2520server thread hitch warning: timer interval of 170 milliseconds
2521server thread hitch warning: timer interval of 151 milliseconds
2522server thread hitch warning: timer interval of 159 milliseconds
2523server thread hitch warning: timer interval of 154 milliseconds
2524server thread hitch warning: timer interval of 153 milliseconds
2525server thread hitch warning: timer interval of 174 milliseconds
2526server thread hitch warning: timer interval of 260 milliseconds
2527server thread hitch warning: timer interval of 283 milliseconds
2528server thread hitch warning: timer interval of 224 milliseconds
2529server thread hitch warning: timer interval of 252 milliseconds
2530server thread hitch warning: timer interval of 205 milliseconds
2531server thread hitch warning: timer interval of 171 milliseconds
2532server thread hitch warning: timer interval of 198 milliseconds
2533server thread hitch warning: timer interval of 219 milliseconds
2534ÔÖíim trashÔÖí forbinder til serveren
2535Connecting: ÔÖíim trashÔÖí
2536server thread hitch warning: timer interval of 216 milliseconds
2537server thread hitch warning: timer interval of 171 milliseconds
2538server thread hitch warning: timer interval of 217 milliseconds
2539server thread hitch warning: timer interval of 186 milliseconds
2540server thread hitch warning: timer interval of 183 milliseconds
2541server thread hitch warning: timer interval of 198 milliseconds
2542server thread hitch warning: timer interval of 169 milliseconds
2543Sending player (11) ELS data
2544InvokeNative: execution failed: Argument at index 1 was null.
2545SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
2546> handler (@rconlog/rconlog_server.lua:12)
2547server thread hitch warning: timer interval of 159 milliseconds
2548INFO: User [11] th3 k1ng authenticated - [10] [11] th3 k1ng@62.107.73.103:57235:57235
2549[vRP] ÔÖíim trashÔÖí (62.198.13.79) joined (user_id = 34)
2550Trucziii forbinder til serveren
2551Connecting: Trucziii
2552server thread hitch warning: timer interval of 161 milliseconds
2553server thread hitch warning: timer interval of 186 milliseconds
2554server thread hitch warning: timer interval of 255 milliseconds
2555nil
2556SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
2557server thread hitch warning: timer interval of 268 milliseconds
2558server thread hitch warning: timer interval of 246 milliseconds
2559server thread hitch warning: timer interval of 480 milliseconds
2560server thread hitch warning: timer interval of 410 milliseconds
2561server thread hitch warning: timer interval of 416 milliseconds
2562SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2563> fn (@vrp/base.lua:467)
2564error: proxy call vRP:getPhoneDirectory not found
2565SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
2566> finish (@vrp/lib/utils.lua:43)
2567> task (@vrp/lib/utils.lua:47)
2568> cb (@vrp/modules/identity.lua:42)
2569> handler (- begin MySQL module
2570local MySQL = {}
2571
2572MySQL.debug = false
2573local dpaths = {}
2574
2575local tasks = {}
2576
2577--[[
2578local function tick()
2579 SetTimeout(1, function() -- protect errors from breaking the loop
2580 SetTimeout(1000, tick)
2581
2582 local rmtasks = {}
2583 for id,cb in pairs(tasks) do
2584 local r = exports.vrp_mysql:checkTask(id)
2585 if r.status == 1 then
2586 cb(r.rows,r.affected) -- rows, affected
2587 table.insert(rmtasks, id)
2588 elseif r.status == -1 then
2589 print("[vRP] task "..id.." failed.")
2590 table.insert(rmtasks, id)
2591 end
2592 end
2593
2594 -- remove done tasks
2595 for k,v in pairs(rmtasks) do
2596 tasks[v] = nil
2597 end
2598 end)
2599end
2600tick()
2601--]]
2602
2603AddEventHandler("vRP:MySQL_task", function(task_id, data)
2604-- print("vRP:MySQL_task "..task_id)
2605 local cb = tasks[task_id]
2606 if data.status == 1 then
2607 if cb then
2608 if data.mode == 0 then
2609 cb(data.affected or 0)
2610 elseif data.mode == 1 then
2611 cb(data.scalar or 0)
2612 elseif data.mode == 2 then
2613 cb(data.rows or {}, data.affected or 0) -- rows, affected
2614 end
2615 end
2616 elseif data.status == -1 then
2617 print("[vRP] task "..task_id.." failed.")
2618 end
2619
2620 tasks[task_id] = nil
2621
2622 if MySQL.debug and dpaths[task_id] then
2623 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
2624 dpaths[task_id] = nil
2625 end
2626end)
2627
2628local task_id = -1
2629AddEventHandler("vRP:MySQL_taskid", function(_task_id)
2630-- print("vRP:MySQL_taskid ".._task_id)
2631 task_id = _task_id
2632end)
2633
2634-- host can be "host" or "host:port"
2635function MySQL.createConnection(name,host,user,password,db,debug)
2636-- print("[vRP] try to create connection "..name)
2637 -- parse port in host as "ip:port"
2638 local host_parts = splitString(host,":")
2639 if #host_parts >= 2 then
2640 host = host_parts[1]..";port="..host_parts[2]
2641 end
2642
2643 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
2644
2645-- TriggerEvent("vRP:MySQL:createConnection", name, config)
2646 exports.vrp_mysql:createConnection(name, config)
2647end
2648
2649function MySQL.createCommand(path, query)
2650-- print("[vRP] try to create command "..path)
2651-- TriggerEvent("vRP:MySQL:createCommand", path, query)
2652 exports.vrp_mysql:createCommand(path, query)
2653end
2654
2655-- generic query
2656function MySQL._query(path, args, mode, cb)
2657 -- TriggerEvent("vRP:MySQL:query", path, args)
2658 if not (type(args) == "table") then
2659 args = {}
2660 end
2661
2662 -- force args to be a C# dictionary
2663 args._none = " "
2664
2665-- exports.vrp_mysql:query(path, args)
2666-- print("[vRP] try to query "..path.." id "..task_id)
2667 TriggerEvent("vRP:MySQL_query", path, args, mode)
2668 if MySQL.debug then
2669 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
2670 dpaths[task_id] = path
2671 end
2672
2673 tasks[task_id] = cb
2674end
2675
2676-- do a query (multiple rows)
2677--- cb(rows, affected)
2678function MySQL.query(path, args, cb)
2679 MySQL._query(path, args, 2, cb)
2680end
2681
2682-- do a scalar query (one row, one column)
2683--- cb(scalar)
2684function MySQL.scalar(path, args, cb)
2685 MySQL._query(path, args, 1, cb)
2686end
2687
2688-- do a execute query (no results)
2689--- cb(affected)
2690function MySQL.execute(path, args, cb)
2691 MySQL._query(path, args, 0, cb)
2692end
2693
2694-- return module
2695return MySQL
2696:45)
2697> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
2698> fn (@vrp_mysql/init.lua:3)
2699server thread hitch warning: timer interval of 853 milliseconds
2700INFO: User [12] (PIKK) Asshole authenticated - [11] [12] (PIKK) Asshole@2.107.144.209:53859:53859
2701Sending player (12) ELS data
2702server thread hitch warning: timer interval of 851 milliseconds
2703InvokeNative: execution failed: Argument at index 1 was null.
2704SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
2705> handler (@rconlog/rconlog_server.lua:12)
2706Fisk forbinder til serveren
2707Connecting: Fisk
2708server thread hitch warning: timer interval of 923 milliseconds
2709SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2710> addUserGroup (@vrp/modules/group.lua:61)
2711> cb (@vrp/modules/group.lua:227)
2712> f (@vrp/modules/gui.lua:182)
2713> handler (
2714local Tools = module("lib/Tools")
2715local Debug = module("lib/Debug")
2716
2717-- this file describe a two way proxy between the server and the clients (request system)
2718
2719local Tunnel = {}
2720
2721-- define per dest regulator
2722Tunnel.delays = {}
2723
2724-- set the base delay between Triggers for this destination in milliseconds (0 for instant trigger)
2725function Tunnel.setDestDelay(dest, delay)
2726 Tunnel.delays[dest] = {delay, 0}
2727end
2728
2729local function tunnel_resolve(itable,key)
2730 local mtable = getmetatable(itable)
2731 local iname = mtable.name
2732 local ids = mtable.tunnel_ids
2733 local callbacks = mtable.tunnel_callbacks
2734 local identifier = mtable.identifier
2735
2736 -- generate access function
2737 local fcall = function(dest,args,callback)
2738 if args == nil then
2739 args = {}
2740 end
2741
2742 -- get delay data
2743 local delay_data = Tunnel.delays[dest]
2744 if delay_data == nil then
2745 delay_data = {0,0}
2746 end
2747
2748 -- increase delay
2749 local add_delay = delay_data[1]
2750 delay_data[2] = delay_data[2]+add_delay
2751
2752 if delay_data[2] > 0 then -- delay trigger
2753 SetTimeout(delay_data[2], function()
2754 -- remove added delay
2755 delay_data[2] = delay_data[2]-add_delay
2756
2757 -- send request
2758 if type(callback) == "function" then -- ref callback if exists (become a request)
2759 local rid = ids:gen()
2760 callbacks[rid] = callback
2761 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
2762 else -- regular trigger
2763 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
2764 end
2765 end)
2766 else -- no delay
2767 -- send request
2768 if type(callback) == "function" then -- ref callback if exists (become a request)
2769 local rid = ids:gen()
2770 callbacks[rid] = callback
2771 TriggerClientEvent(iname..":tunnel_req",dest,key,args,identifier,rid)
2772 else -- regular trigger
2773 TriggerClientEvent(iname..":tunnel_req",dest,key,args,"",-1)
2774 end
2775 end
2776 end
2777
2778 itable[key] = fcall -- add generated call to table (optimization)
2779 return fcall
2780end
2781
2782-- bind an interface (listen to net requests)
2783-- name: interface name
2784-- interface: table containing functions
2785function Tunnel.bindInterface(name,interface)
2786 -- receive request
2787 RegisterServerEvent(name..":tunnel_req")
2788 AddEventHandler(name..":tunnel_req",function(member,args,identifier,rid)
2789 local source = source
2790 local delayed = false
2791
2792 if Debug.active then
2793 Debug.pbegin("tunnelreq#"..rid.."_"..name..":"..member.." "..json.encode(Debug.safeTableCopy(args)))
2794 end
2795
2796 local f = interface[member]
2797
2798 local rets = {}
2799 if type(f) == "function" then
2800 -- bind the global function to delay the return values using the returned function with args
2801 TUNNEL_DELAYED = function()
2802 delayed = true
2803 return function(rets)
2804 rets = rets or {}
2805
2806 if rid >= 0 then
2807 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
2808 end
2809 end
2810 end
2811
2812 rets = {f(table.unpack(args))} -- call function
2813 -- CancelEvent() -- cancel event doesn't seem to cancel the event for the other handlers, but if it does, uncomment this
2814 end
2815
2816 -- send response (even if the function doesn't exist)
2817 if not delayed and rid >= 0 then
2818 TriggerClientEvent(name..":"..identifier..":tunnel_res",source,rid,rets)
2819 end
2820
2821 if Debug.active then
2822 Debug.pend()
2823 end
2824 end)
2825end
2826
2827-- get a tunnel interface to send requests
2828-- name: interface name
2829-- identifier: unique string to identify this tunnel interface access (the name of the current resource should be fine)
2830function Tunnel.getInterface(name,identifier)
2831 local ids = Tools.newIDGenerator()
2832 local callbacks = {}
2833
2834 -- build interface
2835 local r = setmetatable({},{ __index = tunnel_resolve, name = name, tunnel_ids = ids, tunnel_callbacks = callbacks, identifier = identifier })
2836
2837 -- receive response
2838 RegisterServerEvent(name..":"..identifier..":tunnel_res")
2839 AddEventHandler(name..":"..identifier..":tunnel_res",function(rid,args)
2840 if Debug.active then
2841 Debug.pbegin("tunnelres#"..rid.."_"..name.." "..json.encode(Debug.safeTableCopy(args)))
2842 end
2843
2844 local callback = callbacks[rid]
2845 if callback ~= nil then
2846 -- free request id
2847 ids:free(rid)
2848 callbacks[rid] = nil
2849
2850 -- call
2851 callback(table.unpack(args))
2852 end
2853
2854 Debug.pend()
2855 end)
2856
2857 return r
2858end
2859
2860return Tunnel
2861:100)
2862server thread hitch warning: timer interval of 966 milliseconds
2863server thread hitch warning: timer interval of 941 milliseconds
2864server thread hitch warning: timer interval of 970 milliseconds
2865nil
2866SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
2867SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
2868> ref (@vrp_scoreboard/server.lua:45)
2869> finish (@vrp/lib/utils.lua:43)
2870> fn (@vrp/lib/utils.lua:48)
2871server thread hitch warning: timer interval of 993 milliseconds
2872server thread hitch warning: timer interval of 903 milliseconds
2873[vRP] Fisk (2.104.163.132) rejected: identification error
2874server thread hitch warning: timer interval of 872 milliseconds
2875SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
2876> fn (@vrp/base.lua:467)
2877[vRP] Trucziii (147.78.29.163) joined (user_id = 35)
2878server thread hitch warning: timer interval of 1438 milliseconds
2879error: proxy call vRP:getPhoneDirectory not found
2880SCRIPT ERROR: @gcphone/server/server.lua:90: bad argument #1 to 'pairs' (table expected, got string)
2881> finish (@vrp/lib/utils.lua:43)
2882> task (@vrp/lib/utils.lua:47)
2883> cb (@vrp/modules/identity.lua:42)
2884> handler (- begin MySQL module
2885local MySQL = {}
2886
2887MySQL.debug = false
2888local dpaths = {}
2889
2890local tasks = {}
2891
2892--[[
2893local function tick()
2894 SetTimeout(1, function() -- protect errors from breaking the loop
2895 SetTimeout(1000, tick)
2896
2897 local rmtasks = {}
2898 for id,cb in pairs(tasks) do
2899 local r = exports.vrp_mysql:checkTask(id)
2900 if r.status == 1 then
2901 cb(r.rows,r.affected) -- rows, affected
2902 table.insert(rmtasks, id)
2903 elseif r.status == -1 then
2904 print("[vRP] task "..id.." failed.")
2905 table.insert(rmtasks, id)
2906 end
2907 end
2908
2909 -- remove done tasks
2910 for k,v in pairs(rmtasks) do
2911 tasks[v] = nil
2912 end
2913 end)
2914end
2915tick()
2916--]]
2917
2918AddEventHandler("vRP:MySQL_task", function(task_id, data)
2919-- print("vRP:MySQL_task "..task_id)
2920 local cb = tasks[task_id]
2921 if data.status == 1 then
2922 if cb then
2923 if data.mode == 0 then
2924 cb(data.affected or 0)
2925 elseif data.mode == 1 then
2926 cb(data.scalar or 0)
2927 elseif data.mode == 2 then
2928 cb(data.rows or {}, data.affected or 0) -- rows, affected
2929 end
2930 end
2931 elseif data.status == -1 then
2932 print("[vRP] task "..task_id.." failed.")
2933 end
2934
2935 tasks[task_id] = nil
2936
2937 if MySQL.debug and dpaths[task_id] then
2938 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
2939 dpaths[task_id] = nil
2940 end
2941end)
2942
2943local task_id = -1
2944AddEventHandler("vRP:MySQL_taskid", function(_task_id)
2945-- print("vRP:MySQL_taskid ".._task_id)
2946 task_id = _task_id
2947end)
2948
2949-- host can be "host" or "host:port"
2950function MySQL.createConnection(name,host,user,password,db,debug)
2951-- print("[vRP] try to create connection "..name)
2952 -- parse port in host as "ip:port"
2953 local host_parts = splitString(host,":")
2954 if #host_parts >= 2 then
2955 host = host_parts[1]..";port="..host_parts[2]
2956 end
2957
2958 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
2959
2960-- TriggerEvent("vRP:MySQL:createConnection", name, config)
2961 exports.vrp_mysql:createConnection(name, config)
2962end
2963
2964function MySQL.createCommand(path, query)
2965-- print("[vRP] try to create command "..path)
2966-- TriggerEvent("vRP:MySQL:createCommand", path, query)
2967 exports.vrp_mysql:createCommand(path, query)
2968end
2969
2970-- generic query
2971function MySQL._query(path, args, mode, cb)
2972 -- TriggerEvent("vRP:MySQL:query", path, args)
2973 if not (type(args) == "table") then
2974 args = {}
2975 end
2976
2977 -- force args to be a C# dictionary
2978 args._none = " "
2979
2980-- exports.vrp_mysql:query(path, args)
2981-- print("[vRP] try to query "..path.." id "..task_id)
2982 TriggerEvent("vRP:MySQL_query", path, args, mode)
2983 if MySQL.debug then
2984 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
2985 dpaths[task_id] = path
2986 end
2987
2988 tasks[task_id] = cb
2989end
2990
2991-- do a query (multiple rows)
2992--- cb(rows, affected)
2993function MySQL.query(path, args, cb)
2994 MySQL._query(path, args, 2, cb)
2995end
2996
2997-- do a scalar query (one row, one column)
2998--- cb(scalar)
2999function MySQL.scalar(path, args, cb)
3000 MySQL._query(path, args, 1, cb)
3001end
3002
3003-- do a execute query (no results)
3004--- cb(affected)
3005function MySQL.execute(path, args, cb)
3006 MySQL._query(path, args, 0, cb)
3007end
3008
3009-- return module
3010return MySQL
3011:45)
3012> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
3013> fn (@vrp_mysql/init.lua:3)
3014server thread hitch warning: timer interval of 1488 milliseconds
3015Fisk forbinder til serveren
3016Connecting: Fisk
3017server thread hitch warning: timer interval of 1587 milliseconds
3018SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
3019> ref (@vrp_scoreboard/server.lua:45)
3020> finish (@vrp/lib/utils.lua:43)
3021> fn (@vrp/lib/utils.lua:48)
3022SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
3023> ref (@vrp_scoreboard/server.lua:45)
3024> finish (@vrp/lib/utils.lua:43)
3025> task (@vrp/lib/utils.lua:47)
3026> cb (@vrp/modules/identity.lua:42)
3027> handler (- begin MySQL module
3028local MySQL = {}
3029
3030MySQL.debug = false
3031local dpaths = {}
3032
3033local tasks = {}
3034
3035--[[
3036local function tick()
3037 SetTimeout(1, function() -- protect errors from breaking the loop
3038 SetTimeout(1000, tick)
3039
3040 local rmtasks = {}
3041 for id,cb in pairs(tasks) do
3042 local r = exports.vrp_mysql:checkTask(id)
3043 if r.status == 1 then
3044 cb(r.rows,r.affected) -- rows, affected
3045 table.insert(rmtasks, id)
3046 elseif r.status == -1 then
3047 print("[vRP] task "..id.." failed.")
3048 table.insert(rmtasks, id)
3049 end
3050 end
3051
3052 -- remove done tasks
3053 for k,v in pairs(rmtasks) do
3054 tasks[v] = nil
3055 end
3056 end)
3057end
3058tick()
3059--]]
3060
3061AddEventHandler("vRP:MySQL_task", function(task_id, data)
3062-- print("vRP:MySQL_task "..task_id)
3063 local cb = tasks[task_id]
3064 if data.status == 1 then
3065 if cb then
3066 if data.mode == 0 then
3067 cb(data.affected or 0)
3068 elseif data.mode == 1 then
3069 cb(data.scalar or 0)
3070 elseif data.mode == 2 then
3071 cb(data.rows or {}, data.affected or 0) -- rows, affected
3072 end
3073 end
3074 elseif data.status == -1 then
3075 print("[vRP] task "..task_id.." failed.")
3076 end
3077
3078 tasks[task_id] = nil
3079
3080 if MySQL.debug and dpaths[task_id] then
3081 print("[vRP] MySQL end query "..dpaths[task_id].." ("..task_id..")")
3082 dpaths[task_id] = nil
3083 end
3084end)
3085
3086local task_id = -1
3087AddEventHandler("vRP:MySQL_taskid", function(_task_id)
3088-- print("vRP:MySQL_taskid ".._task_id)
3089 task_id = _task_id
3090end)
3091
3092-- host can be "host" or "host:port"
3093function MySQL.createConnection(name,host,user,password,db,debug)
3094-- print("[vRP] try to create connection "..name)
3095 -- parse port in host as "ip:port"
3096 local host_parts = splitString(host,":")
3097 if #host_parts >= 2 then
3098 host = host_parts[1]..";port="..host_parts[2]
3099 end
3100
3101 local config = "server="..host..";uid="..user..";pwd="..password..";database="..db..";"
3102
3103-- TriggerEvent("vRP:MySQL:createConnection", name, config)
3104 exports.vrp_mysql:createConnection(name, config)
3105end
3106
3107function MySQL.createCommand(path, query)
3108-- print("[vRP] try to create command "..path)
3109-- TriggerEvent("vRP:MySQL:createCommand", path, query)
3110 exports.vrp_mysql:createCommand(path, query)
3111end
3112
3113-- generic query
3114function MySQL._query(path, args, mode, cb)
3115 -- TriggerEvent("vRP:MySQL:query", path, args)
3116 if not (type(args) == "table") then
3117 args = {}
3118 end
3119
3120 -- force args to be a C# dictionary
3121 args._none = " "
3122
3123-- exports.vrp_mysql:query(path, args)
3124-- print("[vRP] try to query "..path.." id "..task_id)
3125 TriggerEvent("vRP:MySQL_query", path, args, mode)
3126 if MySQL.debug then
3127 print("[vRP] MySQL begin query (m"..mode..") "..path.." ("..task_id..")")
3128 dpaths[task_id] = path
3129 end
3130
3131 tasks[task_id] = cb
3132end
3133
3134-- do a query (multiple rows)
3135--- cb(rows, affected)
3136function MySQL.query(path, args, cb)
3137 MySQL._query(path, args, 2, cb)
3138end
3139
3140-- do a scalar query (one row, one column)
3141--- cb(scalar)
3142function MySQL.scalar(path, args, cb)
3143 MySQL._query(path, args, 1, cb)
3144end
3145
3146-- do a execute query (no results)
3147--- cb(affected)
3148function MySQL.execute(path, args, cb)
3149 MySQL._query(path, args, 0, cb)
3150end
3151
3152-- return module
3153return MySQL
3154:45)
3155> void vRP.MySQL.e_tick() (@vrp_mysql/mysql.net.dll:0)
3156> fn (@vrp_mysql/init.lua:3)
3157server thread hitch warning: timer interval of 1698 milliseconds
3158Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
3159SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
3160> ref (@vrp_scoreboard/server.lua:45)
3161> finish (@vrp/lib/utils.lua:43)
3162> fn (@vrp/lib/utils.lua:48)
3163server thread hitch warning: timer interval of 1683 milliseconds
3164[vRP] Fisk (2.104.163.132) rejected: identification error
3165server thread hitch warning: timer interval of 1507 milliseconds
3166server thread hitch warning: timer interval of 1471 milliseconds
3167server thread hitch warning: timer interval of 1566 milliseconds
3168server thread hitch warning: timer interval of 1709 milliseconds
3169server thread hitch warning: timer interval of 2015 milliseconds
3170server thread hitch warning: timer interval of 1927 milliseconds
3171Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
3172server thread hitch warning: timer interval of 1781 milliseconds
3173server thread hitch warning: timer interval of 1970 milliseconds
3174server thread hitch warning: timer interval of 2086 milliseconds
3175SCRIPT ERROR: @clothing/server.lua:39: attempt to index a nil value (global 'models')
3176server thread hitch warning: timer interval of 2024 milliseconds
3177jomso forbinder til serveren
3178Connecting: jomso
3179_Kryzi_ | csgocases.com forbinder til serveren
3180Connecting: _Kryzi_ | csgocases.com
3181server thread hitch warning: timer interval of 2108 milliseconds
3182server thread hitch warning: timer interval of 1995 milliseconds
3183strader forbinder til serveren
3184Connecting: strader
3185[vRP] _Kryzi_ | csgocases.com (128.0.73.25) rejected: identification error
3186SCRIPT ERROR: @vrp_scoreboard/server.lua:29: attempt to index a nil value (local 'identity')
3187> ref (@vrp_scoreboard/server.lua:29)
3188> finish (@vrp/lib/utils.lua:43)
3189> fn (@vrp/lib/utils.lua:48)
3190[vRP] jomso (5.186.125.4) rejected: identification error
3191server thread hitch warning: timer interval of 1966 milliseconds
3192server thread hitch warning: timer interval of 1920 milliseconds
3193Tracker forbinder til serveren
3194Connecting: Tracker
3195server thread hitch warning: timer interval of 1985 milliseconds
3196INFO: User [13] Trucziii authenticated - [12] [13] Trucziii@147.78.29.163:48362:48362
3197[vRP] strader (0.0.0.0) rejected: identification error
3198server thread hitch warning: timer interval of 2083 milliseconds
3199SCRIPT ERROR: @clothing/server.lua:39: attempt to index a nil value (global 'models')
3200Sending player (13) ELS data
3201InvokeNative: execution failed: Argument at index 1 was null.
3202SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
3203> handler (@rconlog/rconlog_server.lua:12)
3204[vRP] Tracker (85.24.26.210) rejected: identification error
3205server thread hitch warning: timer interval of 2088 milliseconds
3206nil
3207SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
3208Dem0n 1MPRESS forbinder til serveren
3209Connecting: Dem0n 1MPRESS
3210server thread hitch warning: timer interval of 2125 milliseconds
3211Tracker forbinder til serveren
3212Connecting: Tracker
3213SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
3214> fn (@vrp/base.lua:467)
3215jomso forbinder til serveren
3216Connecting: jomso
3217server thread hitch warning: timer interval of 2528 milliseconds
3218[vRP] Dem0n 1MPRESS (83.221.156.53) rejected: identification error
3219server thread hitch warning: timer interval of 2708 milliseconds
3220_Kryzi_ | csgocases.com forbinder til serveren
3221Connecting: _Kryzi_ | csgocases.com
3222SCRIPT ERROR: @vrp_scoreboard/server.lua:45: attempt to index a nil value (local 'identity')
3223> ref (@vrp_scoreboard/server.lua:45)
3224> finish (@vrp/lib/utils.lua:43)
3225> fn (@vrp/lib/utils.lua:48)
3226[vRP] jomso (5.186.125.4) rejected: identification error
3227[vRP] Tracker (85.24.26.210) rejected: identification error
3228server thread hitch warning: timer interval of 3235 milliseconds
3229Tracker forbinder til serveren
3230Connecting: Tracker
3231server thread hitch warning: timer interval of 3895 milliseconds
3232Dem0n 1MPRESS forbinder til serveren
3233Connecting: Dem0n 1MPRESS
3234[vRP] Tracker (85.24.26.210) rejected: identification error
3235[vRP] _Kryzi_ | csgocases.com (128.0.73.25) rejected: identification error
3236server thread hitch warning: timer interval of 4218 milliseconds
3237SCRIPT ERROR: @clothing/server.lua:39: attempt to index a nil value (global 'models')
32381
32391
32401
3241[vRP] Dem0n 1MPRESS (0.0.0.0) rejected: identification error
3242server thread hitch warning: timer interval of 4433 milliseconds
3243server thread hitch warning: timer interval of 4810 milliseconds
3244INFO: User [14] ÔÖíim trashÔÖí authenticated - [13] [14] ÔÖíim trashÔÖí@62.198.13.79:55737:55737
3245_Kryzi_ | csgocases.com forbinder til serveren
3246Connecting: _Kryzi_ | csgocases.com
3247server thread hitch warning: timer interval of 5247 milliseconds
3248Elias forbinder til serveren
3249Connecting: Elias
3250P├©lsemix-___- forbinder til serveren
3251Connecting: P├©lsemix-___-
3252Sending player (14) ELS data
3253InvokeNative: execution failed: Argument at index 1 was null.
3254SCRIPT ERROR: Execution of native 000000002f7a49e6 in script host failed.
3255> handler (@rconlog/rconlog_server.lua:12)
3256[vRP] _Kryzi_ | csgocases.com (128.0.73.25) rejected: identification error
3257server thread hitch warning: timer interval of 5849 milliseconds
3258nil
3259SCRIPT ERROR: @clothing/server.lua:7: attempt to index a nil value (global 'models')
3260Fisk forbinder til serveren
3261Connecting: Fisk
3262Elias forbinder til serveren
3263Connecting: Elias
3264P├©lsemix-___- forbinder til serveren
3265Connecting: P├©lsemix-___-
3266P├©lsemix-___- forbinder til serveren
3267Connecting: P├©lsemix-___-
3268[vRP] Fisk (2.104.163.132) rejected: identification error
3269[vRP] Elias (85.129.12.158) rejected: identification error
3270SCRIPT ERROR: @vrp_id_display/server.lua:81: attempt to index a nil value (upvalue 'cfg')
3271> fn (@vrp/base.lua:467)
3272[vRP] Elias (0.0.0.0) rejected: identification error
3273[vRP] P├©lsemix-___- (0.0.0.0) rejected: identification error
3274EWJgamer forlod serveren (Exiting)
3275[vRP] 185.107.171.50 disconnected (user_id = 26)
3276server thread hitch warning: timer interval of 12173 milliseconds
3277Sending heartbeat to https://servers-ingress-live.fivem.net/ingress
3278Dem0n 1MPRESS forbinder til serveren
3279Connecting: Dem0n 1MPRESS
3280SCRIPT ERROR: @vrp_scoreboard/server.lua:48: attempt to index a nil value (local 'identity')
3281> ref (@vrp_scoreboard/server.lua:48)
3282> finish (@vrp/lib/utils.lua:43)
3283> fn (@vrp/lib/utils.lua:48)
3284[vRP] Dem0n 1MPRESS (0.0.0.0) rejected: identification error
3285[vRP] P├©lsemix-___- (0.0.0.0) rejected: identification error
3286[vRP] P├©lsemix-___- (0.0.0.0) rejected: identification error
3287jomso forbinder til serveren
3288Connecting: jomso
3289server thread hitch warning: timer interval of 15305 milliseconds
3290Stopping resource vrp_scoreboard
3291Elias forbinder til serveren
3292Connecting: Elias
3293strader forbinder til serveren
3294Connecting: strader
3295cfx> say genstart!
32961
32971
32981
3299Tracker forbinder til serveren
3300Connecting: Tracker
3301[vRP] Elias (0.0.0.0) rejected: identification error
3302[vRP] strader (5.103.244.84) rejected: identification error
3303[vRP] jomso (0.0.0.0) rejected: identification error
3304server thread hitch warning: timer interval of 22387 milliseconds
3305cfx> sa^C
3306G