[Ajuda] Sistema de admin
#1

Olб!
Estou editando o GameMode do Brasil Play Happy porem ele possui um sistema de admin no qual nao da para ver os admins que o servidor possui. Por exemplo, o padrao e ter um /infoadm mas o GM nao possui, alguem me ajuda?
Reply
#2

Se vocк que tб editando o Game Mode nгo sabe, qual й o comando, como eu vou saber, se estб editando procure o comando. E mude o nome do comando se quiser. Se for editar te aconselho a mudar os comandos para ZCMD ou YCMD e usar sscanf, o Game Mode nгo usa processador de comandos, e fica lento, e ainda os comandos estгo em strtok.
Reply
#3

mas tipo pra troca pro ZCMD й so eu baixar a include e ir no gm dar CTRL F e trocar a atual(streamer) por ZCMD em todo o GameMode?
E pra que serve o sscang
Reply
#4

A include streamer nгo й para comandos, й para objetos e mais algumas coisas.

Vou dar um exemplo de como fica mais fбcil comandos em zcmd e sscanf, e strcmp e sscanf.

Strcmp e sscanf:

Para usar strcmp e sscanf vocк ainda vai precisar da strtok. E vai ser um pouco diferente de usar zcmd e sscanf.

Comandos:

Em strcmp e sscanf:
pawn Код:
if(strcmp(cmd,"/kick",true) == 0)
{
    new id, motivo[64],nome1[24],nome2[24],str[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Vocк nгo estб logado na RCON.");
    if(!sscanf(cmdtext,"s[6]us",cmd,id,motivo)) return SendClientMessage(playerid, -1, "Use: /kick <id> <motivo>");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "O jogador(a) nгo estб online");
    GetplayerName(id, nome1, 24);
    GetplayerName(playerid, nome2, 24);
    format(str, sizeof str,"%s foi kikado por %s - Motivo: %s",nome1, nome2,motivo);
    SendClientMessageToAll(-1, str);
    Kick(id);
    return 1;
}
Em strcmp e strtok:
pawn Код:
if(strcmp(cmd, "/kick", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /kick [id] [motivo]");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid)){
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "Uso: /kickar [id] [motivo]");
}else{
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "{191970}(INFO) O administrador %s kickou o jogador %s (Motivo: %s)", aname,pname,result);
SendClientMessageToAll(tcadm, string);
Kick(plid);
}
}else{
format(string, sizeof(string), "(ERRO) ID invбlido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
Em zcmd e sscanf:
pawn Код:
CMD:kick(playerid, params[])
{
    new id, motivo[64],nome1[24],nome2[24],str[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Vocк nгo estб logado na RCON.");
    if(!sscanf(params,"us",id,motivo)) return SendClientMessage(playerid, -1, "Use: /kick <id> <motivo>");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "O jogador(a) nгo estб online");
    GetplayerName(id, nome1, 24);
    GetplayerName(playerid, nome2, 24);
    format(str, sizeof str,"%s foi kikado por %s - Motivo: %s",nome1, nome2,motivo);
    SendClientMessageToAll(-1, str);
    Kick(id);
    return 1;
}
Viu a diferenзa usando sscanf. O comando strcmp e strtok foi tirado de um Game Mode, que eu acabei de baixar para mostrar a diferenзa.

Se for usar, strcmp e sscanf, vocк tem que saber algumas coisas. Existe uns tutoriais na бrea inglesa ensinando a usar strcmp e sscanf.
Reply
#5

mas tipo como que eu troco?
eu uso o Gm do PlayHappy q й a include strcmp
pra trocar por outra eu teria q alterar TODOS os comandos de gm? ou como que funciona?
Reply
#6

Quote:
Originally Posted by AlessandroXPTO
Посмотреть сообщение
mas tipo como que eu troco?
eu uso o Gm do PlayHappy q й a include strcmp
pra trocar por outra eu teria q alterar TODOS os comandos de gm? ou como que funciona?
Sim,terб de trocar todos os comandos lara a include de processador de comandos a ser usada, no caso, recomendo zcmd.
Reply
#7

Primeiramente strcmp nгo й include й uma funзгo para diferenciar uma string de outra string.

Se for editar, um Game Mode pelo menos faзa direito. Estude como usar sscanf e um processador de comandos ou sscanf e strcmp.

Deixo aqui uns tutoriais:
Zcmd e sscanf.
Ycmd e sscanf
Strcmp e sscanf

E se for usar Ycmd ou Zcmd, vocк teria que tirar todos os coamndos da callback OnPlayerCommandText, e depois apagar a callback.
Reply
#8

hm ok
Mas tipo, as vezes vou logar no sv(q ta ligado no meu PC pq tou editando o gm ainda) eu logo e ele fica parado travado na tela de bem vindo, trava tudo ... sabe por que?
Reply
#9

Nгo sei o que pode ser.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)