function kupBaze()
if source==buttonKup then
local mail = tostring(guiGetText(editEmail))
if guiCheckBoxGetSelected(checkDuza)==true then
triggerServerEvent ( "kupbaze", localPlayer, "DuzaBaza", mail)
elseif guiCheckBoxGetSelected(checkSrednia)==true then
triggerServerEvent ( "kupbaze", localPlayer, "SredniaBaza", mail)
elseif guiCheckBoxGetSelected(checkMala)==true then
triggerServerEvent ( "kupbaze", localPlayer, "MalaBaza", mail)
else end else end
end
addEventHandler("onClientGUIClick",getRootElement(),kupBaze)
S:
function createBase(RodzajBazy,Email) local acc= getPlayerAccount(localPlayer) local PP = getAccountData(acc,"PP") or 0 if RodzajBazy=="DuzaBaza" then if PP>=30 then
outputChatBox("Kupiles..", player)
else outputChatBox("Nie stac cie", player) end else end
end
addEvent( "kupbaze", true ) addEventHandler( "kupbaze", root, createBase )
W debugscript'cie wyskakuje mi b??d z getPlayerAccount bo argument pierwszy to nil... Jaki element musze tam wstawi? aby dzia?a?o? I czy przy argumentach w funkcji te? musze zadeklarowa? nowy element jako gracza? Prosz? o pomoc
Siemka ! M?g?by mi kto? dok?adnie wyt?umaczy? jak si? triggeruje po stronie Client jak i Server (chyba ?e tak samo) i poda? jaki? sensowny przyk?ad ? Z g?ry dzi?kuj? i nagradzam zimnym &
Na wst?pie chcia?bym o?wiadczy?, ?e za rozwi?zanie tego problemu daj? tyle piw ile zdo?am oraz respekt, a je?li nadal ma?o to mog? co? jeszcze dorzuci?.
Witam. Mam dylemat, poniewa? nie wiem jak i czy w og?le mo?na ztriggerowa? ServerEvent odpowiadaj?cy np. za dawanie jetpacka bez rangi Administratora ?
oznacza to tyle, ?e je?li nadusimy button z gui Admina, to damy jetpack lub dostaniemy. (w zaleznosci od celu)
Przejdzmy to samego triggeru...
pierwszy argument "aPlayer" oznacza nazwe eventu, drugi element wykonuj?cy trigger, trzeci gracza kt?ry ma dosta? jetpacka (gracza, nie jego nick czy konto). Natomiast czwarty jest to tzw. action czyli akcja (w tym przypadku "jetpack" czyli danie jetpacka)
po ztriggerowaniu w?druje to do serwera :
gdzie mamy takie co?
[lua]
elseif ( action == "jetpack" ) then
if ( doesPedHaveJetPack ( player ) ) then
removePedJetPack ( player )
action = "jetpackr"
else
if ( getPedOccupiedVehicle ( player ) ) then outputChatBox ( "Unable to give a jetpack - "..getPlayerName ( player ).." is in a vehicle", source, 255, 0, 0 )
else
if ( givePedJetPack ( player ) ) then
action = "jetpacka"
end
end
end
[/lua]
Dzisiejsza nazwa tematu si? ze sob? wi??e, mimo ?e napisa?em j? mi?dzy tymi, no.. kreskami.
W guieditor stworzy?em Gui, jest git, jest 12 labeli, 1/2 z nich to stringi np Nazwa Gracza:", czyli ju? troszk? si? mo?na domy?li? ?e robi? statystyki.
Te wszystkie durne statystyki z Community nie s? tak zbudowane jak bym chcia?, dlatego zamiast dalej robi? skrypty zatrzyma?em si?. (Nie ?e pobieram itd, ale jak mam problem i nie mam ju? pomys??w i siedz? nad nim kupe czasu to staram si? znale?? podobny skrypt i zobaczy? jak go?? to rozwi?za?)
Prawdopodobnie robi? b??d przy triggerku, dlatego prosz? Was by?cie odpowiedzieli mi na jedno pytanie, i pokazali w jaki spos?b to zrobi?.
Pytanie brzmi, czy triggerem da si? przes?a? klika warto?ci z serverside? To chc? osi?gn??, poniewa? w mym gui znajduje si? label "Ranga", w moim wypadku 1 to po prostu gracz, a? tak do pi?ciu, wi?c chc? t? liczb? przenie?? do clientside i? w nim nie pobior? accountdata, bo to tylko server only.
M?j bind wygl?da tak, ma tak wygl?da?, wiem, ?e to jest dobrze:
[code]function toggleGui()
if (guiGetVisible(window)) then
showCursor(false)
guiSetVisible(window,false)
elseif (not isCursorShowing()) then
showCursor(true)
guiSetVisible(window,true)
end
end
bindKey("F2","down",toggleGui)[/code]
Wcze?niej zamiast tego: [b]showCursor(true), guiSetVisible(window,true)[/b]
zrobi?em trigger, elegancko przechodzi?o. I tu prosz? o kod sside do cside, i? gdy p...