25.11.2011, 19:33
Nгo to conseguindo fazer o sistema de corregedor, por exemplo, quando vou digitar '/TirarLevel' da comandos invбlido, e quando logo na RCON pega certinho...
Vбriavel:
/SetarC (Seta o Corregedor)
/TirarC (Tira o corregedor do player)
/Corregedores (Vк os corregedores conectados)
Tem um probleminha com o /Corregedores, Quando digita /Corregedores sу aparece ''Corregedores conectados:'' e em baixo nгo aparece nada...
/TirarLevel (Tira lйveis do player que cometeu abuser, no mбximo 10).
Salva certinho, mais nгo aparece no /Corregedores, e sу dб para usar /TirarLevel na RCON!
Se alguйm puder me ajudar, obrigado.
Vбriavel:
pawn Код:
new corregedor[MAX_PLAYERS];
pawn Код:
if(strcmp(cmd, "/SetarC", true) == 0) {
if(!IsPlayerAdmin(playerid)) return 0;
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /setarc [id].");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
dini_IntSet(file2, "corregedor",1);
SpawnPlayer(plid);
SendClientMessage(playerid, 0x00FF00AA, "| INFO | Corregedor Setado com sucesso");
SendClientMessage(plid, 0x00FF00AA, "| INFO | Um administrador setou vocк como corregedor!");
return 1;
}else{
SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
return 1;
}
}
pawn Код:
if(strcmp(cmd, "/tirarc", true) == 0) {
if(!IsPlayerAdmin(playerid)) return 0;
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, 0x008040AA, "(ERRO) Use: /tirarmod [id].");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
dini_IntSet(file2, "corregedor",0);
SpawnPlayer(plid);
SendClientMessage(playerid, 0x00FF00AA, "| INFO | Corregedor tirado com sucesso!");
SendClientMessage(plid, 0x00FF00AA, "| INFO | O administrador tirou seu corregedor!");
return 1;
}else{
SendClientMessage(playerid, Vermelho, "(ERRO) ID invбlido");
return 1;
}
}
pawn Код:
if(!strcmp(cmdtext, "/corregedores", true))
{
SendClientMessage(playerid,0x96D742AA, "~> Corregedores conectados:");
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)){
if(admin[i]){
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(corregedor[i] == 1){
format(str,sizeof(str),"~ %s [ID %d]", pname,i);
}
SendClientMessage(playerid, 0xFFFFFFAA, str);
count++;
}
}
}
if(count == 0)
{
SendClientMessage(playerid, Vermelho, "{FF0000}~> {FFFFFF}Nenhum corregedor conectado ao servidor no momento!");
}
return 1;
}
/TirarLevel (Tira lйveis do player que cometeu abuser, no mбximo 10).
pawn Код:
if(strcmp(cmd,"/TirarLevel", true)==0)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(corregedor[playerid] == 1){
SendClientMessage(playerid, Vermelho, "| ERRO | Vocк nгo tem permissгo!");
return 1;
}
if(corregedor[playerid] == 1 || IsPlayerAdmin(playerid)){
new tmp[256];
new plid, skin;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "Digite: /TirarLevel [id] [level]");
return 1;
}
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /TirarLevel [id] [level]");
return 1;
}
skin = strval(tmp);
if(skin > -1 || skin <= -11){
SendClientMessage(playerid, Vermelho, "| ERRO | Nгo й possivel tirar mais de 10 lйvels ou menos de 1!");
return 1;
}
skin = strval(tmp);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
format(string, sizeof(string), "* O corregedor %s tirou %d leveis de vocк.", aname, skin);
SendClientMessage(plid, tcadm, string);
format(string, sizeof(string), "* Vocк tirou %d leveis do jogador '%s'.", skin, pname);
SendClientMessage(playerid, Blue, string);
dini_IntSet(file2, "Level", dini_Int(file2, "Level")+skin);
return 1;
}else{
SendClientMessage(playerid, Vermelho, "(INFO) Jogador nгo conectado.");
return 1;
}
}
}
Se alguйm puder me ajudar, obrigado.