[ERROS] Sistema de adm
#1

[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 '-'

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;
}
Agora os comandos em DCMD
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");
}
erros
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"
Help /I]
Reply
#2

pawn Код:
dcmd(limpiarchat, 11, cmdtext);
Limpiar?
Reply
#3

Baixe essa include
Reply
#4

Se vocк jб tiver o DCMD

pawn Код:
//Topo do GM
#include <dcmd>
Reply
#5

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
pawn Код:
dcmd(limpiarchat, 11, cmdtext);
Limpiar?
Eu peguei o tutorial em espanhol '-'
Reply
#6

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
Se vocк jб tiver o DCMD

pawn Код:
//Topo do GM
#include <dcmd>
Jб tentou isso que eu te disse?
Reply
#7

Quote:
Originally Posted by LordShadow
Посмотреть сообщение


Jб tentou isso que eu te disse?
Sim deu certo *-* + rep pra tu
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)