Szerző Téma: Visszaszámlálás..  (Megtekintve 428 alkalommal)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Visszaszámlálás..
« Dátum: 2012. December 09. - 21:44:17 »
0 Show voters
Helló, lenne egy apró kérdésem, hogyan tudnám megoldani azt ha egy játékos beír egy bízonyos parancsot például /asd1 akkor elinditt egy verseny visszaszámlálást, de ha valaki csatlakozik az /asd1 -be akkor neki ne inditsa újra hanem aki elsõnek elinditotta az a visszaszámlálás menyen?  :hmmm:
 

#include <a_samp>
#include <zcmd>
#include <fixchars>
#define Dialog_verseny 12345
new InRace[MAX_PLAYERS];
forward CountDerby( playerid );
new
 iCountNumber = 0,
 iCountTimer;
CMD:join(playerid, params[])
{
        ShowPlayerDialog(playerid, Dialog_verseny, DIALOG_STYLE_LIST, \"Válassz versenyt\", \"- SF DRAG -\\n- Rally -\", \"Índitás\", \"Mégsem\");
        return 1;
}
public CountDerby( playerid )
{
iCountNumber --;
        if( InRace[ playerid ] == 1 )
         {
if( iCountNumber > 0 )
{
     new
         szCountString[ 50 + 1 ];
     format( szCountString, sizeof( szCountString ), \"~r~~h~Verseny Kezdése %d\", iCountNumber );
     GameTextForPlayer( playerid, szCountString, 1000, 5 );
         }
    }
if( iCountNumber == 0 )
{
           if( InRace[ playerid ] == 1 )
           {
              GameTextForPlayer( playerid, \"~r~~h~- Start -\", 1000, 5 );
              TogglePlayerControllable( playerid, 1 );
              KillTimer( iCountTimer );
           }
       }
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == Dialog_verseny)
    {
        if(response)
        {
            // Give them the weapon
            if(listitem == 0) // They selected the first item - Desert Eagle
            {
                new string[64], pName[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
                format(string,sizeof string,\"%s csatlakozott ( San Fierro Drag ) versenyhez! [ Csatlakozás: /join ]!\",pName);
                SendClientMessageToAll(0xFFFFFFAA,string);
                InRace[ playerid ] = 1;
            if( InRace[ playerid ] == 1 )
            {
       iCountNumber = 30;
       iCountTimer = SetTimer(  \"CountDerby\", 900, true );
       TogglePlayerControllable( playerid, 0 );
       GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
                format(string,sizeof string,\"Játékos %s elíditotta ( San Fierro Drag ) versenyét! [ Csatlakozás: /join ]!\",pName);
                SendClientMessageToAll(0xFFFFFFAA,string);
            }
          }
        }
return 1;
        }
        return 0;
}
 
« Utoljára szerkesztve: 2012. December 09. - 21:46:51 írta ZyZu »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Visszaszámlálás..
« Válasz #1 Dátum: 2012. December 10. - 11:57:36 »
+1 Show voters
Egyszerûsítettem, hibákat javítottam, berendeztem.
 
#include <a_samp>
#include <zcmd>
#include <fixchars>
#define Dialog_verseny 12345
new InRace[MAX_PLAYERS];
new RacePlayers;
forward CountDerby(playerid);
new
iCountNumber = 0,
    iCountTimer
;
CMD:join(playerid) return ShowPlayerDialog(playerid, Dialog_verseny, DIALOG_STYLE_LIST, \"Válassz versenyt\", \"- SF DRAG -\\n- Rally -\", \"Índitás\", \"Mégsem\");
public CountDerby(playerid) {
iCountNumber --;
for( new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) && InRace != 1) continue;
        if( iCountNumber > 0 ) {
        new szCountString[50 + 1];
   format(szCountString, sizeof(szCountString), \"~r~~h~Verseny Kezdése %d\", iCountNumber);
        GameTextForPlayer(i, szCountString, 1000, 5);
         }
if( iCountNumber == 0 ) {
       if( InRace == 1) {
           GameTextForPlayer( i, \"~r~~h~- Start -\", 1000, 5 );
            TogglePlayerControllable( i, 1 );
             KillTimer( iCountTimer );
   }
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == Dialog_verseny)
    {
        if(response)
        {
            if(listitem == 0)
            {
                new string[64], pName[24];
                GetPlayerName(playerid, pName, 24);
                format(string, sizeof(string), \"%s csatlakozott ( San Fierro Drag ) versenyhez! [ Csatlakozás: /join ]!\",pName);
                SendClientMessageToAll(0xFFFFFFAA,string);
                InRace[ playerid ] = 1;
                RacePlayers ++;
                TogglePlayerControllable( playerid, 0 );
         GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
      if(RacePlayers == 1 ) {
          iCountNumber = 30;
                    iCountTimer = SetTimer(  \"CountDerby\", 900, true );
                   format(string,sizeof string,\"Játékos %s elíditotta ( San Fierro Drag ) versenyét! [ Csatlakozás: /join ]!\",pName);
                   SendClientMessageToAll(0xFFFFFFAA,string);
               } else{
                   format(string,sizeof string,\"Játékos %s csatlakozott a ( San Fierro Drag ) versenyre! [ Csatlakozás: /join ]!\",pName);
                   SendClientMessageToAll(0xFFFFFFAA,string);
      }
      // ide az eltelézést meg ezeket
             }
        }
}
    return 0;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal