Witam, mam taki problem, ze w pliku z GUI po stronie clienta jest wszystko ok, mam ustalona zmienna i w ogole i gdy pobieram ja w pliku po stronie serwera to wyskakuje blad (tak, jest globalna ta zmienna)
Kody:
c.lua
local function sprawdzSerialPoKliknieciu(plr,gracz)
zamie? na:
local function sprawdzSerialPoKliknieciu(gracz)
Dlaczego? Pierwszym dodatkowym argumentem w triggerServerEvent u ciebie jest w?a?nie szukany gracz, wi?c tak samo powinno by? po stronie serwera. plr definiujesz p??niej, korzystaj?c ze zmiennej client, wi?c to wystarczy.
No, ogolem plr nie definiowalem ale zdefiniowalem bo myslalem, ze to cos pomoze, w kazdym razie dziala ale nadal jesli chce aby na chacie wyswietlil sie nick czyli inaczej string ktory wpisalem w GUI to wyskakuje blad ERROR: guiserialg/s.lua:4: atempt to concatenate local 'graczguis' (a userdata value)
Konkretnie to jest ta linia:
outputChatBox("Serial gracza "..graczguis.." to "..theSerial,plr,0,255,0)
A gdy wywoluje wiadomosc bez nicku gracza to jest git (pozmienialem gracz na graczguis wszedzie jak cos zeby czasem nie bylo zadnych komplikacji z innymi skryptami bo nie wiem czy tak mozna, jestem poczatkujacy w LUA)
local gui = {}
gui.window = guiCreateWindow(0.02, 0.24, 0.20, 0.18, "Check serial by Ramzes", true)
guiWindowSetSizable(gui.window, false)
guiSetVisible(gui.window, false)
gui.edit = guiCreateEdit(0.04, 0.21, 0.93, 0.17, "Type nickname", true, gui.window)
gui.button = guiCreateButton(0.04, 0.46, 0.93, 0.22, "Check serial", true, gui.window)
guiSetFont(gui.button, "default-bold-small")
gui.buttonexit = guiCreateButton(0.04, 0.75, 0.93, 0.16, "Exit", true, gui.window)
function kliknietyPrzycisk()
nickgraczaguis = guiGetText(gui.edit)
graczguis = getPlayerFromName(nickgraczaguis)
if not graczguis then
outputChatBox("Type correct nickname!",255,0,0)
return
end
if graczguis then
triggerServerEvent("poKliknieciuSerwer",resourceRoot,graczguis)
end
end
addEventHandler("onClientGUIClick",gui.button,kliknietyPrzycisk,false)
local function wylaczGUI()
guiSetVisible(gui.window, false)
showCursor(false)
end
addEventHandler("onClientGUIClick",gui.buttonexit,wylaczGUI,false)
local function wlaczGUI()
guiSetVisible(gui.window, true)
showCursor(true, true)
end
addCommandHandler("checkserial", wlaczGUI)
addCommandHandler("cserial", wlaczGUI)
Po stronie serwera
function sprawdzSerial(plr, graczguis)
local theSerial = getPlayerSerial(graczguis)
local accName = getAccountName ( getPlayerAccount ( plr ) ) -- get his account name
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then -- Does he have access to Admin functions?
outputChatBox("Serial is: "..theSerial,plr,0,255,0)
outputChatBox("Serial of "..graczguis.." is "..theSerial,plr,0,255,0)
else
outputChatBox("You must be Admin!",plr,255,0,0)
end
end
addEvent("poKliknieciuSerwer",true)
local function sprawdzSerialPoKliknieciu(graczguis)
local plr = client
sprawdzSerial(plr,graczguis)
end
addEventHandler("poKliknieciuSerwer",resourceRoot,sprawdzSerialPoKliknieciu)
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach