Szerző Téma: Biciklin ne legyen motor?  (Megtekintve 882 alkalommal)

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Biciklin ne legyen motor?
« Dátum: 2014. augusztus 10. - 14:57:18 »
0 Show voters
Sziasztok
Van 1 motor scriptem :
 
forward motorinditas(playerid);
forward lefulladtkocsi(playerid);
new kocsimotor[MAX_VEHICLES];
public OnPlayerStateChange(playerid, newstate, oldstate)
{
        new kocsiid = GetPlayerVehicleID(playerid);
        if(newstate == PLAYER_STATE_DRIVER)
        {
            if(kocsimotor[kocsiid] == 0)
            {
                TogglePlayerControllable(playerid, 0);
                SendClientMessage(playerid, CITROM, \"A motor nincs beinditva\");
                SendClientMessage(playerid, NARANCS, \"Az inditáshoz nyomj /SHIFT/-et\");
                }
                else if(kocsimotor[kocsiid] == 1)
                {
                TogglePlayerControllable(playerid, 1);
                SendClientMessage(playerid, CITROM, \"A motor bevan inditva\");
            }
        }
        return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new kocsiid = GetPlayerVehicleID(playerid);
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(kocsimotor[kocsiid] == 0)
            {
                if(newkeys == KEY_JUMP)
                {
                                kocsimotor[kocsiid] = 2;
                                SetTimerEx(\"motorinditas\", 3000, 0, \"i\", playerid);
                                SendClientMessage(playerid, SIKER, \"A motor beindult\");
                        }
                }
                if(newkeys == KEY_SECONDARY_ATTACK)
                {
                    RemovePlayerFromVehicle(playerid);
                    TogglePlayerControllable(playerid, 1);
                }
        }
        return 1;
}
public motorinditas(playerid)
{
    new kocsiid = GetPlayerVehicleID(playerid);
    new Float:elet;
    new rand = random(2);
    GetVehicleHealth(kocsiid, elet);
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(kocsimotor[kocsiid] == 2)
            {
                if(elet > 300)
                        {
                            if(rand == 0)
                            {
                                kocsimotor[kocsiid] = 1;
                                TogglePlayerControllable(playerid, 1);
                                SetTimerEx(\"lefulladtkocsi\", 1000, 1, \"i\", playerid);
                                SendClientMessage(playerid, SIKER, \"A motor beindult\");
                                }
                                if(rand == 1)
                                {
                                    kocsimotor[kocsiid] = 0;
                                    TogglePlayerControllable(playerid, 0);
                                    SendClientMessage(playerid, HIBA, \"A motor nem indult be\");
                                }
                        }
                        else
                        {
                            kocsimotor[kocsiid] = 0;
                            TogglePlayerControllable(playerid, 0);
                            SendClientMessage(playerid, HIBA, \"A jármû motorja elromlott\");
                        }
                }
        }
        return 1;
}
public lefulladtkocsi(playerid)
{
    new kocsiid = GetPlayerVehicleID(playerid);
    new Float:elet;
    GetVehicleHealth(kocsiid, elet);
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(kocsimotor[kocsiid] == 1)
            {
                if(elet < 300)
                        {
                            kocsimotor[kocsiid] = 0;
                            TogglePlayerControllable(playerid, 0);
                            SendClientMessage(playerid, HIBA, \"A jármû motorja lefulladt\");
                        }
                }
        }
        return 1;
}

 
Azt szeretném ha például biciklin ül akkor ne keljen a motor-t beinditani :(
A bicikli id : 510
Köszönöm

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Biciklin ne legyen motor?
« Válasz #1 Dátum: 2014. augusztus 10. - 14:59:36 »
+1 Show voters
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 510) printf(\"Ez egy bicikli, amelynek nem tudod beindítani a nem létezõ motorját.\");

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Biciklin ne legyen motor?
« Válasz #2 Dátum: 2014. augusztus 10. - 15:51:49 »
0 Show voters
Azért mentsd, hogy fel lehessen szállni rá, viszont le\"állítva\"(biciklizárazva) nem mehet vele. Ez reális így.

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Biciklin ne legyen motor?
« Válasz #3 Dátum: 2014. augusztus 10. - 16:48:20 »
0 Show voters
Köszönöm szépen! :D
 
forward biciklizar(playerid);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetVehicleModel(vehicleid) == 510)
{
SendClientMessage(playerid, CITROM, \"Ird be /biciklizar\");
TogglePlayerControllable(playerid,0);
}
}
return 1;
}
CMD:biciklizar(playerid, params[])
{
SetTimerEx(\"biciklizar\", 3000, 1, \"i\", playerid);
SendClientMessage(playerid, CITROM, \"Kinyitod a postásbicikli zárját\");
cmd_me(playerid, \"zörög a postásbicikli zárával\");
}
public biciklizar(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}

 
Az a gond, hogy amikor ráül a biciklire nem fut le neki szerintem,,, mert el sem küldi még a SCM-et se...
« Utoljára szerkesztve: 2014. augusztus 10. - 18:20:38 írta Dfoglalo »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Biciklin ne legyen motor?
« Válasz #4 Dátum: 2014. augusztus 10. - 18:23:15 »
0 Show voters
Szia. Az OnPlayerEnterVehicle eljárás az \"Enter\" gomb lenyomása után fut le egybõl. Tehát akkor még csak a jármû közelében van, de nem ül benne/rajta. Ha úgy akarod hogy a kód akkor játszódjon le amikor ráül a biciklire akkor az OnPlayerUpdate eljárást kell használnod. Ja és a /biciklizar parancsnál egy pár feltétel még hiányzott, hozzáadtam.
 
forward biciklizar(playerid);
public OnPlayerUpdate(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new vehid;
vehid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehid) == 510)
{
   SendClientMessage(playerid, CITROM, \"Ird be /biciklizar\");
   TogglePlayerControllable(playerid,0);
}
}
return 1;
}
CMD:biciklizar(playerid)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, CITROM, \"Nem ülsz biciklin!\");
new vehid;
vehid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehid) != 510) return SendClientMessage(playerid, CITROM, \"Nem ülsz biciklin!\");
SetTimerEx(\"biciklizar\", 3000, 0, \"i\", playerid);
SendClientMessage(playerid, CITROM, \"Kinyitod a postásbicikli zárját\");
cmd_me(playerid, \"zörög a postásbicikli zárával\");
return 1;
}
public biciklizar(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
« Utoljára szerkesztve: 2014. augusztus 10. - 18:29:16 írta BoOy »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal