Jelentkezz be, hogy követhesd  
Követő(k) 0
Xenius

[SCRIPT] Kliens oldali variáns

2 hozzászólás ebben a témában

Sziasztok, gondoltam megosztom veletek hogyan lehet kliens oldalon variánst váltani egy járművön. Ez a megoldás bizonyos esetekben nagyon hasznos tud lenni, hiszen nem kell ezért triggerelni a szervert.

Szóval, a lényeg hogy létrehozunk kliens oldalon egy új járművet, az aktuális variánsal amit szeretnénk (createVehicle) és azt a szerver oldalon létrehozott járművünkre ragasztjuk (attach). Ha szeretnénk speciális elemeket (pl tuningot rá tenni) akkor azt egy 50ms-es timerrel kell megoldani, mert a jármű létrehozásakor nem lehet azonnal rá tenni semmit sem az element datán kívük. (valami stream hiba lehet az mtaban)

Fontos: hogy ha eltűntetjük a létrehozott ideiglenes járművet, akkor a szerver oldalon frissíteni kell a jármű hasmagasságát egy triggerrel. Példa:

addEvent("tuning->fixChassis", true)
addEventHandler("tuning->fixChassis", root, function(veh)
setVehicleHandling(veh, "suspensionLowerLimit", exports.handling:getHandlingProperty(getElementModel(veh), "suspensionLowerLimit"))
setVehicleHandling(veh, "suspensionUpperLimit", exports.handling:getHandlingProperty(getElementModel(veh), "suspensionUpperLimit"))
end)

Függvény:

local actualVariants = {255, 255}
local attachedVeh
local oldVehicle
function setVehicleVariant(veh, var1, var2)
local x, y, z = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
attachedVeh = createVehicle(getElementModel(veh), x, y, z, rx, ry, rz, getVehiclePlateText(veh), var1, var2)
setElementCollisionsEnabled(attachedVeh, false)
setElementAlpha(attachedVeh, 0)

actualVariants = {var1, var2}

setTimer(function(veh, attachedVeh)
	for k, v in ipairs(getVehicleUpgrades(veh)) do
		addVehicleUpgrade(attachedVeh, v)
	end

	local r, g, b = getVehicleHeadLightColor(veh)
	setVehicleHeadLightColor(veh, r, g, b)

	local r1, g1, b1, r2, b2, g2, r3, b3, g3, r4, g4, b4 = getVehicleColor(veh, true)
	setVehicleColor(attachedVeh, r1, g1, b1, r2, b2, g2, r3, b3, g3, r4, g4, b4)

	oldVehicle = veh
	setElementAlpha(veh, 0)
	setElementAlpha(attachedVeh, 255)
end, 50, 1, veh, attachedVeh)

attachElements(attachedVeh, veh)

return attachedVeh
end

4 emberek kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Regisztrálj vagy jelentkezz be, hogy válaszolhass

Csak felhasználóként kommentelhetsz.

Regisztrálj

Légy közösségünk tagja még ma! Csak fél perc.


Regisztrálok

Jelentkezz be

Már van felhasználód? Lépj be!


Bejelentkezek
Jelentkezz be, hogy követhesd  
Követő(k) 0