A triggereléssel szerver oldalról kliens oldalra, valamint fordítva lehet \"közlekedni\". Lehet hülyén fogalmaztam, de így meg lehet érteni:D
Kliens oldalon:
triggerServerEvent(\"szerverOldaliFunctionNeve\",root, localPlayer, adat1, adat2, adat3)
Ami a \"\" jel között van ugye az lesz a neve szerver oldalon a functionnak. Úgymond ez lesz meghívva, csak kliens oldalról. A root ugye hogy annak a személynek akivel éppen történik. Az adat1, adat2, adat3 pedig az egyéb dolgok(nem tudom hogy lehetne nevezni őket). Pl ha egy klikkelt elemet akarsz átvinni, vagy egy targetPlayer-t, akkor oda írod azokat.
Szerver oldalon pedig amikor fogadja:
addEvent(\"szerverOldaliFunctionNeve\",true)
addEventHandler(\"szerverOldaliFunctionNeve\",root,function(target, adat1, adat2, adat3)
...
end)
Itt van a function amire átjöttünk. A function(adat1, adat2, adat3)-nál lehet más megnevezésű a zárójelben lévő, de a darabszámnak meg kell felelni. Én ugyan azt szoktam használni, nem kavarodok bele.
Szerver oldalról kliens oldalra pedig ugyan az a menete, csak triggerelésnél így kell megadni:
triggerClientEvent(target,\"clientOldaliFunctionNeve\",getRootElement(), adat1, adat2, adat3)
Javítsatok ki, ha tévedek, hülyeséget nem akarok írni!:D
Mondjuk van egy client akkor egy járműboltba veszel egy kocsit. Ugye amit nézegetsz kocsit, az mondjuk legyen = probakocsi.
Triggereled kliens oldalról szerver oldalra:
probakocsi = createVehicle ( 560, x, y, z, 0, 0, 0 )
model = getElementModel(probakocsi)
szin1, szin2, szin3, szin4 = getVehicleColor(probakocsi)
triggerServerEvent(\"jarmuLetrehozas\",root,localPlayer, probakocsi, model, szin1, szin2, szin3, szin4)
És a szerver oldalon pedig:
addEvent(\"jarmuLetrehozas\",true)
addEventHandler(\"jarmuLetrehozas\",root,function(target, model, szin1, szin2, szin3, szin4)
--itt meg a kliens oldalról áthoztad a targetet, amit egyenlő a playerrel(localPlayer), valamint a probakocsit, ami a választott járműved
local penz = tonumber(getElementData(target, \"money\")) or 0
if penz > 500 then
.....
end
end)
Vagy sima parancs, kliens oldalon:
function jarmuKeszit(thePlayer, model)
if model then
triggerServerEvent(\"jarmuKeszites\",root, thePlayer, model)
else
outputChatBox(\"[HASZNÁLAT] /makeveh [ModelID]\", 255, 255, 255)
end
end
addCommandHandler(\"makeveh\", jarmuKeszit)
Szerver oldal:
addEvent(\"jarmuKeszites\",true)
addEventHandler(\"jarmuKeszites\",root,function(target, model)
local x, y, z = getElementPosition(target)
local jarmu = createVehicle ( tonumber(model), x, y, z, 0, 0, 0 )
end)
De azt elmondom, hogy ezeket nem teszteltem, úgyhogy nem biztos, hogy működnek!