[Ajuda] Alguem Poderia me ajudar? -
rafinha.faria - 03.03.2012
o meu problema й o seguinte eu peguei esse codigo aki no forum do Hancoc e teve um reparo por AleeFerreira. Й um sistema de rank por score, o unico problema й que sу mostra o primeiro colocado. eu gostaria q mostrasse pelo menos atй o terceiro colocado. Sу que eu nao consigui entender muito bem o codigo pra fazer isso.. alguem poderia me ajuda.
Код:
#include <a_samp>
#define SLOTS 500
new
bool:TopFoi[SLOTS],
Valor_Maximo[10] = -1,
PlayerMelhor[10][24],
Percorrido
;
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/rankScore", true))
{
TopPlayersOnline(playerid);
return 1;}
return 1;
}
stock TopPlayersOnline()
{
new string[256];
while(Percorrido < 10) {
for(new i; i < 500; i++) if(IsPlayerConnected(i)) {
if(GetPlayerScore(i) > Valor_Maximo[Percorrido] && TopFoi[i] == false) {
GetPlayerName(i,PlayerMelhor[Percorrido],24);
Valor_Maximo[Percorrido] = GetPlayerScore(i);
TopFoi[i] = true;
}
}
Percorrido++;
}
for(new a; a < 500; a++) if(IsPlayerConnected(a)) TopFoi[a] = false;
Percorrido = 0;
for(new i; i < 10;i++)
{
if(PlayerMelhor[i][0] != EOS)
{
format(string ,64,"[%d] - Player: %s | Score: %d",i+1,PlayerMelhor[i],Valor_Maximo[i]);
TextDrawSetString(trank,string);
TextDrawShowForAll(trank);
Valor_Maximo[i] = -1;
}
}
}
o link de onde eu tirei ta ai :
https://sampforum.blast.hk/showthread.php?tid=311389
pf me ajuda... Muito obrigado desde jб..
Re: [Ajuda] Alguem Poderia me ajudar? -
DarkScripter - 03.03.2012
Fiz um filterscript melhorsinho, tenta:
pawn Код:
#include <a_samp>
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/rankScore", true))
{
static
Scores[MAX_PLAYERS],
String[128],
Nome[24],
IntVar,
;
for(IntVar = 0; IntVar != MAX_PLAYERS; ++IntVar) Scores[IntVar] = GetPlayerScore(IntVar);
BubbleSort(Scores, sizeof(Scores));
for(IntVar = 0; IntVar < 10; ++i)
{
GetPlayerName(IntVar, Nome, 24);
format(String, sizeof(String),"%i є Nome: %s Pontos: %s", IntVar+1, Nome, Scores[IntVar]);
SendClientMessage(playerid, -1, String);
}
return 1;
}
return 0;
}
static stock BubbleSort(v[], size)
{
#if !defined swap
#define swap(%0,%1) (%0 ^= %1, %1 ^= %0, %0 ^= %1)
#endif
for(new i = 1; i != size; ++i)
{
for(new q = 0; (q != size - i); ++q)if(v[i] > v[q]) s_swap(v[q],v[i]);
}
}
Re: [Ajuda] Alguem Poderia me ajudar? -
rafinha.faria - 03.03.2012
tipo da pra mim mudar o SendClientMessage para TextDraw

?
Re: [Ajuda] Alguem Poderia me ajudar? -
DarkScripter - 03.03.2012
sim. й sу mudar.
Re: [Ajuda] Alguem Poderia me ajudar? -
rafinha.faria - 03.03.2012
Deu um problema aki... ta falando q "s_swap" nao foi definido... la no final do codigo..
Re: [Ajuda] Alguem Poderia me ajudar? -
DarkScripter - 03.03.2012
pawn Код:
static stock BubbleSort(v[], size)
{
#if !defined swap
#define swap(%0,%1) (%0 ^= %1, %1 ^= %0, %0 ^= %1)
#endif
for(new i = 1; i != size; ++i)
{
for(new q = 0; (q != size - i); ++q)if(v[i] > v[q]) swap(v[q],v[i]);
}
}
pronto, apenas subistitua.
Re: [Ajuda] Alguem Poderia me ajudar? -
rafinha.faria - 03.03.2012
cara esse sisteminha ta meio bugado cara.. Mais agradeзo muito mesmo por ter tentado me ajudar... coisa q ninguem tinha feito ainda.... nao resolveu meu problema mais vou te dar +rep por ter tentado =) eu queria q colocasse o segundo e o terceiro colocado no meu codigo q eu puiz la em cima.. pq ele sу aparece o primeiro.. mais valeu cara.. vou durmi um pouko kkkk flw
Re: [Ajuda] Alguem Poderia me ajudar? -
DarkScripter - 03.03.2012
nгo estб bugado,
o cуdigo sу aparece a primeira colocaзгo
porque sem dъvida somente vocк estб testando o servidor sozinho..