GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Jim Toretto - 2015. április 06. - 18:09:48

Cím: Jármű beindítása!
Írta: Jim Toretto - 2015. április 06. - 18:09:48
Sziasztok!
Egy olyan kérdésem lenne, hogy hogyan lehet azt megoldani hogyha beszállok a kocsiba akkor ne indúljon be rögtön hanem csak akkor ha egy paranccsal indítom a járművet. Azt hiszem ennek van egy külön funkciója amivel ezt az alap jármű indulást kilehet szedni de nem tudom mi ez a funkció :(
Valaki tudna nekem segíteni ?
Előre is köszönöm!
Cím: Jármű beindítása!
Írta: M1A1 - 2015. április 06. - 18:38:15
OnGameModeInit-nél meghívod:
 
ManualVehicleEngineAndLights();

 
A beindításnál/leállításnál pedig Get-/SetVehicleParamsEx-t használsz.
http://wiki.sa-mp.com/wiki/SetVehicleParamsEx
Kis Gugglizással simán megtalálhattad volna.
Cím: Jármű beindítása!
Írta: Delta - 2015. április 07. - 15:38:43
elméletileg működik, de nem teszteltem:
 
#include <a_samp>
new bool:EngineON[MAX_VEHICLES];
public OnFilterScriptInit() {
    ManualVehicleEngineAndLights();
print(\"Motorindító FS betöltve\");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, \"/motor\", true))
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        if(!EngineON[vehicleid]) {
   EngineON[vehicleid] = true;
            UpdateVehicleParamsEx(vehicleid, true, \"Engine\");
}
else {
    EngineON[vehicleid] = false;
    UpdateVehicleParamsEx(vehicleid, false, \"Engine\");
    return 1;
}
    }
    return 1;
}
stock UpdateVehicleParamsEx(vehicleid, bool: status, {_, Float}: ...) { // készítő: Ryder
    new vehicleParams[7];
new vehicleParamsData[7][10] = { {\"Engine\"},{\"Lights\"}, {\"Alarm\"}, {\"Doors\"}, {\"Bonnet\"}, {\"Boot\"}, {\"Objective\"} };
    new totalArgs = numargs();
    if(totalArgs < 3) {
return 0;
}
    GetVehicleParamsEx(vehicleid, vehicleParams[0], vehicleParams[1], vehicleParams[2], vehicleParams[3], vehicleParams[4], vehicleParams[5], vehicleParams[6]);
    for(new i = 2, j = 0, ch = \'\\0\'; i != totalArgs; ++i) {
        new tempString[10];
        for(j = 0; (ch = getarg(i, j)) != EOS; ++j) {
            tempString[j] = ch;
        }
        for(j = 0; j != sizeof(vehicleParamsData); ++j) {
            if(!strcmp(vehicleParamsData[j], tempString, true)) {
                vehicleParams[j] = status;
            }
        }
    }
    SetVehicleParamsEx(vehicleid, vehicleParams[0], vehicleParams[1], vehicleParams[2], vehicleParams[3], vehicleParams[4], vehicleParams[5], vehicleParams[6]);
    return 1;
}
Cím: Jármű beindítása!
Írta: florone - 2015. április 10. - 04:16:22

#include <zcmd> //mod elejére
public OnGameModeInit() //alá valahová
{
ManualVehicleEngineAndLights();
return 1;
}
//==========================
CMD:motorbe(playerid, params[])
{
        new vid = GetPlayerVehicleID(playerid);
        if(vid != INVALID_VEHICLE_ID)
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
        return 1;
}
CMD:motorki(playerid, params[])
{
        new vid = GetPlayerVehicleID(playerid);
        if(vid != INVALID_VEHICLE_ID)
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
        return 1;
}

 
Forrása: http://sampforum.hu/index.php?topic=32149.0
Avagy: http://pastebin.com/L6v1Gkkz
Cím: Jármű beindítása!
Írta: Flash - 2015. április 11. - 19:39:13
Megoldódott a problémád?