ver nome do player
#1

eu estava precisando de uma funзгo que me dй o nome do player quando eu inserir o id
Tipo assim /id [iddoplayer] e isso vai devolver o nome.


agradecia ajuda
Reply
#2

pawn Код:
if(strcmp(cmd, "/id", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xFFFF00AA, "/id [ Nick do Player ]");
                return 1;
            }
            new target;
            target = ReturnUser(tmp);
            new sstring[256];
            if(IsPlayerConnected(target))
            {
                if(target != INVALID_PLAYER_ID)
                {
                    GetPlayerName(target, giveplayer, sizeof(giveplayer));
                    format(sstring, sizeof(sstring), "ID: (%d) %s",target,giveplayer);
                    SendClientMessage(playerid, 0xFFFF00AA, sstring);
                }
            }
        }
        return 1;
    }
Reply
#3

Pra que 256 cedulas.. ?
pawn Код:
if(strcmp(cmd, "/id", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xFFFF00AA, "/id [ Nick do Player ]");
                return 1;
            }
            new target;
            target = ReturnUser(tmp);
            new sstring[70];
            if(IsPlayerConnected(target))
            {
                if(target != INVALID_PLAYER_ID)
                {
                    GetPlayerName(target, giveplayer, sizeof(giveplayer));
                    format(sstring, sizeof(sstring), "ID: (%d) %s",target,giveplayer);
                    SendClientMessage(playerid, 0xFFFF00AA, sstring);
                }
            }
        }
        return 1;
    }
Acho que sу 70 resolve
Reply
#4

Sim Obrigado Nao Tinha Visto
Reply
#5

eu uso esse
pawn Код:
if(strcmp(cmd,"/getid",true) == 0 || strcmp(cmd, "/id", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid,COLOR_DBLUE,"Uso correto: /getid [parte do nick]");
            return 1;
        }
        format(string,sizeof(string),"Searched for: \"%s\": ",tmp);
        SendClientMessage(playerid,COLOR_RED,string);
        new found=0;
        for(new i=0; i <= MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                new foundname[MAX_PLAYER_NAME];
                GetPlayerName(i, foundname, MAX_PLAYER_NAME);
                new namelen = strlen(foundname);
                new bool:searched=false;
                for(new pos=0; pos <= namelen; pos++)
                {
                    if(searched != true)
                    {
                        if(strfind(foundname,tmp,true) == pos)
                        {
                            found++;
                            format(string,sizeof(string),"%d. %s (ID %d)",found,foundname,i);
                            SendClientMessage(playerid, COLOR_GREEN ,string);
                            searched = true;
                        }
                    }
                }
            }
        }
        return 1;
    }
Reply
#6

Quote:
Originally Posted by Ricop522
Посмотреть сообщение
Pra que 256 cedulas.. ?
pawn Код:
....
Acho que sу 70 resolve
Calcule melhor:
pawn Код:
ID: (%d) %s
ID: = +3 - (%d) (Mбximo 3 caracteres (+100|1=(3)=1)) = +5 | %s Nome do jogador (Max:24) = +24 | +1 (Null) | +2 espaзos.

Total: 35. Entгo o melhor seria:
pawn Код:
new string[35]; //Se preferir 40
70-35=35 (Economia de 140bytes).
Reply
#7

Vocкs sгo bem minuciosos quando se trata de bytes
Reply
#8

Ao se tratar de pequenos cуdigos visualmente vocк nгo ve diferenзa alguma de usar 256 - 128 - 24.....
Mas ao acumular uma grande quantidade de cуdigos no mesmo script, vocк irб ver..
Antigamente eu nгo ligava para nъmero de celulas, usava 256 em tudo que fazia..Entгo chegou uma hora que estorou o limite nгo aguentava mais..Hoje em dia tudo que faзo calculo o valor total para saber quantas cйlulas realmente vou precisar...
Reply
#9

Falcon, eu ligo para o numero de celulas, so nгo faзo uma conta tгo minuciosa. Daqui pra frente vou melhorar minha conta, e usar apenas o necessario...
Reply
#10

Quote:
Originally Posted by leandro123456
Посмотреть сообщение
Falcon, eu ligo para o numero de celulas, so nгo faзo uma conta tгo minuciosa. Daqui pra frente vou melhorar minha conta, e usar apenas o necessario...
Muitas pessoas preferem arrendondar os valores (Ex: Total: 25 - Arrendonda: 30), sу que em um script de grande porte (Como um Sistema de Administraзгo ou GameMode RolePlay) estas "Sobras" vгo se acumular. E os bytes tem uma relaзгo direta com a Lag produzida no jogo. Alйm, claro, de atrasar sua sincronizaзгo com o prуprio servidor aonde vocк esta jogando. Hб um post do "Slice" que explica bem como funciona a sincronizaзгo "servidor-player-sa-mp", na maioria das vezes esse problema gera outros problemas que vocк pensa ser bug no seu script, quando na verdade se passa apenas de lag por excesso de bytes (Ex: O jogador indica ao servidor que comprou um colete na Ammunation, o servidor vai demorar um certo para receber, durante este tempo algum 'dado' pode se perder no caminho, indicando ao servidor que aquele escudo veio do nada (ex), podendo kickar o jogador sem motivo) \<- (Que й basicamente 8bits do uso da capacidade de armazenamento do computador = memуria) \<- (Basicamente, Acumulo na memуria = Reduзгo da capacidade de processamento = Lag).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)