[SCRIPT] Kliens oldali variáns - Scriptek - GTAKözösség
[SCRIPT] Kliens oldali variáns
Xenius indította, Június 29, 2016
Elküldve Június 29, 2016
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"))
local actualVariants = {255, 255}
local attachedVeh
local oldVehicle
function setVehicleVariant(veh, var1, var2)
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)
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
Elküldve Július 29, 2016
Köszi Xenius, ment a pacsi! :) :thumbsup: