GTA.cz

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

editorial

Leaky nám již nějakou předběžnou podobu Grand Theft Auto 6 ukázaly. Musíme však ještě chvíli vydržet, než se dočkáme oficiálního představení v plné parádě. Jistě je, ale to, že se hra konečně blíží! V druhém pololetí 2023 bych očekával alespoň odhalení loga, či alespoň nějaké malé oficiální naťuknutí. Leaky totiž pochází z ranných fází vývoje hry a ta může být již na úplně jiné úrovni. Možná, že už není čím hráče překvapit, možná ale bude GTA 6 zas pořádný gamechanger. Těšíte se také? :)

Šé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ď!

© 2005 - 2024  Honza Svatoš & Scorpions.cz | XHTML & CSS:  Ondřej Mirtes | Design:  Paľo Delinčák | Ochrana osobních údajů | Nastavení cookies