-
Üdv! Lenne egy ilyen script amivel különféle járműveket lehet bemódolni.
function replaceskin() -- az admiral egy példa
txd = engineLoadTXD(\"vehs/admiral.txd\", 445)
engineImportTXD(txd, 445)
dff = engineLoadDFF(\"vehs/admiral.dff\", 445)
engineReplaceModel(dff, 445)
end
addEventHandler ( \"onClientResourceStart\", getResourceRootElement(getThisResource()), replaceskin)
Ezt szeretném kiegészíteni egy addCommandHandler parrancsal ==> reloadcar, amit lényegében bármilyen ember/játékos beírna akkor csak nála újra töltődnének be az autók.
Ez lehetséges??!
Köszönök mindenféle segítséget!!!
-
Szerintem csak azt lehet hogy mindenkinek újra töltötdjenek.
stopResoruce
startResource
Egy resourceba rakod az összes kcosit és úgy.
-
Szia, megoldható, a HL-esek megcsinálták. Nem vagyok scripter, nem értek hozzá, gondolom ez a rész lesz.
addEventHandler ( \"onClientResourceStart\", resourceRoot, function ( )
triggerServerEvent ( \"requestReplacements\", localPlayer )
end )
function kocsiKiBe()
triggerServerEvent ( \"turnOffMods\", localPlayer )
-- outputChatBox(\"Jármű modok kikapcsolva! A bekapcsoláshoz írd be: \'/be\'!\", 0,255,0)
end
addCommandHandler(\"ki\",kocsiKiBe)
function kocsiKi()
triggerServerEvent ( \"requestReplacements\", localPlayer )
-- outputChatBox(\"Jármű modok bekapcsolva! A bekapcsoláshoz írd be: \'/ki\'!\", 0,255,0)
end
addCommandHandler(\"be\",kocsiKi)
addEvent ( \"replaceModels\", true )
addEventHandler ( \"replaceModels\", root, function ( replacedVehicles, replacedWeapons, replacedskin )
local totalVehicles = table.size ( replacedVehicles )
local scannedVehicles = 0
for modelName,modelID in pairs ( replacedVehicles ) do
scannedVehicles = scannedVehicles + 1
loadMod ( \"veh\", modelName, modelID )
if allowCollisions and scannedVehicles == totalVehicles then
replaceVehicleCollisions ( replacedVehicles )
end
end
end )
addEvent ( \"TurnOffVehicleMods\", true )
addEventHandler ( \"TurnOffVehicleMods\", root, function ( replacedVehicles, replacedWeapons, replacedskin )
local totalVehicles = table.size ( replacedVehicles )
local scannedVehicles = 0
for modelName,modelID in pairs ( replacedVehicles ) do
scannedVehicles = scannedVehicles + 1
engineRestoreModel ( modelID )
end
end )
-
Ha jól látom akkor table-okkal oldoták meg. (Vagy mivel xD)
-
Ezt szeretném kiegészíteni egy addCommandHandler parrancsal ==> reloadcar
Miért nem teszed?
addCommandHandler(\"reloadcar\", replaceskin)
-
Szia.
Ha egyszerűen reloadolni szeretnéd a járműveket, akkor meghívod a replace funkciót egy paranccsal:
function replaceskin() -- az admiral egy példa
txd = engineLoadTXD(\"vehs/admiral.txd\")
engineImportTXD(txd, 445)
dff = engineLoadDFF(\"vehs/admiral.dff\")
engineReplaceModel(dff, 445)
txd = engineLoadTXD(\"vehs/bullet.txd\")
engineImportTXD(txd, 445)
dff = engineLoadDFF(\"vehs/bullet.dff\")
engineReplaceModel(dff, 445)
-- és még a maradék kocsi, és egy scriptbe megtudod írni
-- a legutolsó betöltött skin törlése a memóriából:
txd = nil
dff = nil
end
addEventHandler(\"onClientResourceStart\", getResourceRootElement(getThisResource()), replaceskin)
addCommandHandler(\"reloadcar\", replaceskin)
Skint/kocsit kikapcsolni meg a engineRestoreModel-lel tudsz.
Illetve van egy rövidebb script is:
function replaceskin(file, model)
engineImportTXD(engineLoadTXD(\"vehs/\"..file..\".txd\"), model)
engineReplaceModel(engineLoadDFF(\"vehs/\"..file..\".dff\", model), model)
end
replaceskin(\"admiral\", 445)
-- és a többi járművet is ide
Még azt kihagsúlyoznám, hogy az engineLoadTXD-nek és az engineLoadDFF-nek csak 1 argument kell (a régebbi verziójú MTA-ba kellett ID-t megadni betöltéshez).
Robika1