Jump to content

Startování motoru


Recommended Posts

Tutorial na jednoduché startování motoru, někomu se to může hodit pro nějáky realný mod mod. Není to nic profi, je to hlavně pro začátečníky.

 

Takže začínáme.

 

 

Nahoru pod includy dejte

forward Motor(playerid);    //Forward pro vyvolání publicu
new bool:MotorStarted[MAX_PLAYERS];    //Definice proměny s 2možnosti true/false
#define KEY_TAB (1)       //Nadefinuje tlačítko 'TAB'
#define COLOR_MODRA 0x0000FFAA

 

public OnPlayerKeyStateChange

{
if(newkeys == KEY_TAB ) 
{
if(GetPlayerState(playerid) == 2 && MotorStarted[playerid] == false)  //Když je řidič, nebo není pěšky
{
SendClientMessage(playerid, COLOR_MODRA, "Startuji motor...");
MotorStarted[playerid] = true; //Tohle jsem dal schválně už do tlačítka, kde teprv startuje motor, ale není ještě z cela nastartován. (Motor spuštěň)
SetTimerEx("Motor",4000,0,"i",playerid); //Když splňuje podmínku, a zmáčkne tlačítko TAB, tak se spustí odpočet.
}
}
return 1;
}

 

 

nyní si vytvoříme nový public

public Motor(playerid)
{
TogglePlayerControllable(playerid, true); //Pustí hráče
SendClientMessage(playerid, orange, "Motor nastartován."); //Napíše text.
}

 

teď do OnPlayerStateChange

if(GetPlayerState(playerid) == 2)
{
TogglePlayerControllable(playerid, false); //Zamrzne/zastaví hráče
SendClientMessage(playerid, orange, "Pro nastartování motoru, zmáčkni klavesu TAB."); //Text.
}

 

a nakonec do OnPlayerExitVehicle

MotorStarted[playerid] = false; //Vypne motor

 

 

to je vše :-)

Link to comment
Share on other sites

Tutorial na jednoduché startování motoru

pravda... moc jednoduché

 

chýba podmienka

 

 

teď do OnPlayerStateChange

if(newkeys == KEY_TAB )

{

if(GetPlayerState(playerid) == 2) //Když je řidič, nebo není pěšky

{

SendClientMessage(playerid, orange, "Startuji motor...");

MotorStarted[playerid] = true; //Tohle jsem dal schválně už do tlačítka, kde teprv startuje motor, ale není ještě z cela nastartován. (Motor spuštěň)

SetTimerEx("Motor",4000,0,"i",playerid); //Když splňuje podmínku, a zmáčkne tlačítko TAB, tak se spustí odpočet.

}

}code]

 

chýba podmienka

if(newkeys == KEY_TAB )

{

if(GetPlayerState(playerid) == 2 && [color=#FF0000][b]MotorStarted[playerid] == false[/b][/color])

{

SendClientMessage(playerid, orange, "Startuji motor...");

MotorStarted[playerid] = true; //Tohle jsem dal schválně už do tlačítka, kde teprv startuje motor, ale není ještě z cela nastartován. (Motor spuštěň)

SetTimerEx("Motor",4000,0,"i",playerid); //Když splňuje podmínku, a zmáčkne tlačítko TAB, tak se spustí odpočet.

}

}

 

 

inač moc jednoduché...

Link to comment
Share on other sites

Tutorial na jednoduché startování motoru

pravda... moc jednoduché

 

chýba podmienka

 

 

teď do OnPlayerStateChange

if(newkeys == KEY_TAB )

{

if(GetPlayerState(playerid) == 2) //Když je řidič, nebo není pěšky

{

SendClientMessage(playerid, orange, "Startuji motor...");

MotorStarted[playerid] = true; //Tohle jsem dal schválně už do tlačítka, kde teprv startuje motor, ale není ještě z cela nastartován. (Motor spuštěň)

SetTimerEx("Motor",4000,0,"i",playerid); //Když splňuje podmínku, a zmáčkne tlačítko TAB, tak se spustí odpočet.

}

}code]

 

chýba podmienka

if(newkeys == KEY_TAB )

{

if(GetPlayerState(playerid) == 2 && [color=#FF0000][b]MotorStarted[playerid] == false[/b][/color])

{

SendClientMessage(playerid, orange, "Startuji motor...");

MotorStarted[playerid] = true; //Tohle jsem dal schválně už do tlačítka, kde teprv startuje motor, ale není ještě z cela nastartován. (Motor spuštěň)

SetTimerEx("Motor",4000,0,"i",playerid); //Když splňuje podmínku, a zmáčkne tlačítko TAB, tak se spustí odpočet.

}

}

 

 

inač moc jednoduché...

 

děkuji za opravu, jsem začátečník

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

ako tak pozeram chcem sa opytat prečo si dal túto definíciu:

#define KEY_TAB (1)       //Nadefinuje tlačítko 'TAB'

 

Ked do podmienky si dal:

newkeys == KEY_TAB

?? nemala tam byt nahodou 1 ???

 

Neviem na 100% lebo pawno som nerobil pekne davno a teraz začínam.

Link to comment
Share on other sites

Nechápem prečo to každý dáva na TAB jak lamy. Pomocou TAB vám zobrazí tabuľku. Neviem prečo to nepoužijete na nejaké iné tlačítko, ktoré nevykonáva žiadnu funkciu.

 

Ďalej by som podotkol, že to stým zobrazovaním je blbosť pretože hráči si môžu myslieť že to je bug alebo čo a je tu nová funkcia z 0.3c ktorá vám umožní vypnúť/zapnúť motor. A ak sa nerozhodne naštartovať môže hneď vystúpiť. Ďalej tu je ďalšia bonus funkcia, ktorá všetky tie auto ktoré neboli vôbec naštartované nebudú naštartované.

 

A čo je najhlavnejšie ušetrí to miesto v móde a záťaž serveru. :)

Na koniec by som ešte dodal ako už raz niekde spomínal niCe určite by som to tlačiítko tak neodflákol. :)

Link to comment
Share on other sites

  • 3 weeks later...

U tohodle startovani mate vzdycky udelane TogglePlayerControllable proc nedate SetVehicleParams aby nemel afk bude jen vypli motor u auta a kdyz stlaci ten KEY_ tak mu to nastartuje podel me je to tedy takhle lepsi ;) xD :d

Link to comment
Share on other sites

U tohodle startovani mate vzdycky udelane TogglePlayerControllable proc nedate SetVehicleParams aby nemel afk bude jen vypli motor u auta a kdyz stlaci ten KEY_ tak mu to nastartuje podel me je to tedy takhle lepsi ;) xD :d

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...