Jump to content
  • 0

pomoc Návrat do vozidla


lekpri

Dotaz

Ahoj

Potřebuji poradit.

 

Chtěl bych udělat při zaměstnání to, že když hráč opustí vozidlo aby mu to napsalo a odpočítávalo návrat do vozidla ( Mate 10 sec  na návrat do vozidla )

 

Prosím o radu jak bych to mohl udělat.

 

Děkuji  

 

Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

  • 0

Vytvoríš si forward s názvom Timeru, potom do OnPlayerExitVehicle vytvoríš timer na 10 sekúnd a dole dáš public na ten timer, kde napíšeš čo to spraví keď uplynie ten limit.

Ak tam chceš ten text, tak není nič jednoduchšie ako ho pridať do OnPlayerExitVehicle, keď sa vytvára timer.

Link to comment
Share on other sites

  • 0
new odpocet; //proměná odpočet nahraj někde na začátek módu
new odpocitavani;

public OnPlayerExitVehicle(playerid, vehicleid)
{	
   if(!IsPlayerNPC(playerid))
   {
     if(IsPlayerConnected(playerid))
     {
       if(Player[playerid][Team] == 1 || Player[playerid][Team] == 2) //podmínka pokud je hráč v teamu 1 nebo v teamu 2 - dosaď si sem co potřebuješ
       else if(Player[playerid][Mise] == 1) //podmínka pokud hráč dělá misi, nemusí být, ale předpokládám, že nechceš ,aby mu to psalo vždy
       else //pokud vykoná všechny podmínky stane se to co je v následujících {}
       {
         odpocet = 10; //zde dáš proměné odpocet hodnotu 10
         new string[128], string2[50]; //proměná string používá se většinou k zapísu textu, šíslo 50 udává přibližnou délku textu, pokud ho nastavíš moc malé neukáže se celý text
         format(string,128,"Vrať se do vozidla !"); //naformatujes zpravu, text v "" můžeš změnit.  
         SendClientMessage(playerid,0x00FF00FF,string); //tímto odešleš zprávu
         format(string2,50, "%d",odpocet); //%d udává nějaké číslo proměné, napíšeš z jaké proměné si to číslo má vzít v tomto případě z proměné odpocet (pro text se zase používá %s)
         GameTextForPlayer(playerid,string2,1000,6);//Nastavení Gametextu(text přes celou obrazovku), zde ti bude probíhat odpocet
         odpocitavani = SetTimer("mise", 1000, 1); //nastavis proměnou odpocitavani
       }
    }
  }
 return 1;
}

forward mise();
public mise()
{
	odpocet--; //každým kolem odečte číslo
	new string[128];
	new string2[50];
	format(string2,50, "%d",odpocet); 
        GameTextForPlayer(playerid,string2,1000,6);
	if(odpocet==0) //az nastane to, že proměná odpočet se bude rovnat 0 stane se to co je v {}
	{
	        format(string,128,"Nestihl ses vrátit do auta ! Mise byla neúspěšná !");
		SendClientMessage(playerid, 0x00FF00FF, string);
		KillTimer(odpocitavani); //timhle "zabijes" odpocitavaní 
		Player[playerid][Mise] = 0; //například vypne misi - sem můžeš dát cokoliv, Měl by jsi sem dát nějakou akci jinak to nemá význam - třeba odebrat hráči peníze,...
	}
	return 1;
}

Asi nějak takhle, ale je možné ,že sem tam někde udělal chybu ;)

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...