[PEDIDO] comando /topscore
#1

eu queria saber como eu faзo pra ler o score dos player incluindo os offline usando dini... O Meu dini salva assim: arquivoscore.ini. Ai nele tem assim: arakuta=6 e na outra linha jogador=8. Ai eu queria saber como eu faзo pra criar um comando que lesse esse arquivo e retornasse assim ao digitar o comando: top 10, e mostrasse o score em ordem decrescente dos 10 players que tem mais
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=185491

Se quiser dos players offlines vai ter que adaptar, e muito
Reply
#3

ler o arquivo dini pra coletar os dados й o que nгo sei fazer. Ja tentei ler um tutorial sobre dini mas nгo entendi. Pegar dos players online eu sei
Reply
#4

Primeiro vocк vai ter que criar um plugin parar pegar os nomes dos arquivos que estгo em uma certa pasta...
Reply
#5

Mas acontece que й so pegar de um arquivo. Arquivo score.ini

pawn Код:
Arakuta=6
Junior=4
Exemplo=10
Ai o jogador digita in-game /topscore... Eu sei fazer manual, mas teria que ficar atualizando manualmente, eu queria automatizar esse processo.

Pra entender melhor o que eu quero: /topscore

pawn Код:
SendClientMessage(playerid, COLOR_RED, "Top 5 de Score:");
SendClientMessage(playerid, COLOR_GREEN, "Aqui o player com mais score, no caso, Exemplo=10");
SendClientMessage(playerid, COLOR_GREEN, "Arakuta=6");
SendClientMessage(playerid, COLOR_GREEN, "Junior=4");
Reply
#6

pawn Код:
enum top_score {
    Top1[128],
    Top2[128],
    Top3[128],
}
new TopScore[top_score];

forward salvarScore(); public salvarScore() //by Ricop522
{
    if(fexist("top.ini"))
    {
        dini_Set( "top.ini", "Top1", TopScore[Top1]);
        dini_Set( "top.ini", "Top2", TopScore[Top2]);
        dini_Set( "top.ini", "Top3", TopScore[Top3]);
    }
    else
    {
        dini_Create("top.ini");
        dini_Set( "top.ini", "Top1", "N/A");
        dini_Set( "top.ini", "Top2", "N/A");
        dini_Set( "top.ini", "Top3", "N/A");
    }
    return 0x01;
}
stock carregarTop() { //by Ricop522
    if(fexist("top.ini"))
    {
        TopScore[top1] = dini_Get("top.ini", "Top1");
        TopScore[top2] = dini_Get("top.ini", "Top2");
        TopScore[top3] = dini_Get("top.ini", "Top3");
    }
    else
    {
        dini_Create("top.ini");
        dini_Set( "top.ini", "Top1", "N/A");
        dini_Set( "top.ini", "Top2", "N/A");
        dini_Set( "top.ini", "Top3", "N/A");
    }
    return 0x01;
}
Getando informaзхes tops:
pawn Код:
if(!strcmp(cmd, "/tops", true))
{
    new j_string[0x80];
    format(j_string, sizeof(j_string), "Top1: %s\nTop2:%s\nTop3:%s", TopScore[top1],TopScore[top2],TopScore[top3]);
    ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "[Credits by Ricop522]", j_string, "OK", " ");
    return true;
}
O resto para pegar os maiores score's isso, vocк faz ae.


Espero ter ajudado, nгo remova os crйditos : P
Reply
#7

Me fala tudo que esse seu codigo ta fazendo... Ele ta salvando ou ta lendo dados? e onde eu boto o primeiro?
Reply
#8

Copiar e colar a primeira no topo
E o getando informaзхes na public OnPlayerCommandText
Reply
#9

undefined symbol "top1"

nesta linha

format(j_string, sizeof(j_string), "Top1: %s\nTop2:%s\nTop3:%s", TopScore[top1],TopScore[top2],TopScore[top3]);
Reply
#10

af que merda, ele te deu o codigo pronto e tu nгo sabe nem onde por -.-
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)