[Ajuda] Comando de dar adm -
Hiuship - 04.05.2011
Galer antes que postem um ctrl + c ctrol + v, eu andei vendo e os comandos dos outros server nao funciona no meu pois comecei a base dele do zero e o sistema de adm e inteirinho por mim, so que ainda sou iniciante em quesito comandos =/
й o seguinte eu criei o sistema de adm tentei me bassear em outros so que da erro!!
queria quando fosse digitado /daradm e o level de adm do cara fosse maior que 4 de adm para o id do carinha exemplo /daradm 2 5 que nem nos servidores rpg
eu estou usando isso para salvar e carregar os adm=
New's
Код:
enum pInfo
{
Admin,
Score,
Deaths,
Kills,
ServerTime
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Carregar (funcionando)
Код:
if(fexist(file)) {
dini_IntSet(file,"Admin", PlayerInfo[playerid][Admin]);
}
Criar quando cria a acc=
Код:
dini_IntSet(file,"Password", udb_hash(inputtext));
dini_IntSet(file,"Admin", PlayerInfo[playerid][Admin]);
dini_IntSet(file,"Score", GetPlayerScore(playerid));
dini_IntSet(file,"Money", GetPlayerMoney(playerid));
dini_IntSet(file,"Deaths", PlayerInfo[playerid][Deaths]);
dini_IntSet(file,"Kills", PlayerInfo[playerid][Kills]);
dini_IntSet(file,"ServerTime", PlayerInfo[playerid][ServerTime]);
E Salvar quando sai
Код:
SetPlayerScore(playerid, dini_Int(file,"Score"));
GivePlayerMoney(playerid, dini_Int(file,"Money"));
PlayerInfo[playerid][Deaths] = dini_Int(file,"Deaths");
PlayerInfo[playerid][Kills] = dini_Int(file,"Kills");
PlayerInfo[playerid][Admin] = dini_Int(file,"Admin");
PlayerInfo[playerid][ServerTime] = dini_Int(file,"ServerTime");
como sei devo disponibilizar uma base do comando
eu fis essa aqui: so que deu este erro
PHP код:
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 012: invalid function call, not a valid address
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 017: undefined symbol "idx"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 029: invalid expression, assumed zero
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
o comando
pawn Код:
new tmp[25];
if(strcmp("/daradmin", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx); // linha que esta dando o erro!!! :picard:
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /daradmin [ID] [level(1-6)]");
return 1;
}
if (PlayerInfo[giveplayerid][pAdmin] <= 6)
{
new pname[50];
GetPlayerName(playerid, pname, sizeof(pname));
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode alterar o nivel de adm de um dono!.");
format(string, sizeof(string), "O ADM %s tentou alterar seu ADM", pname);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(PlayerInfo[playerid][pAdmin] => 4)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
format(string, sizeof(string), "Vocк foi promovido a Admin Level %d por %s", level, sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Vocк promoveu %s para Admin Level %d .", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб autorizado a usar esse comando !");
}
}
return 1;
}
Nunca apanhei tanto pra um comandos =x
Re: [Ajuda] Comando de dar adm -
Macintosh - 05.05.2011
pawn Код:
new idx; // ONPLAYERCOMMANDTEXT.
Re: [Ajuda] Comando de dar adm -
Hiuship - 05.05.2011
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 017: undefined symbol "tmp"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 012: invalid function call, not a valid address
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : error 001: expected token: ";", but found ")"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1551) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
Re: [Ajuda] Comando de dar adm -
Macintosh - 05.05.2011
pawn Код:
new tmp[256]; // ONPLAYERCOMMANDTEXT.
Re: [Ajuda] Comando de dar adm -
Hiuship - 06.05.2011
nada funcionou =/ os erros mudam e etc estou tentando ainda por favor me ajudem =/
Re: [Ajuda] Comando de dar adm -
Josma_cmd - 06.05.2011
Use este, fiz do 0 nгo й ctrl c ctrl v relaxa.
pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
{
new tmp[20], giveplayerid, nivel, string[91];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
nivel = strval(tmp);
if(nivel > 4 || nivel < 0) return SendClientMessage(playerid, Branco, "O nнvel nгo poderб ser menor que 0 nem maior que 4");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб conectado");
GetPlayerName(playerid, Entregador, sizeof(Entregador));
GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
format(string, sizeof(string), "Seu nнvel de admin foi setado para {1E90FF}%d{FFFFFF} por {1E90FF}%s", nivel, Entregador);
SendClientMessage(giveplayerid, Branco, string);
format(string, sizeof(string), "Vocк setou o nнvel de admin de {1E90FF}%s{FFFFFF} para {1E90FF}%d", Recebedor, nivel);
SendClientMessage(playerid, Branco, string);
PlayerInfo[giveplayerid][pAdmin] = nivel;
} else { SendClientMessage(playerid, Branco, "Vocк nгo tem nнvel suficiente de admin para usar este comando"); }
return 1;
}
qualquer bug ou erro fale, provavelmente se tiver й por que seu GM falta algo pro funcionamento desse comando, como cmd, idx, strtok etc... mas enfim, tente.
Re: [Ajuda] Comando de dar adm -
Hiuship - 06.05.2011
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1512) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 012: invalid function call, not a valid address
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : warning 215: expression has no effect
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 017: undefined symbol "idx"
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : error 029: invalid expression, assumed zero
C:\Users\GUSTAVO GUERINO\Desktop\GHOST 4FUN\gamemodes\Gu4fun.pwn(1513) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
Re: [Ajuda] Comando de dar adm -
The Knight - 06.05.2011
Concertado:
pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
{
new tmp[20], idx, giveplayerid, nivel, sStr[91];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /DarAdmin [id] [nнvel]"); return 1; }
nivel = strval(tmp);
if(nivel > 4 || nivel < 0) return SendClientMessage(playerid, Branco, "O nнvel nгo poderб ser menor que 0 nem maior que 4");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб conectado");
GetPlayerName(playerid, Entregador, sizeof(Entregador));
GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
format(sStr, sizeof(sStr), "Seu nнvel de admin foi setado para {1E90FF}%d{FFFFFF} por {1E90FF}%s", nivel, Entregador);
SendClientMessage(giveplayerid, Branco, sStr);
format(sStr, sizeof(sStr), "Vocк setou o nнvel de admin de {1E90FF}%s{FFFFFF} para {1E90FF}%d", Recebedor, nivel);
SendClientMessage(playerid, Branco, sStr);
PlayerInfo[giveplayerid][pAdmin] = nivel;
} else { SendClientMessage(playerid, Branco, "Vocк nгo tem nнvel suficiente de admin para usar este comando"); }
return 1;
}
Re: [Ajuda] Comando de dar adm -
Hiuship - 06.05.2011
NADA