Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

[ZCMD] /kick kurimas (0.3x versijos bug istaisymas)


djtomis123

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3936 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Taigi sveiki visi SuperGames.Lt forumo lankytojai. Taigi noriu jums parodyti/pamokinti kaip ištaisyti 0.3x versijos kick bug'ą (kai rašydavai /kick išmestam žaidėjui nerodydavo priežasties).

Taigi pirma susikursime #define.

Prie visų definu rašome:

#define Kick_(%0) SetTimerEx("KickPlayer", 25, false, "%d", %0)

Prie visų new rašome:

new pID;

Dabar skripto gale rašome:

public KickPlayer(playerid)
{
  return Kick(playerid);
}

Va bug'as ištaisytas. Kai norėsime išmesti žaidėja naudosime: Kick_(žaidėjas); funkcija.

Dabar [ZCMD] komandos kurimas.

COMMAND:kick(playerid, params[])
{
 new prz[80];
 if(playerDB[playerid][adminlvl] > 0)
 {
  if(sscanf(params,"us",pID,prz)) return SendClientMessage(playerid, -1, "{cc0000}* {FFFFFF}Išmesti žaidėja{cc0000} /kick [id/dalis vardo][priežastis]");
   if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, -1,"{cc0000}* {FFFFFF}Žaidėjas neprisijungęs");
   if(playerDB[playerid][adminlvl] > 0) return SendClientMessage(playerid, -1,"{cc0000}* {FFFFFF}Administratoriaus išmesti negalima!");
   if(pID == playerid ) return SendClientMessage(playerid, -1, "{cc0000}* {FFFFFF}Savęs išmesti negalite.");
  format(String,150,"Jūs išmestas iš serverio, priežastis: {effe00}%s",prz);
  SendClientMessage(pID,-1,String);
  Kick_(pID);
  format(String,150,"{FFFFFF}Administratorius:{cc0000}%s{FFFFFF} Išmetė {cc0000}%s{FFFFFF} iš serverio, priežastis: {cc0000}%s{FFFFFF}.",zVardas(playerid),zVardas(pID),prz);
  SendClientMessageToAll(-1,String);
 }
 else return 0;
 return 1;
}

Turbūt nesuprasite iš kur tas zVardas();

Duosiu jums funkcija kuri palengvins kodo rašymą

stock zVardas(playerid)
{
new ZaidejoVardas[MAX_PLAYER_NAME];
GetPlayerName(playerid,ZaidejoVardas,MAX_PLAYER_NAME);
return ZaidejoVardas;
}

Šis kodas išgauna jūsų arba kito žaidėjo Varda_Pavarde

Jei kas ne taip rašome padėsiu.

Jei padėjau +rep

  • Teigiamai 5
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3936 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...