[Ajuda] Getar nome do admin e lvl
#1

To com problemas em Getar novamente
tipo assim quero getar o nome do admin e o level que ele deu.

pawn Код:
new msg[128];
                format(msg,128,"* Vocк foi promovido para level  %d de Admin - Por %s.",seu_nome, nome_do_admin);
                SendClientMessage(nome_do_admin, COLOR_LIGHTBLUE, string);
Reply
#2

ja entendi, mas sу isso nгo basta posta o comando de setar admin inteiro ae, ai fica mais facil.
Reply
#3

Ainda nгo criei ¬¬

Mais pelo oque eu acho nгo й preciso nгo!
Й sу criar as variaveis e Geta-las mais nгo sei fazer isso ainda :S
Reply
#4

qual processador de comando vocк usa ?

sabe usar sscanf ou strtok ?
Reply
#5

DOF2 e SII, if(strcmp(cmdtext, "/padmin", true) == 0)
Reply
#6

Fiz um exemplo simples com sscanf e ycdm,
pawn Код:
YCMD:setaradmin(playerid, params[], ajuda)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_VERMELHO, "|| ERRO || Somente Admnistradores logados modo rcon podem usar esse comando");// vai verificar se o player for admin vai prosseguir, se nao for vai retorna o erro
    new IDdoPlayer, AdminLevel; //cria uma variavel para armazenar o id do player e o level admin
    if(sscanf(params, "ii", IDdoPlayer, AdminLevel)) return SendClientMessage(playerid, COR_VERMELHO, "|| ERRO || Use: /setadmin [ID] [LEVEL]");// se ele digitou o id do player e level adm prosegue, se ele nao digitou vai retorna a mensagem de erro
    PlayerInfo[IDdoPlayer][pAdmin] = AdminLevel;// aki no caso usei a enum do meu GM, vocк adapta com a sua enum
    new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90], MensagemTodos[125];
    GetPlayerName(playerid, AdminNome, sizeof(AdminNome)); // aki ele vai pegar o nome do admin
    GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));// aki ele vai pegar o nome do player a ser setado adm
    format(MensagemPlayer, sizeof(MensagemPlayer), "|| ADMNISTRAЗГO || O Administrador %s te setou admin level %i", AdminNome, AdminLevel);//aqui vai formata mensagem para enviar ao player
    format(MensagemAdmin, sizeof(MensagemAdmin), "|| ADMINISTRAЗГO || Vocк setou administrador level %i para o %s", AdminLevel, PlayerNomeS);//aqui vai formata mensagem para enviar ao admin
    format(MensagemTodos, sizeof(MensagemTodos), "|| ADMINISTRAЗГO || O Administrador %s setou admin para %s level: %i", AdminNome, PlayerNomeS, AdminLevel); //aqui formata a mensagem para enviar atodos
    SendClientMessage(playerid, COR_ADMIN, MensagemAdmin) && SendClientMessage(IDdoPlayer, COR_ADMIN, MensagemPlayer) && SendClientMessageToAll(C_ADMIN, MensagemTodos);//aqui manda todas mensagens formatadas
    return 1;
}
Reply
#7

Quote:
Originally Posted by O_KoDi
Посмотреть сообщение
Fiz um exemplo simples com sscanf e ycdm,
pawn Код:
YCMD:setaradmin(playerid, params[], ajuda)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_VERMELHO, "|| ERRO || Somente Admnistradores logados modo rcon podem usar esse comando");// vai verificar se o player for admin vai prosseguir, se nao for vai retorna o erro
    new IDdoPlayer, AdminLevel; //cria uma variavel para armazenar o id do player e o level admin
    if(sscanf(params, "ii", IDdoPlayer, AdminLevel)) return SendClientMessage(playerid, COR_VERMELHO, "|| ERRO || Use: /setadmin [ID] [LEVEL]");// se ele digitou o id do player e level adm prosegue, se ele nao digitou vai retorna a mensagem de erro
    PlayerInfo[IDdoPlayer][pAdmin] = AdminLevel;// aki no caso usei a enum do meu GM, vocк adapta com a sua enum
    new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90], MensagemTodos[125];
    GetPlayerName(playerid, AdminNome, sizeof(AdminNome)); // aki ele vai pegar o nome do admin
    GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));// aki ele vai pegar o nome do player a ser setado adm
    format(MensagemPlayer, sizeof(MensagemPlayer), "|| ADMNISTRAЗГO || O Administrador %s te setou admin level %i", AdminNome, AdminLevel);//aqui vai formata mensagem para enviar ao player
    format(MensagemAdmin, sizeof(MensagemAdmin), "|| ADMINISTRAЗГO || Vocк setou administrador level %i para o %s", AdminLevel, PlayerNomeS);//aqui vai formata mensagem para enviar ao admin
    format(MensagemTodos, sizeof(MensagemTodos), "|| ADMINISTRAЗГO || O Administrador %s setou admin para %s level: %i", AdminNome, PlayerNomeS, AdminLevel); //aqui formata a mensagem para enviar atodos
    SendClientMessage(playerid, COR_ADMIN, MensagemAdmin) && SendClientMessage(IDdoPlayer, COR_ADMIN, MensagemPlayer) && SendClientMessageToAll(C_ADMIN, MensagemTodos);//aqui manda todas mensagens formatadas
    return 1;
}
Vlw lek
+rep
vo adapta pro meu jeito agora ^^
Reply
#8

