Sistema de admin -
AlessandroXPTO - 09.07.2014
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?
Re: Sistema de admin -
MultiKill - 09.07.2014
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.
Respuesta: Sistema de admin -
AlessandroXPTO - 09.07.2014
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
Re: Sistema de admin -
MultiKill - 09.07.2014
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.
Respuesta: Sistema de admin -
AlessandroXPTO - 09.07.2014
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?
Re: Respuesta: Sistema de admin -
SkullFire - 09.07.2014
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.
Re: Sistema de admin -
MultiKill - 09.07.2014
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.
Respuesta: Sistema de admin -
AlessandroXPTO - 10.07.2014
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?
Re: Sistema de admin -
MultiKill - 10.07.2014
Nгo sei o que pode ser.