[Ajuda] Sistema de Admins DOF2 & ZCMD
#1

Galera estou criando GameMode totalmente do new para eu poder aprender a linguagem,estou precisando de alguem que faзa tutorialз de como criar sistema de admin simples em DOF2 e ZCMD porque dai posso criar o meu avanзado.Por favor nгo deixem o topico para tras nгo me ajudem !
Reply
#2

PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dof2>
new p_administrador[MAX_PLAYERS];
new
    
Arquivo[40]
;
new
    
p_name[MAX_PLAYER_NAME],
    
bool:Muted[MAX_PLAYERS]
;
public 
OnPlayerConnect(playerid)
{
    
GetPlayerName(playeridp_nameMAX_PLAYER_NAME);
    
format(Arquivo40"Administradores/%s.ini"p_name[playerid]);
    
p_administrador[playerid] = DOF2::GetInt(Arquivo"Administrador");
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
format(Arquivo40"Administradores/%s.ini"p_name[playerid]);
    if(!
DOF2::FileExists(Arquivo)) DOF2::CreateFile(Arquivo);
    
DOF2::SetInt(Arquivo"Administrador"p_administrador[playerid]);
    return 
DOF2::SaveFile();
}
public 
OnPlayerText(playeridtext[])
{
    if(
IsPlayerMuted(playerid)) return 0;
    return 
1;
}
CMD:daradmin(playeridparams[])
{
    if(
IsPlayerAdmin(playerid) || IsAdmin(playerid3))
    {
        new 
adm_p_id;
        if(
sscanf(params"id"p_idadm_)) return 1;
        if(!
IsPlayerConnected(p_id)) return 1;
        
p_administrador[p_id] = adm_;
    }
    return 
1;
}
CMD:calar(playeridparams[])
{
    if(
IsAdmin(playerid1))
    {
        new 
p_id;
        if(
sscanf(params"i"p_id)) return 1;
        if(!
IsPlayerConnected(p_id)) return 1;
        if(
Muted[p_id] != false) return 1;
        
Muted[playerid] = true;
        
SendClientMessageEx(p_id, -1"%s foi calado pelo %s %s."p_name[p_id], CheckStaff(playerid), p_name[playerid]);
    }
    return 
1;
}
CMD:descalar(playeridparams[])
{
    if(
IsAdmin(playerid1))
    {
        new 
p_id;
        if(
sscanf(params"i"p_id)) return 1;
        if(!
IsPlayerConnected(p_id)) return 1;
        if(
Muted[p_id] != true) return 1;
        
Muted[playerid] = false;
        
SendClientMessageEx(p_id, -1"%s foi descalado pelo %s %s."p_name[p_id], CheckStaff(playerid), p_name[playerid]);
    }
    return 
1;
}
IsAdmin(playeridadm_check)
{
    if(
p_administrador[playerid] >= adm_check) return 1;
    return 
0;
}
CheckStaff(playerid)
{
    new 
cargo_name[30];
    switch(
p_administrador[playerid])
    {
        case 
1cargo_name "Ajudante";
        case 
2cargo_name "Moderador";
        case 
3cargo_name "Administrador";
    }
    return 
cargo_name;
}
IsPlayerMuted(playerid)
{
    if(
Muted[playerid]) return SendClientMessage(playerid, -1"Vocк estб mutado e por isso nгo pode falar.");
    return 
0;

Bons estudos.
Reply
#3

PHP код:
enum pInfo// Informaзхes que o player pode ou nгo ser, no caso Admin(pAdmin).
  
pAdmin
}
new 
PlayerInfo[MAX_PLAYERS][pInfo]; // Variбvel que guarda as informaзхes do player.
CMD:seradmin(playeridparams[]) //Comando ZCMD
{
   
PlayerInfo[playerid][pAdmin] = 1// Te da o admin.
   
SendClientMessage(playerid, -1"Vocк й admin!"); // Avisa que vocк ganhou o admin.
   
return 1;
}
CMD:teste(playeridparams[]) //Comando ZCMD
{
   if(
PlayerInfo[playerid[pAdmin] <= 0) return SendClientMessage(playerid0xFFFFFFAA"Vocк nгo й Admin"); // Isso verifica se o player й admin ou nгo. Se o valor da variбvel PlayerInfo em relaзгo а informaзгo de que o player й admin for menor ou igual a 0, qualquer linha de cуdigo que colocar abaixo nгo funcionarб, pois ela sу й dedicada а administradores.
   
SendClientMessage(playerid, -1"Vocк й admin"); // Caso vocк ja tenha executado o comando /seradmin, isso aparecerб na tela, pois vocк se tornou um admin.
   
return 1;

Sobre o DOF2, й sу colocar a informaзгo do pAdmin dentro da enum de seu sistema de registro, depois sу fazer as verificaзхes como eu exemplifiquei.
Caso vocк nгo tenha sistema de registro, й recomendado que utilize um, pois se nгo o status de admin nгo serб salvo.

Nгo testei o cуdigo
Reply
#4

Galera Vou da um estudada em seus codigos vllw se eu conssegui volto aque e agradeзo novamente ok? vllw abraзos .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)