[Ajuda] Muito complexo pra mim :/ -
Pharrel - 31.08.2011
Sгo poucas as vezes q eu venho aq pedir ajuda, mas agr eu preciso de uma coisa q ta me deixando louco...
Й o seguinte, eu tenho um sv RP, e eu tirei os nomes de cima da cabeзa dos players, mas agr eu tenho q resolver o problema de aparecer o nome de todo mundo nas mensagens, porйm, eu quero q qdo a pessoa se apresente pra outra, o nome apareзa...
Ficou meio confuso mas vou mostrar como й q eu imaginei fazer, mas q n deu mto certo...
Aqui й o comando de quando a pessoa se apresenta:
pawn Код:
if(!strcmp(cmd, "/apresentar-se", true))
{
if(gPlayerLogged[playerid])
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /apresentar-se [Id/Nome]");
return 1;
}
new giveplayerid;
giveplayerid = ReturnUser(tmp);
new Id = PlayerInfo[playerid][pIdentification];
for(new n=0; n<KnownSize; n++)
{
if(Known[giveplayerid][n] == 0)
{
Slot[giveplayerid] = n;
break;
}
if(Known[giveplayerid[n] == Id)
return SendClientMessage(playerid, COLOR_RED, "[Erro]{b4b5b7} Este jogador ja lhe conhece!");
}
Known[giveplayerid][Slot[giveplayerid]] = Id;
format(string, 57, "Desconhecido Diz: Prazer, meu nome й %s.", gNome(playerid));
SendClientMessage(giveplayerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GREEN, "[Info]{b4b5b7} Agora ele lhe conhece!");
}
return 1;
}
Ou seja, quando o ID fixo da pessoa fica salvo no arquivo dos conhecidos do player, o nome do player tem que aparecer normal...
Aqui й uma stock que eu peguei com o Mittos:
pawn Код:
stock gNome(playerid)
{
new strg[24];
strmid(strg,pNome(playerid),0,strlen(pNome(playerid)),24);
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{
if (strg[i] == '_') strg[i] = ' ';
}
return strg;
}
Eu queria uma stock que quando fosse encontrado o nome de algum player, verificasse no Known[playerid][n] do player se o ID fixo do player esta lб, se estiver, retornar o gNome, se nгo estiver, retornar "Desconhecido".
Ficou meio confuso mas axo q da pra entender :/
Vlw...
Se quiser estrelinha pede...apesar de eu axar inutil isso...
Re: [Ajuda] Muito complexo pra mim :/ -
dudu.r.oliveira - 01.09.2011
ta tenso, alguem ajuda ai *-*
Re: [Ajuda] Muito complexo pra mim :/ -
Pharrel - 01.09.2011
Tragico... ninguem me ajuda :/ vou chorar
Re: [Ajuda] Muito complexo pra mim :/ -
Lуs - 01.09.2011
Nгo entendi sua dъvida Pharrel.
Re: [Ajuda] Muito complexo pra mim :/ -
Pharrel - 01.09.2011
Simples, quero uma stock que se ela encontrar o nome de alguem em uma string, ela cheque as variaveis Known[playerid][numero], se ela achar o ID fixo do player "Identification" ela retorna a string normal, com o nome do player, mas c nao achar retorne no lugar do nome do player a palavra "Desconhecido".
ou seja:
digamos q essa mensagem foi enviada:
Pharrel_Young Diz: Olб tudo bem como vai?
eu quero uma stock que retorne a string desse jeito:
Desconhecido Diz: Olб tudo bem como vai?
do jeito acima sу c o ID fixo do player n estiver na variavel Known[playerid][numero] do player q vai receber a mensagem, senao envia a mensagem com o nome normal do jeito q ta.
pawn Код:
if(Known[i][n] == PlayerInfo[playerid][pIdentification])
{
return string;
}
else return string SУ QUE NO LUGAR DO NOME ESTEJA A PALAVRA "DESCONHECIDO";
tendeu? :/
eu sei como achar o nome...й sу por strfind, sei como comparar, sу n sei como substituir o nome pela palavra Desconhecido...
Re: [Ajuda] Muito complexo pra mim :/ -
RebeloX - 01.09.2011
Eu percebi, mas uma coisa, vocк jб testou isso com pelo menos 5 player?
Re: [Ajuda] Muito complexo pra mim :/ -
Pharrel - 01.09.2011
Eu nao consegui fazer... portanto n testei com ngm, n sei pegar coordenada de string nem substituir coordenadas por outras letras, por isso n consigo...
e n achei nada relacionado a isso no search tb...
Re: [Ajuda] Muito complexo pra mim :/ -
RebeloX - 01.09.2011
Eu duvido muito que isso funcione perfeitamente, pois, provavelmente irб criar bug, vamos supor assim.
Eu digito /conhecer [0], dai conheзo o cara 0, dai o cara sai do server, e vem outro cara com o id 0, e vc digita /conhecer [0], dai vai aparecer, vocк jб conhece este cara, viu? a unica forma й criar um comando dizendo seu nome sу, nada mais, porque se vocк vai usar com ids provavelmente vai bugar.
Re: [Ajuda] Muito complexo pra mim :/ -
Pharrel - 01.09.2011
putz... й ID fixo,
pawn Код:
new Id = PlayerInfo[playerid][pIdentification];
se fosse ID do jogo n й "provavel" q iria bugar, ia ser CERTEZA...
Re: [Ajuda] Muito complexo pra mim :/ -
Ricop522 - 01.09.2011
pawn Код:
stock gNome(playerid, giveplayerid)
{
new strg[24];
strmid(strg,pNome(giveplayerid),0,strlen(pNome(giveplayerid)),24);
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{
if (strg[i] == '_') strg[i] = ' ';
}
new Id = PlayerInfo[playerid][pIdentification];
for(new n=0; n<KnownSize; n++)
{
if(Known[giveplayerid][n] == 0)
{
Slot[giveplayerid] = n;
break;
}
if(Known[giveplayerid[n] == Id) return strg;
else return "Desconhecido";
}
}
Й isso ?
gNome(playerid, playerid)
ou
gNome(playerid, giveplayerid)