Dzie? dobry. Nowy dzie?, nowy problem z .lua. Chcia?em doda? sobie gui do pracy, aby po naci?ni?ciu guzika "Rozpocznij prac?" praca si? rozpoczyna?a, a nie od razu po wej?ciu w marker. Doda?em gui po wej?ciu w marker po stronie clienta, po stronie servera go odpalam, wszystko ?adnie pi?knie dop?ki nie zaczn? pracy. Po wci?ni?ciu nic sie nie dzieje, opr?cz pojawienia si? notyfikacji o rozpocz?ciu pracy. Tak jakby triggerServerEvent nic tam nie robi?. Brak b??d?w w DB3.
SERVER
[lua]local code = "Autobusy"
local zone = createColSphere( -1751.31,951.90,25.89, 6 )
function start(el, md)
if getElementData(root, "vehicle_job_owner") then
return
end
if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end
if getElementData(el,"player:job") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("[#00ff00INFORMACJA#ffffff]Kto? ju? zajmuje to miejsce, poczekaj a? odjedzie.",el,255,255,255,true) return end
local x,y,z = getElementPosition(el)
local autbus = createVehicle(437, -1751.31,951.90,25.89, 0.00, 0, 270 )
setElementFrozen(el,true)
setElementData(autbus,"vehicle:desc","Praca dorywczan Kierowca autobusu")
setElementData(autbus, "vehi...
Od jakiego? czasu ucz? si? pisa? skrypty do mta w j?zyku lua i napotka?em problem z kt?rym nie spos?b mi sobie poradzi?, a mianowicie gdy pr?buje wywo?a? triggerem event po stronie serwera kt?ry odbiera pieni?dze graczowi skrypt w debugu pokazuje mi ?e takePlayerMoney powinien mie? inny argument na pierwszym miejscu,a ja nie mam poj?cia co tam wstawi?.
WARNING: marichuanaserver.lua:88: Bad argument @ `takePlayerMoney [Expected element at argument 1, got nill]
strona klienta:
addEventHandler("onClientGUIClick",przyciskbuy , function()
local money=getPlayerMoney()
if money >= 6500 then
if plecakc == 0 then
outputChatBox("Pomy?lnie dokonano zakupu!",0, 255, 0)
triggerServerEvent ( "onGreeting", resourceRoot, "." )
plecakc=1
end
end
end)
strona serwera
function greetingHandler ()
takePlayerMoney(element, -6500)
outputChatBox("server side working corectly", element, 255, 0, 0)
plecak=1
end
function zmiana_avataru (el,md)
if el ~= localPlayer and md then return end
if guiGetText(link) == "" then return end
triggerServerEvent("triggeruj:link", localPlayer, guiGetText(link))
end
[code]addEventHandler("onClientClick", root, function(btn, state) -- UP US 1
if btn == "left" and state == "down" then
if guiMECHUPGRADE == true then
if guiMECHde == true then return end
if isMouseIn(558/zoom, 378/zoom, 226/zoom, 213/zoom) then
guiMECHup = false
showCursor(false)
guiMECHUPGRADE = false
setElementData(localPlayer, "notshowhud", false)
triggerServerEvent("mk1up", localPlayer)
local auto = getPedOccupiedVehicle(localPlayer)
setElementFrozen(auto, false)
end
end
end
end)
[/code]
[code]addEvent("mk1up", true)
addEventHandler("mk1up", root, function()
local hajs = getPlayerMoney(source)
local ccar = getPedOccupiedVehicle(source)
local cena = 15
if getElementData(ccar, "vehicle:ownedPlayer") == getElementData(client, "player:sid") then
if hajs < cena then outputChatBox("BIEDOKA NIE STA? XD") return end
local id = getElementData(ccar, "vehicle:id")
if not id then outputChatBox("To nie jest pojazd prywatny") return end
local qr = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk1=?",getElementData(ccar, "vehicle:id"), &q...
Siemka, potrzebuje pomocy z triggerServerEvent. Mam skrypt na panel pomocy f1 i chcia?bym aby Tab"Admin" by? dost?pny tylko dla admin?w i ?eby tylko oni widzieli ?e takie co? istnieje.
Tak wygl?da kod kt?ry zrobi?em ale to nie dzia?a bo ka?dy to widzi.
Client:
if Pomoc.tab == GlownaTab then
dxDrawText("Tutaj cos b?dzie pisalo", sx / 2 - scale_x(340), sy / 2 - scale_x(325), sx / 2 + scale_x(600), sy / 2 + scale_x(340), white, 1, font5, "center", "center", false, true, true, true) triggerServerEvent("sprawdzdate", resourceRoot, localPlayer) elseif Pomoc.tab == AdminTab then
dxDrawText("Test:", sx / 2 - scale_x(340), sy / 2 - scale_x(325), sx / 2 + scale_x(600), sy / 2 + scale_x(340), white, 1, font5, "center", "center", false, true) end
end
Server:
addEvent("sprawdzdate", true) addEventHandler("sprawdzdate", resourceRoot, function(plr)
if isObjectInACLGroup ("user."..getAccountName ( getPlayerAccount ( plr ) ), aclGetGroup ( "Admin" ) ) then return end
end)
[ Dodano: 2019-11-15, 21:05 ]
Chyba ze udaloby si? komus zrobi? to pod ElementDate "player:admin" to ju? wgl super by by?o
Za pomoc leci piwko i respekt
Witajcie mam problem z funkcj? triggerServerEvent.
Ot?? robie pewien skrypt, kt?ry mia? polegac na tym ze jak wci?nie si? guzik to teleportuje do pojazdu.
Lecz po kliknieciu, tworzy pojazd ale do niego nie tepa.
Tutaj daje kod:
client: (cz??? kodu odpowiadaj?ca za to)
addEventHandler( "onClientClick", root, function( button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement )
if button == "left" and state == "down" then if isElementWithinMarker( localPlayer, markerek ) then if isMouseInPosition(sx / 2 - scale_x(100), sy / 2 - scale_x(-200), scale_x(200), scale_x(70)) then
triggerServerEvent("CC", resourceRoot, plr) end
end
end
end)
Witam m?j problem polega na tym, ?e wywala b??d ?e event nie zosta? dodany po stronie serwera a dla mnie jest w porz?dku. Milion razy analizowa?em kod i nic. Prosz? o pomoc.
function wystawOst(editbox, wybor2) editbox = guiGetText(edit) wybor2 = guiGridListGetItemText(grid3, guiGridListGetSelectedItem(grid3), 1) triggerServerEvent("dajUpomn", localPlayer, editbox, wybor2) end
addEventHandler("onClientGUIClick", wystaw2, wystawOst)
function upomnienie(editbox, wybor2) nick = getPlayerFromName(wybor2) outputChatBox("Otrzyma?e? upomnienie od pracownika FCSD. Tre??: "..editbox.."", nick, 0, 0, 0, true) end
addEvent("dajUpomn", true) addEventHandler("dajUpomn", getRootElement(), upomnienie)
Witajcie, mianowicie mam problem z moj? funkcj?, w db3 wy?wietla si?
ERROR: Client (Lala) triggered serverside event sprawdz_towar1 but event is not added to serverside
s-side:
]function Towar1(player)
-- moj kod bla bla bla
end
addEvent("sprawdz_towar1", true ) addEventHandler("sprawdz_towar1", resourceRoot, Towar1)
c-side:
function wybierz(player)
--moj kod bla bla
triggerServerEvent("sprawdz_towar1", resourceRoot) end
addEventHandler("onClientGUIClick", xwybierz, wybierz)
funkcja po stronie s-side kt?ra jest wywo?ywana po klikni?ciu w button nie dzia?a a w db3 b??d co da?em u g?ry.
Witam! Mam problem z triggerem. Mianowicie w konsoli po wci?ni?ciu buttonu pojawia si? :
[code]
ERROR: Client (nick) triggered serverside event onLoginStart, but event is not added serverside[/code]
Kod po stronie clienta:
[lua]function btnClicks()
if source == login["logbtn"] then
local login = guiGetText(login["logedt"])
local haslo = guiGetText(login["passedt"])
triggerServerEvent("onLoginStart", localPlayer, login, haslo)
elseif source == login["regbtn"] then
local login = guiGetText(login["logedt"])
local haslo = guiGetText(login["passedt"])
triggerServerEvent("onRegisterStart", localPlayer, login, haslo)
end
end[/lua]
Kod po stronie servera:
[lua]function onLoginStart(login, haslo)
if login ~= false then
if haslo ~= false then
local acc = getAccount(login, haslo)
if acc ~= false then
logIn(source, acc, haslo)
triggerClientEvent(source, "onLoginFinish", getRootElement())
else
triggerClientEvent(source, "wrongAcc", getRootElement())
end
else
triggerClientEvent(source, "noPass", getRootElement())
end
else
triggerClientEvent(source, "noLogin", getRootElement())
end
end
addEvent("onLoginStart", true)
addEventHandler("onLoginStart", getRootElement(), onLoginStart)[/lua]
EDIT:
Trigger ju? dzia?a. W mecie da?em client zamiast server. Ale pojawi?...
Czy przenoszenie eventu powinno wygl?da? tak:
triggerServerEvent ( "onLogin", getRootElement(), getLocalPlayer(), login, haslo)
czy tak :
triggerServerEvent ( "onLogin", getLocalPlayer(), getLocalPlayer(), login, haslo)
Bo ju? sam nie wiem, i o co wgl chodzi z tym getRootElement?
for k, v in ipairs ( towary ) do lolek = getElementData(vehicle, "praca")
if lolek == k then
kasa = math.random(v[4],v[5]) outputChatBox("Yeah! " .. v[4] .. " yeah! " .. v[5], player) triggerServerEvent("kasa", source, money) end
end
Server:
function money(source) givePlayerMoney(source, kasa) end
addEvent("kasa", true) addEventHandler("kasa", getRootElement(), money)