commands /ban error -
26_RUSSS - 14.10.2013
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
Re: commands /ban error -
[LCK]Chris - 14.10.2013
Need more info
Re: commands /ban error -
26_RUSSS - 14.10.2013
Код:
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);
}
Re: commands /ban error -
[LCK]Chris - 14.10.2013
Compiles for me. Search your script for a forward declaration if you have one then comment it out
search for: forward AddBan
Re: commands /ban error -
Muslimzz - 14.10.2013
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");
}
Re: commands /ban error -
26_RUSSS - 14.10.2013
[LCK]Chris thanks +rep=)