Desculpa o Double Post mais nгo to conseguindo mudar :S
olha ai como ta

pawn Код:
if(strcmp(cmdtext, "/padmin", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new IDdoPlayer, AdminLevel; //cria uma variavel para armazenar o id do player e o level admin
            if(strcmp(cmdtext, "ii", IDdoPlayer, AdminLevel))
            {
                return SendClientMessage(playerid, COLOR_GRAD2, "USE: /daradmin [id] [Nivel]");
            }
            if(PlayerInfo[playerid][pAdmin] == 5000)
            {
               
                PlayerInfo[IDdoPlayer][pAdmin] = AdminLevel;// aki no caso usei a enum do meu GM, vocк adapta com a sua enum
                new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90];
                GetPlayerName(playerid, AdminNome, sizeof(AdminNome)); // aki ele vai pegar o nome do admin
                GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));// aki ele vai pegar o nome do player a ser setado adm
                format(MensagemPlayer, sizeof(MensagemPlayer), "* Vocк foi promovido para Admin level %d - Por: %s.", AdminLevel, AdminNome);//aqui vai formata mensagem para enviar ao player
                format(MensagemAdmin, sizeof(MensagemAdmin), "* Vocк promoveu o jogador %s para Admin level %d.", PlayerNomeS, AdminLevel);//aqui vai formata mensagem para enviar ao admin
                SendClientMessage(playerid, COLOR_LIGHTBLUE, MensagemAdmin) && SendClientMessage(IDdoPlayer, COLOR_LIGHTBLUE, MensagemPlayer);
            }
            else
            {
                SendClientMessage(playerid, Cyan, "Vocк nгo й um administrador ou nгo tem level de Admin suficiente");
            }
            return 1;
        }
    }
o warning
Код:
C:\Users\Vinicius\Videos\Projeto\gamemodes\Vini.pwn(375) : warning 213: tag mismatch
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
a linha

pawn Код:
if(strcmp(cmdtext, "ii", IDdoPlayer, AdminLevel))
            {
                return SendClientMessage(playerid, COLOR_GRAD2, "USE: /padmin [id] [Nivel]");
            }

Nгo entendi muito bem como se faz esta parte ai
Reply
#9

O que acontece й o seguinte o exemplo que fiz usei sscanf e ycmd, sscanf processador de parвmetros, e ycmd processador de comando acho que й isso kkk, no caso strcmp й comparador de strings, portanto pra fazer isso nele й necessбrio vocк usar strtok, й um pouco mais difнcil que sscanf, entгo, sscanf nao funfa em strcmp, portanto recomendo que vocк use algum processador de comando e sscanf. vocк vai ver que vai ficar bem mais facil, recomendo SSCANF e YCMD
Reply
#10

Quote:
Originally Posted by O_KoDi
Посмотреть сообщение
O que acontece й o seguinte o exemplo que fiz usei sscanf e ycmd, sscanf processador de parвmetros, e ycmd processador de comando acho que й isso kkk, no caso strcmp й comparador de strings, portanto pra fazer isso nele й necessбrio vocк usar strtok, й um pouco mais difнcil que sscanf, entгo, sscanf nao funfa em strcmp, portanto recomendo que vocк use algum processador de comando e sscanf. vocк vai ver que vai ficar bem mais facil, recomendo SSCANF e YCMD
Mais vocк sabe fazer aquela parte ali?
@Edit

To fazendo ja com a ajuda do nosso companheiro https://sampwiki.blast.hk/wiki/Strtok

Flws
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)