Scorpions.cz | Cheater.cz | RedDead.cz | Mafia 1 & 2 | NFS | Porse.cz | Stalker | ARMAseries | Worms | TGames | Vietcong | JVT
GTA.cz |

GTA Multiplayer

Domácí stránka | RSS kanál | E-mail
GTA.cz
Reklama

SA:MP - Pawno - [TUT] Votekick Roman Lipka | 21.08.2008

Voteckick: napr keď nieje admin na serveri a je tam nejaký cheater tak ho normálny hráči spoločne môžu kicknut.
System udelame pomoci dcmd, pokud to chce nekdo prez strcmp, muze si to predelat...

NAHORU DO SCRIPTU // Zakladni jednotka DCMD

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1],

#%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

COMMAND TEXT

public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(vote,         4, cmdtext); // 4 = pocet znaku v prikazu vote (bez lomitka)
dcmd(votekick,      8, cmdtext);  // 8 = pocet znaku v prikazu votekick (bez lomitka)
return 0; //Vsechny ostatni prik. budou chybne
}


A ted uz k systemu samotnemu
 
ZACATEK SCRIPTU Nadefinujeme si :

new hlasovani,Hlasoval[MAX_PLAYERS],Hlasu[MAX_PLAYERS];
//vyznam poznate az v prikazu

CONNECT

public OnPlayerConnect(playerid)
{
Hlasu[playerid] = 0;
Hlasoval[playerid] = false;
return 1;
}

KAMKOLIV DO VOLNEHO MISTA KODU


dcmd_votekick(playerid, params[])
{
   new string[256];
   new hrac = strval(params[0]); //ID KICKOVANEHO HRACE prvni parametr (/votekick ID)
   if(!params[0]) //kdyz chybi ID
   {
   return Zprava(playerid,"Pouziti: /votekick [ID] [DUVOD]");
   }
   if(!IsPlayerConnected(hrac)) //Kdyz neni pripojen
   {
   return Zprava(playerid,"Hrac neni pripojen.");
   }
   if(hlasovani) //Kdyz uz jedno hlasovani existuje
   {
   return Zprava(playerid,"Jedno hlasovani jiz probiha.");
   }
   for(new i=0;i<MAX_PLAYERS;i++) //vsechny an serveru
   {
   if(IsPlayerConnected(i)) /kteri sou pripojeni
   {
   if(IsPlayerAdmin(i)) //kdyz je nekdo z pripojenyhc admin
   {
   format(string, sizeof(string), "Na serveru je pritomen Administrator: %s", Jmeno(i));
   return Zprava(playerid, string);
   }//votekick neplatny v pritomnosti admina
   }
   }
   format(string, sizeof(string), "[Votekick] %s spustil hlasovani o vyhozeni hrace %s. Duvod: %s", Jmeno(playerid),Jmeno(hrac),params[1]);
   SendClientMessageToAll(B_SVITZ,string);
   SendClientMessageToAll(B_SVITZ, "Pokud chcete hrace vyhodit, pouzijte /vote");
   Hlasoval[playerid] = true; //hrac hlasoval
   Hlasu[hrac]++;  //kickovany dostal prvni hlas
   hlasovani = true; //hlasovani spusteno
   SetTimer("VotekickKonec",180000,0); //timer, ktery ukonci hlasovani kdyz bude neplatne za 3 minuty
   return 1;
}

dcmd_vote(playerid, params[])
{
    #pragma unused params //nemame pouzite parametry
   new string[256];
   if(Hlasoval[playerid]) //kdyz uz hrac hlasoval return 0;
   {
   return Zprava(playerid,"Uz jste hlasoval.");
   }
   if(!hlasovani) //kdyz neni zalozeno hlasovani
   {
   return Zprava(playerid,"Neprobiha zadne hlasovani.");
   }
   for(new i=0;i<MAX_PLAYERS> 0) //pro kohokoliv kdo ma vice jak 0 hlasu
   {
   format(string, sizeof(string), "[Votekick] %s pridal kick-hlas hraci %s. Hlasu: %d",Jmeno(playerid),Jmeno(i),Hlasu[i]);
   SendClientMessageToAll(B_SVITZ,string);
   Hlasoval[playerid] = true; //hrac hlasoval
   if(Hlasu[i] == 8) //kdyz ma hrac hlasu osm = kick
   {
   format(string, sizeof(string), "[Votekick] Hrac %s byl vyhozen. Hlasu: %d",Jmeno(i),Hlasu[i]);
   SendClientMessageToAll(B_SVITZ,string);
   Kick(i); //kick
   hlasovani = false; //hlasovani zrusene, vynulovane
   for(new u=0;u<MAX_PLAYERS> 0)){
    SendClientMessage(playerid, B_BILA, message);}
    return 1;
}

TOP SCRIPT

forward VotekickKonec();

MEZI PUBLICY

public VotekickKonec()  //timer bezici po 3 minuty skoncil
{
   if(hlasovani) //kdyz hlasovani jeste probiha
   {
   for(new i=0;i<MAX_PLAYERS> 0) //vynulovani hlasu
   {
   Hlasu[i] = 0; //vynulovani hlasu obvineneho
   }
   }
   SendClientMessageToAll(B_SVITZ, "Votekick neuspesny.");
   } //info
}
By MaverickCZE

vyhledávání

Reklama

anketa

editorial

Máme tu nějaký ten pátek rok 2022 a s ním i velkou šanci, že se ani v tomto roce se nedočkáme oznámení GTA 6. Místo toho jsme však dostali remastery tří klasických a ikonických dílů série GTA. Je pravda, že neměli nejlepší start, ale dejte jim šanci. Vyzkoušejte si hry osobně a zkuste je. Ten návrat sice není dechberoucí, k tomu ještě nějaký ten rok vývoje chyběl, možná i jiný výběr studia, ale i tak je to příjemný nostalgický návrat, který alespoň ty původní tituly nezničil. Ohodnotit hry už musíte spíš vy sami - každý z vás. A pořád je tu jedna jistota - třeba stále dobré GTA Online. :)

Šéfredaktor

návštěvnost

odkazy

naše ikona

GTA.cz

partneři


Online hokej manažer - Zahraj si skutečný hokejový manažer!
3D wide HD wallpapers tapety na plochu

Vyťukej.cz

Zobrazit vše

Zahrajte si hry online hned teď!