Szerző Téma: Triggerelés  (Megtekintve 1419 alkalommal)

Triggerelés
« Dátum: 2016. december 30. - 15:39:30 »
0 Show voters
Sziasztok! Elég jól haladok a lua-val, viszont egy dolgot még mindig egyeltalán nem értek. A triggerelést. Tudnátok segíteni egy-egy példával?

Triggerelés
« Válasz #1 Dátum: 2016. december 30. - 16:31:38 »
0 Show voters
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
« Utoljára szerkesztve: 2016. december 30. - 16:33:42 írta Hasirama »

Triggerelés
« Válasz #2 Dátum: 2016. december 30. - 18:11:10 »
0 Show voters
Ezt a targetet és az adat1, adat2, adat3-mat el tudnád részletesebben magyarázni?

Triggerelés
« Válasz #3 Dátum: 2016. december 30. - 18:24:06 »
0 Show voters
Vagyis ha például kocsit szeretnék lerakni, akkor azt hogyan teszem.

Triggerelés
« Válasz #4 Dátum: 2016. december 30. - 18:42:28 »
0 Show voters
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!

Triggerelés
« Válasz #5 Dátum: 2016. december 30. - 19:08:22 »
0 Show voters
Remek! Már csak az a baj, hogy nem tudok beleszálni... :) De működik amit leírtál.

Triggerelés
« Válasz #6 Dátum: 2016. december 30. - 19:52:48 »
0 Show voters

setVehicleLocked ( jarmu, false )

Triggerelés
« Válasz #7 Dátum: 2016. december 30. - 19:54:08 »
0 Show voters
Szerintem ez nem az amire mi gondoltunk. Megnézem, pillanat

Triggerelés
« Válasz #8 Dátum: 2016. december 30. - 19:54:39 »
0 Show voters
Nem :(

Triggerelés
« Válasz #9 Dátum: 2016. december 30. - 21:19:46 »
0 Show voters
Akkor hogy nem enged beszállni? Megnyomod az F-et, és semmi sem történik? Debugscript ír valamit?

Triggerelés
« Válasz #10 Dátum: 2017. január 04. - 21:05:02 »
0 Show voters
Nekem volt régen egy car-shop scriptem, ugyan igy oldaottam meg de most telorol nem tudok sokat mondani (elv mukodnie kéne)

Triggerelés
« Válasz #11 Dátum: 2017. január 05. - 06:25:07 »
0 Show voters
A kocsi spawn-t kliens oldalra írod?

Triggerelés
« Válasz #12 Dátum: 2017. január 17. - 17:53:36 »
0 Show voters
Lehet bump, ma vettem észre, de klien oldalon létrehozott kocsiba nem lehet beszállni.
 
 

Triggerelés
« Válasz #13 Dátum: 2017. január 17. - 18:05:31 »
0 Show voters
Ez így van, azért kérdeztem. :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal