Szerző Téma: Pont+idõzítõ+elágazás! (Haladó szint)  (Megtekintve 525 alkalommal)

Pont+idõzítõ+elágazás! (Haladó szint)
« Dátum: 2012. augusztus 01. - 12:22:04 »
0 Show voters
Hali...
Kellene nekem egy iylen \"CODE\" :
Van egy killstrake kódom.:
 
stock HandleKS(playerid, killerid) //put this function outside of any callbacks or functions
{
     killstreak[playerid] = 0;
     killstreak[killerid] ++;
     switch(killstreak[killerid])
     {
          case 0:  //change the numbers as desired and add/remove as many as you want
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 4, 1);
      TextDrawShowForPlayer(playerid, TextDraw0);
      }
          case 4:
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 22, 9999999);
               GivePlayerWeapon(playerid, 4, 1);
      TextDrawShowForPlayer(playerid, TextDraw1);
          }
          case 6:
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 23, 9999999);
               GivePlayerWeapon(playerid, 4, 1);
      TextDrawShowForPlayer(playerid, TextDraw2);
   }
}

 
És ide:
 
          case 6:
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 23, 9999999);
               GivePlayerWeapon(playerid, 4, 1);
      TextDrawShowForPlayer(playerid, TextDraw2);
   }

 
Szeretnék be illeszteni egy 3-perces idõzítõt, DE!!! Ha a player meghal az idõzítõ lejárta elõtt,akkor: \"SendClientMessage(playerid, SZÍN, \"xyz...\");\" viszont ha nem hal meg,ugyan ez...(\"SendClientMessage(playerid, SZÍN, \"xyz...\");\")
Megoldható?

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Pont+idõzítõ+elágazás! (Haladó szint)
« Válasz #1 Dátum: 2012. augusztus 01. - 13:19:26 »
+1 Show voters
Létrehozol egy globális változót:
 
new bool: onKillstreak[ MAX_PLAYERS ];

 
És ezzel meg tudod állapítani a halálnál, hogy be van-e kapcsolva neki az idõzítõ:
 

          case 6:
          {
               onKillstreak[ playerid ] = true;
               SetTimerEx( \"IdeAFuggvenyedNevet\", 60000 * 3, false, \"d\", playerid ); //Ezt nyilván arra írod, amire akarod
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 23, 9999999);
               GivePlayerWeapon(playerid, 4, 1);
               TextDrawShowForPlayer(playerid, TextDraw2);
           }

 
És akkor ugye a halálnál a lekérdezés:
 

public OnPlayerDeath( playerid, killerid, reason ) {
    if( onKillStreak[ playerid ] ) {
        onKillStreak[ playerid ] = false;
        SendClientMessage( playerid, szín, \"xyz\" );
    }
    return 1;
}

 
És már csak az van hátra, ha teljesül a feltétel, azaz életben marad a 3 perc elteltével:
 

public IdeAFuggvenyedNevet( playerid ) { //Értelemszerûen azt írod ide, amit fentebb megadtál, és persze létre kell hoznod a prototípusát
    if( onKillStreak[ playerid ] ) {
        onKillStreak[ playerid ] = false;
        SendClientMessage( playerid, szín, \"xyz\" );
    }
    return 1;
}

 
Bocs, ha valamit elírtam, már elég rég kiszálltam a szkriptelésbõl. :)

Pont+idõzítõ+elágazás! (Haladó szint)
« Válasz #2 Dátum: 2012. augusztus 01. - 13:45:19 »
0 Show voters
Örök hálám...nagyon köszönöm...sokat segítettél :D ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal