Modoláshoz parancs

Indította Lorain, 2016. augusztus 12. - 21:37:02

Előző téma - Következő téma

Lorain

Ü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!!!

ustanmufj

Szerintem csak azt lehet hogy mindenkinek újra töltötdjenek.
stopResoruce
startResource
Egy resourceba rakod az összes kcosit és úgy.

BlackSy

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 )

ustanmufj

Ha jól látom akkor table-okkal oldoták meg. (Vagy mivel xD)

impreZZa

Idézetet írta: Lorain date=1471030622\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62617\" data-ipsquote-contentclass=\"forums_TopicEzt szeretném kiegészíteni egy addCommandHandler parrancsal ==> reloadcar
 
Miért nem teszed?
 
addCommandHandler(\"reloadcar\", replaceskin)

Robika1

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 https://wiki.multitheftauto.com/wiki/EngineRestoreModel\" rel=\"external nofollow\">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