commands /ban error
#1

help my please commands
Код:
	if(strcmp(cmd, "/ban", true) == 0)
{
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-??????)(2-????)(3-???)(?????? ???????)] [?????] [???????]");
        giveplayerid = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-??????)(2-????)(3-???)(?????? ???????)] [?????] [???????]");
        new type = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-??????)(2-????)(3-???)(?????? ???????)] [?????] [???????]");
        new chislo = strval(tmp);
        if(PlayerInfo[playerid][pAdmin] >= 4)
        {
               if(giveplayerid != INVALID_PLAYER_ID)
               {
                      new length = strlen(cmdtext);
                      while ((idx < length) && (cmdtext[idx] <= ' ')) idx++;
                      new offset = idx;
                      new result[64];
                      while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                      {
                             result[idx - offset] = cmdtext[idx];
                             idx++;
                      }
                      result[idx - offset] = EOS;
                      if(!strlen(result)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-??????)(2-????)(3-???)(?????? ???????)] [?????] [???????]");
                      new PlayerNick[MAX_PLAYER_NAME], PlayerBan[MAX_PLAYER_NAME];
                      GetPlayerName(playerid, PlayerNick, MAX_PLAYER_NAME);
                      GetPlayerName(giveplayerid, PlayerBan, MAX_PLAYER_NAME);
                      AddBan(giveplayerid, PlayerBan, PlayerNick, type, chislo, result);
                      return true;
               }//not connected
        }
        return true;
}
error
Код:
AddBan(giveplayerid, PlayerBan, PlayerNick, type, chislo, result);
Код:
C:\Users\26_RUSSS\Desktop\РКЛР\РКЛР\gamemodes\RKLR.pwn(40104) : error 035: argument type mismatch (argument 3)
at
Код:
stock AddBan(player, playerid[], giveplayerid[], type = 1, chislo = 0, reason[])
{
     new totalban = 0;
     switch(type)
     {
          case 1: totalban = 60*chislo; // ??????
          case 2: totalban = 3600*chislo; // ????
          case 3: totalban = 86400*chislo; // ?????
          default: totalban = chislo; // ???????
     }
     new string[64];
     format(string, sizeof(string), "banlist/%s.ini", playerid);
     new OpenBan = ini_createFile(string);
     if(OpenBan < 0) ini_openFile(string);
     ini_setInteger(OpenBan, "BanTime", gettime());
     ini_setInteger(OpenBan, "UnBanTime", gettime()+totalban);
     ini_setString(OpenBan, "PlayerBan", giveplayerid);
     ini_setString(OpenBan, "Reason", reason);
     ini_closeFile(OpenBan); // ????????? ????.
     ShowPlayerDialog(player,DIALOGUNBAN,0,"?? ????????","{FF0000}?? ????????","?????","");
     return Kick(player);
}
error
Код:
C:\Users\26_RUSSS\Desktop\РКЛР\РКЛР\gamemodes\RKLR.pwn(48253) : error 025: function heading differs from prototype
Reply
#2

Need more info
Reply
#3

Код:
stock GetBan(playerid) 
{ 
     new PlayerNick[MAX_PLAYER_NAME],string[255]; 
     GetPlayerName(playerid, PlayerNick, MAX_PLAYER_NAME); 
     format(string, sizeof(string), "banlist/%s.ini", PlayerNick); 
     if(fexist(string)) 
     { 
            new OpenBan = ini_openFile(string); 
            new bantime, unbantime, PlayerBan[MAX_PLAYER_NAME], reason[128]; 
            ini_getInteger(OpenBan, "BanTime", bantime); 
            ini_getInteger(OpenBan, "UnBanTime", unbantime); 
            ini_getString(OpenBan, "PlayerBan", PlayerBan); 
            ini_getString(OpenBan, "Reason", reason); 
            ini_closeFile(OpenBan); 
            if(gettime() >= unbantime) return UnBan(PlayerNick); 
            else 
            { 
                  format(string, sizeof(string), "\ 
                  Дата бана: %s\n\ 
                  Дата Разбана: %s\n\ 
                  Забанил: %s\n\ 
                  Причина бана: %s\n\ 
                  ", 
                  date("%dd.%mm.%yyyy в %hh:%ii:%ss",bantime), 
                  date("%dd.%mm.%yyyy в %hh:%ii:%ss",unbantime), 
                  PlayerBan,reason); 
                  ShowPlayerDialog(playerid,DIALOGUNBAN,0,"Вы забанены",string,"Выйти",""); 
                  return Kick(playerid); 
            }   
     } 
     else return true; 
} 

stock UnBan(playerid[]) 
{ 
     new string[64]; 
     format(string, sizeof(string), "banlist/%s.ini", playerid); 
     return fremove(string); 
} 

stock AddBan(player, playerid[], giveplayerid[], type = 1, chislo = 0, reason[]) 
{ 
     new totalban = 0; 
     switch(type) 
     { 
          case 1: totalban = 60*chislo; // минуты 
          case 2: totalban = 3600*chislo; // часы 
          case 3: totalban = 86400*chislo; // сутки 
          default: totalban = chislo; // секунды 
     } 
     new string[64]; 
     format(string, sizeof(string), "banlist/%s.ini", playerid); 
     new OpenBan = ini_createFile(string);  
     if(OpenBan < 0) ini_openFile(string);  
     ini_setInteger(OpenBan, "BanTime", gettime()); 
     ini_setInteger(OpenBan, "UnBanTime", gettime()+totalban); 
     ini_setString(OpenBan, "PlayerBan", giveplayerid); 
     ini_setString(OpenBan, "Reason", reason); 
     ini_closeFile(OpenBan); // Закрываем файл.   
     ShowPlayerDialog(player,DIALOGUNBAN,0,"Вы забанены","{FF0000}Вы забанены","Выйти","");  
     return Kick(player); 
}
Reply
#4

Compiles for me. Search your script for a forward declaration if you have one then comment it out

search for: forward AddBan
Reply
#5

use these codes:

CMD:ban(playerid,params[]) {
if(PlayerInfo[playerid][LoggedIn] == 1) {
if(PlayerInfo[playerid][Level] >= 2) {
new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /Ban [playerid] [reason]");
if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /Ban [playerid] [reason]");
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);

if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
CMDMessageToAdmins(playerid,"BAN");
format(string,sizeof(string),"%s has been banned by Administrator %s.",playername,adminname);
SendClientMessageToAll(red,string);
format(string,sizeof(string),"[ Reason: %s ]",params[2]);
SendClientMessageToAll(red,string);
SaveToFile("BanLog",string);
print(string);
if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
format(string,sizeof(string),"banned by Administrator %s. Reason: %s", adminname, params[2] );
return VBanID(playerid,player1,params[2]);
} else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
} else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
Reply
#6

[LCK]Chris thanks +rep=)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)