Szerző Téma: Modoláshoz parancs  (Megtekintve 810 alkalommal)

Modoláshoz parancs
« Dátum: 2016. augusztus 12. - 21:37:02 »
0 Show voters
Ü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!!!

Modoláshoz parancs
« Válasz #1 Dátum: 2016. augusztus 12. - 21:42:17 »
0 Show voters
Szerintem csak azt lehet hogy mindenkinek újra töltötdjenek.
stopResoruce
startResource
Egy resourceba rakod az összes kcosit és úgy.

Modoláshoz parancs
« Válasz #2 Dátum: 2016. augusztus 12. - 21:47:28 »
0 Show voters
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 )

Modoláshoz parancs
« Válasz #3 Dátum: 2016. augusztus 12. - 21:50:38 »
0 Show voters
Ha jól látom akkor table-okkal oldoták meg. (Vagy mivel xD)

Modoláshoz parancs
« Válasz #4 Dátum: 2016. augusztus 12. - 22:30:29 »
0 Show voters
Idézetet írta: Lorain date=1471030622\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62617\" data-ipsquote-contentclass=\"forums_Topic
Ezt szeretném kiegészíteni egy addCommandHandler parrancsal ==> reloadcar
 
Miért nem teszed?
 
addCommandHandler(\"reloadcar\", replaceskin)

Modoláshoz parancs
« Válasz #5 Dátum: 2016. augusztus 12. - 22:31:10 »
0 Show voters
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

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal