01.07.2012, 14:43
[I]O.o to aqui mais uma vez '-' certo eu segui um tutorial de como fazer um sistema de adm em DCMD Segue o cуdigo '-'
Agora os comandos em DCMD
erros
Help
/I]
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
//definimos os comandos que usaremos
dcmd(ban, 3, cmdtext);
dcmd(mirar, 5, cmdtext);
dcmd(callar, 6, cmdtext);
dcmd(nomirar, 7, cmdtext);
dcmd(darvida, 7, cmdtext);
dcmd(darnivel, 8, cmdtext);
dcmd(expulsar, 8, cmdtext);
dcmd(congelar, 8, cmdtext);
dcmd(ingresar, 8, cmdtext);
dcmd(registrar, 9, cmdtext);
dcmd(darchaleco, 10, cmdtext);
dcmd(limpiarchat, 11, cmdtext);
return 1;
}
return 0;
}
pawn Код:
dcmd_ban(playerid, params[]){
if(pInfo[playerid][nivel] >= 4 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(params) || !IsNumeric(tmp))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /ban <playerid> <razуn>");
if(!strlen(tmp2))return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Debes ingresar una razуn");
new jugador, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
if(pInfo[jugador][registrado] == 1 && pInfo[jugador][logueado] == 1){
dUserSetINT(name).("Baneado",1);
}
format(str, sizeof(str), "O adm %s baniu o player %s [Razao: %s]", admin, name, params[2]);
SendClientMessageToAll(COLOR_GRIS, str);
format(str, sizeof(str), "Foi banido pelo adm nerd '-' %s, [Razao: %s]", admin, params[2]);
return BanEx(jugador, str);
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jogador nгo esta conectado/ou a id estб incorreta");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: nгo tem nivel alto para usar este comando");
}
/////////////////////////////////////////////////////////////////////////////////
dcmd_mirar(playerid, params[]){
if(pInfo[playerid][nivel] >= 5 || IsPlayerAdmin(playerid)){
new tmp[256], Index;
tmp = strtok(params, Index);
if(!strlen(params))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /mirar <playerid>");
new jugador;
jugador = strval(tmp);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
if(pInfo[jugador][mirandoID] == -1){
return StartSpectate(playerid, jugador);
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Este jogador jб esta mirando em alguem");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jogador nгo esta conectado/ou a id estб incorreta");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: nгo tem nivel alto para usar este comando");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_callar(playerid, params[]){
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(params) || !IsNumeric(tmp))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /callar <playerid> opcional <razуn>");
new jugador, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
if(pInfo[jugador][callado] == 0){
if(!strlen(tmp2)){
format(str, sizeof(str), "O ADM %s calou %s. [Razгo: No ha dado]", admin, name);
}else{
format(str, sizeof(str), "O ADM %s CALOU %s. [Razгo: %s]", admin, name, params[2]);
}
SendClientMessageToAll(COLOR_GRIS, str);
return pInfo[jugador][callado] = 1;
}
else{
format(str, sizeof(str), "El administrador %s le ha permitido hablar a %s.", admin, name);
pInfo[jugador][callado] = 0;
return SendClientMessageToAll(COLOR_GRIS, str);
}
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jogador nгo esta conectado/ou a id estб incorreta");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: nгo tem nivel alto para usar este comando");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_nomirar(playerid, params[]){
#pragma unused params
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
if(pInfo[playerid][mirandoID] != 0){
StopSpectate(playerid);
pInfo[playerid][mirandoID] = -1;
return 1;
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo estб espiando");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_darnivel(playerid, params[]){
if(pInfo[playerid][nivel] >= 5 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /darnivel <playerid> <nivel>");
new jugador, Nivel, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
Nivel = strval(tmp2);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
if(Nivel <= pInfo[playerid][nivel]){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
format(str, sizeof(str), "El administrador %s ha seteado tu nivel a %d.", admin, Nivel);
SendClientMessage(jugador, COLOR_AMARILLO, str);
pInfo[jugador][nivel] = Nivel;
return 1;
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode dar um level maior que o seu");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: O jogador nгo estб conectado/ou o id estб errado");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
//////////////////////////////////////////////////////////////////////////////////
dcmd_darvida(playerid, params[]){
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /darvida <playerid> <vida>");
new jugador, vida, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
vida = strval(tmp2);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
format(str, sizeof(str), "El administrador %s ha seteado tu vida a %d.", admin, vida);
SendClientMessage(jugador, COLOR_AMARILLO, str);
return SetPlayerHealth(jugador, vida);
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: O jogador nгo estб conectado/ou o id estб errado");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_expulsar(playerid, params[]){
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(params) || !IsNumeric(tmp))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /expulsar <playerid> opcional <razуn>");
new jugador, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
if(!strlen(tmp2)){
format(str, sizeof(str), "O ADM %s kickou %s. [Razгo: sem razгo]", admin, name);
}else{//si no...
format(str, sizeof(str), "O ADM %s kickou %s. [Razгo: %s]", admin, name, params[2]);
}
SendClientMessageToAll(COLOR_GRIS, str);
return Kick(jugador);
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: O jogador nгo estб conectado/ou o id estб errado");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_congelar(playerid, params[]){
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(params) || !IsNumeric(tmp))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /congelar <playerid> opcional <razуn>");
new jugador, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
if(pInfo[jugador][congelado] == 0){
if(!strlen(tmp2)){
format(str, sizeof(str), "O ADM %s congelou %s. [Razгo: sem razгo]", admin, name);
}else{
format(str, sizeof(str), "O ADM %s congelou %s. [Razгo: %s]", admin, name, params[2]);
}
SendClientMessageToAll(COLOR_GRIS, str);
pInfo[jugador][congelado] = 1;
return TogglePlayerControllable(jugador, 0);
}
else{
format(str, sizeof(str), "El administrador %s ha descongelado a %s.", admin, name);
SendClientMessageToAll(COLOR_GRIS, str);
pInfo[jugador][congelado] = 0;
return TogglePlayerControllable(jugador, 1);
}
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: O jogador nгo estб conectado/ou o id estб errado");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
/////////////////////////////////////////////////////////////////////////////////
dcmd_ingresar(playerid, params[]){
#pragma unused params
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(pInfo[playerid][logueado] == 1) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jб estб registrado & logado");
if(!udb_Exists(name))
{
SendClientMessage(playerid, COLOR_ROJO, "ERROR: A Conta nгo existe... use");
return SendClientMessage(playerid, COLOR_ROJO, "/register para poder registr-lб");
}
return ShowPlayerDialog(playerid, LOGIN, 1, "Login", "Insira a senha para poder se registrar", "Aceitar", "Cancelar");
}
///////////////////////////////////////////////////////////////////////////////
dcmd_registrar(playerid, params[]){
#pragma unused params
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(pInfo[playerid][logueado] == 1) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jб estб registrado & logado");
if(udb_Exists(name)){
SendClientMessage(playerid, COLOR_ROJO, "ERROR: A conta estб registrada use ...");
return SendClientMessage(playerid, COLOR_ROJO, "/login para logar-se");
}
return ShowPlayerDialog(playerid, REGISTRO, 1, "Registro", "Insirб sua senha", "Aceitar", "Cancelar");
}
////////////////////////////////////////////////////////////////////////////////
dcmd_darchaleco(playerid, params[]){
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
new tmp[256], tmp2[256], Index;
tmp = strtok(params, Index);
tmp2 = strtok(params, Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))return SendClientMessage(playerid, COLOR_BLANCO, "USO: /darchaleco <playerid> <chaleco>");
new jugador, chaleco, name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], str[128];
jugador = strval(tmp);
chaleco = strval(tmp2);
if(IsPlayerConnected(jugador) || jugador != INVALID_PLAYER_ID){
if(pInfo[jugador][nivel] < pInfo[playerid][nivel] || !IsPlayerAdmin(jugador)){
GetPlayerName(jugador, name, sizeof(name));
GetPlayerName(playerid, admin, sizeof(admin));
format(str, sizeof(str), "O ADM %s setou seu colete a %d.", admin, chaleco);
SendClientMessage(jugador, COLOR_AMARILLO, str);
return SetPlayerArmour(jugador, chaleco);
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo pode usar este comando neste jogador");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: O jogador nгo estб conectado/ou o id estб errado");
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
/////////////////////////////////////////////////////////////////////////////////
dcmd_limpiarchat(playerid, params[]){
#pragma unused params
if(pInfo[playerid][nivel] >= 1 || IsPlayerAdmin(playerid)){
for(new i=0; i<60; i++){
for(new p=0; p<MAX_PLAYERS; p++){
if(IsPlayerConnected(p)){
if(pInfo[p][nivel] == 0 || !IsPlayerAdmin(p)){
SendClientMessage(p, COLOR_BLANCO, " ");
}
}
}
}
return 1;
}else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Nгo tem level alto para usar este comando");
}
pawn Код:
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(82) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(83) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(84) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(85) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(86) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(87) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(88) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(89) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(90) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(91) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(92) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(93) : error 017: undefined symbol "dcmd"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(96) : error 010: invalid function or declaration
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_ban"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_callar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_congelar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_darchaleco"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_darnivel"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_darvida"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_expulsar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_ingresar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_limpiarchat"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_mirar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_nomirar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "dcmd_registrar"
C:\Users\*******\Desktop\Game Mode\My Server\filterscripts\Systenadm.pwn(595) : warning 203: symbol is never used: "strtok"
![Sad](images/smilies/sad.gif)