Sistema de Admins DOF2 & ZCMD -
K0Y0T3 - 15.03.2016
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 !
Re: [FONT="Arial Black"][B][I][SIZE="5"]Sistema de Admins DOF2 & ZCMD[/SIZE][/I][/B][/FONT] -
1sbedx - 16.03.2016
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(playerid, p_name, MAX_PLAYER_NAME);
format(Arquivo, 40, "Administradores/%s.ini", p_name[playerid]);
p_administrador[playerid] = DOF2::GetInt(Arquivo, "Administrador");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
format(Arquivo, 40, "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(playerid, text[])
{
if(IsPlayerMuted(playerid)) return 0;
return 1;
}
CMD:daradmin(playerid, params[])
{
if(IsPlayerAdmin(playerid) || IsAdmin(playerid, 3))
{
new adm_, p_id;
if(sscanf(params, "id", p_id, adm_)) return 1;
if(!IsPlayerConnected(p_id)) return 1;
p_administrador[p_id] = adm_;
}
return 1;
}
CMD:calar(playerid, params[])
{
if(IsAdmin(playerid, 1))
{
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(playerid, params[])
{
if(IsAdmin(playerid, 1))
{
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(playerid, adm_check)
{
if(p_administrador[playerid] >= adm_check) return 1;
return 0;
}
CheckStaff(playerid)
{
new cargo_name[30];
switch(p_administrador[playerid])
{
case 1: cargo_name = "Ajudante";
case 2: cargo_name = "Moderador";
case 3: cargo_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.
Respuesta: [FONT="Arial Black"][B][I][SIZE="5"]Sistema de Admins DOF2 & ZCMD[/SIZE][/I][/B][/FONT] -
Superextreme - 16.03.2016
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(playerid, params[]) //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(playerid, params[]) //Comando ZCMD
{
if(PlayerInfo[playerid[pAdmin] <= 0) return SendClientMessage(playerid, 0xFFFFFFAA, "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
Re: [FONT="Arial Black"][B][I][SIZE="5"]Sistema de Admins DOF2 & ZCMD[/SIZE][/I][/B][/FONT] -
K0Y0T3 - 16.03.2016
Galera Vou da um estudada em seus codigos vllw se eu conssegui volto aque e agradeзo novamente ok? vllw abraзos .