[ Tutorial ] Anti Drive-by na 3 body

Sekcia určená pre programovací jazyk pawn.

[ Tutorial ] Anti Drive-by na 3 body

Poslaťod SK_martin_SA » Ned 05. Jún 2011 14:30:39

Hore medzi newy:
Kód: Vybrať všetko
new driveby[MAX_PLAYERS]; // vyvvoríme premennú na ukladanie driveby killov


Do public OnPlayerCommandText(playerid, cmdtext[])
Kód: Vybrať všetko
public OnPlayerCommandText(playerid, cmdtext[])
{
     if (strcmp(cmdtext, "/stats", true) == 0) // ak zadá príkaz stats pošle mu správu s počtom jeho drive-by killov
     {
      new dform[50];
      format(dform,sizeof(dform),"Máš %d/3 drive-by killov",driveby[playerid]);
      SendClientMessage(playerid,COLOR_****,dform);
        return 1;
   }
        return 0;
}


Do public OnPlayerDeath(playerid,killerid)
Kód: Vybrať všetko
public OnPlayerDeath(playerid, killerid, reason)
{
   if(IsPlayerInAnyVehicle(killerid)) // zisťuje či je vrah vo vozidle
   {
       if(GetPlayerVehicleSeat(killerid) == 0) // ak áno a rovná sa jeho sedadlo 0 (vodič)
       {
            if(driveby[killerid] == 2) // musí to ísť od najvläčšieho po najmenší pretože by mu to pripočítalo hneď 3 body a kicklo by ho to
           {
               SendClientMessage(killerid,COLOR_****,"[ Anti Drive-by ] Za usmrtenie hráča z vozidla ti bol pripočítaný varovný bod(3/3)"); // pošle mu správu že mu bol prirátaný bod driveby
              new dbform[100];
              format(dbform,sizeof(dbform),"Hráč %s bol vyhodený za Drive-by",PlayerName(killerid)); // vyhodí hráča za driveby ak má už 2 body
              SendClientMessageToAll(COLOR_****,dbform);
              Kick(killerid); // vyhodenie
         }
            if(driveby[killerid] == 1) // ak je drive by 1, teda ak zabil niekoho už 1x drive by killom
           {
               SendClientMessage(killerid,COLOR_****,"[ Anti Drive-by ] Za usmrtenie hráča z vozidla ti bol pripočítaný varovný bod(2/3)");//  pošle mu správu že má už 2 drive by
               driveby[killerid] = 2; // nastaví mu drive by na 2
         }
           if(driveby[killerid] == 0) // ak ešte ikoho nezabil a niekoho zabije
           {
               SendClientMessage(killerid,COLOR_****,"[ Anti Drive-by ] Za usmrtenie hráča z vozidla ti bol pripočítaný varovný bod(1/3)"); pošle mu správu že mu bol prirátaný bod driveby
               driveby[killerid] = 1; // nastaví driveby na 1
         }
       }
   }
   return 1;
}


Viem, že by to išlo aj kratšie ale toto je pre začiatočníkov aby to pochopili
SK_martin_SA
 

Späť na Pawn

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron