[Ajuda] Lista Dialog Corridas Criadas
#1

Olб Galera!
Quero pedir a ajuda de vocкs de como comeзo a fazer um Dialog mostrando uma lista das Corridas Criadas, Ja pesquisei muito e ainda nгo achei nada a respeito.

(LEMBRANDO: Estou pedindo uma dica de como posso comeзar e nгo pedindo pra fazer o comando.)




-> Pasta Das Corridas Criadas
PHP код:
format(CorridaFilesizeof(CorridaFile), "/CorridasCriadas/%s.txt"CorridaNome); 
Reply
#2

PHP код:
CMD:list(playeridparams[])
{
    new 
string[200], string2[000];
       new 
rNameFile[64];
    
format(rNameFilesizeof(rNameFile), "/CorridasCriadas/%s.txt");
    
TotalRaces dini_Int(rNameFile"TotalRaces");
    
Loop(xTotalRaces)
    {
         
format(stringsizeof(string), "Corrida_%d"x), strmid(CorridaNome[x], dini_Get(rNameFilestring), 020sizeof(CorridaNome));
         
format(string2sizeof(string2), "%s{FF0000}%s\n"string2CorridaNome[x]);
        
ShowPlayerDialog(playerid8855DIALOG_STYLE_LIST"{FFF000}Corridas:"string2"Fechar""");
    }
       return 
1;

Algo assim vai ser, nгo sei bem como й seu sistema de corrida..
Reply
#3

Vocк pode armazenar num ficheiro .txt os nomes das corridas criadas. Depois, para mostrar o diбlogo vocк lк esse .txt e por cada linha vocк faz strcat:
Код:
new string[255]; // Meti 255 porque nгo sei quantas letras suas corridas vгo ocupar
new File:handle = fopen("corridas.txt", io_read), line[128];
if(handle)
{
        while(fread(handle, line)) // Por cada linha
        {
            // Por cada linha aqui vocк adiciona a variбvel "line" а variбvel "string", com um "\n" no final (para no diбlogo as corridas nгo apareceram todas na mesma linha)
            // strcat
         }
	fclose(handle);
}
No final a variбvel "string" deverб ter algo do gйnero:
Corrida 1\nCorrida 2\nCorrida dos Cavalos\nCorrida dos Gatos\n (supostamente esse "\n" final nгo deveria aparecer, mas vocк pode resolvк-lo depois)

Caso vocк nгo queira usar um .txt para armazenar os nomes das corridas, creio que terб de usar um plugin para obter todos os ficheiros .ini existentes na pasta "corridas", e depois й sу juntar os nomes (nгo se esqueзa de tirar o ".ini" no final dos nomes) com a funзгo strcat.
Reply
#4

Quote:
Originally Posted by GustavoSouza
Посмотреть сообщение
PHP код:
CMD:list(playeridparams[])
{
    new 
string[200], string2[000];
       new 
rNameFile[64];
    
format(rNameFilesizeof(rNameFile), "/CorridasCriadas/%s.txt");
    
TotalRaces dini_Int(rNameFile"TotalRaces");
    
Loop(xTotalRaces)
    {
         
format(stringsizeof(string), "Corrida_%d"x), strmid(CorridaNome[x], dini_Get(rNameFilestring), 020sizeof(CorridaNome));
         
format(string2sizeof(string2), "%s{FF0000}%s\n"string2CorridaNome[x]);
        
ShowPlayerDialog(playerid8855DIALOG_STYLE_LIST"{FFF000}Corridas:"string2"Fechar""");
    }
       return 
1;

Algo assim vai ser, nгo sei bem como й seu sistema de corrida..
Й este FS de Corrida Mesmo.
No Caso й assim?
PHP код:
CMD:list(playeridparams[])
{
    new 
string[200], string2[100];
    new 
rNameFile[64];
    
format(rNameFilesizeof(rNameFile), "/rRaceSystem/%s.RRACE");
    
TotalRaces dini_Int(rNameFile"TotalRaces");
    
Loop(xTotalRaces)
    {
        
format(stringsizeof(string), "Race_%d"x), strmid(BuildName[x], dini_Get(rNameFilestring), 020sizeof(BuildName));
        
format(string2sizeof(string2), "%s{FF0000}%s\n"string2BuildName[x]);
        
ShowPlayerDialog(playerid8855DIALOG_STYLE_LIST"{FFF000}Corridas:"string2"Fechar""");
    }
    return 
1;

Se for assim, nгo deu, porque eu digito o comando e nada aparece.
Obrigado pela forзa!
Reply
#5

Quote:
Originally Posted by Nixtren
Посмотреть сообщение
Vocк pode armazenar num ficheiro .txt os nomes das corridas criadas. Depois, para mostrar o diбlogo vocк lк esse .txt e por cada linha vocк faz strcat:
Код:
new string[255]; // Meti 255 porque nгo sei quantas letras suas corridas vгo ocupar
new File:handle = fopen("corridas.txt", io_read), line[128];
if(handle)
{
        while(fread(handle, line)) // Por cada linha
        {
            // Por cada linha aqui vocк adiciona a variбvel "line" а variбvel "string", com um "\n" no final (para no diбlogo as corridas nгo apareceram todas na mesma linha)
            // strcat
         }
	fclose(handle);
}
No final a variбvel "string" deverб ter algo do gйnero:
Corrida 1\nCorrida 2\nCorrida dos Cavalos\nCorrida dos Gatos\n (supostamente esse "\n" final nгo deveria aparecer, mas vocк pode resolvк-lo depois)

Caso vocк nгo queira usar um .txt para armazenar os nomes das corridas, creio que terб de usar um plugin para obter todos os ficheiros .ini existentes na pasta "corridas", e depois й sу juntar os nomes (nгo se esqueзa de tirar o ".ini" no final dos nomes) com a funзгo strcat.
Na Verdade Tem sim os nomes das Corridas em
PHP код:
format(rNameFilesizeof(rNameFile), "/rRaceSystem/RaceNames/RaceNames.txt"); 
Pelo Comando da Lista de Corridas Criadas, eu ia colocar pra inicia-las tambйm entendi?
Obrigado pela Forзa!
Reply
#6

Coloque a pasta rRaceSystem dentro da scriptfiles, e tente:

PHP код:
CMD:list(playeridparams[])
{
    new 
string[200], string2[000];
       new 
rNameFile[64];
    
format(rNameFilesizeof(rNameFile), "/rRaceSystem/RaceNames/RaceNames.txt");
    
TotalRaces dini_Int(rNameFile"TotalRaces");
    
Loop(xTotalRaces)
    {
         
format(stringsizeof(string), "Race_%d"x), strmid(RaceNames[x], dini_Get(rNameFilestring), 020sizeof(RaceNames));
         
format(string2sizeof(string2), "%s{FF0000}%s\n"string2RaceNames[x]);
        
ShowPlayerDialog(playerid8855DIALOG_STYLE_LIST"{FFF000}Corridas:"string2"Fechar""");
    }
       return 
1;

Com isso irб aparecer apenas os nomes das corridas que tem na pasta.. Se quizer clicar na corrida para iniciar й so fazer na ondialogresponde..
Reply
#7

Quote:
Originally Posted by GustavoSouza
Посмотреть сообщение
Coloque a pasta rRaceSystem dentro da scriptfiles, e tente:

PHP код:
CMD:list(playeridparams[])
{
    new 
string[200], string2[000];
       new 
rNameFile[64];
    
format(rNameFilesizeof(rNameFile), "/rRaceSystem/RaceNames/RaceNames.txt");
    
TotalRaces dini_Int(rNameFile"TotalRaces");
    
Loop(xTotalRaces)
    {
         
format(stringsizeof(string), "Race_%d"x), strmid(RaceNames[x], dini_Get(rNameFilestring), 020sizeof(RaceNames));
         
format(string2sizeof(string2), "%s{FF0000}%s\n"string2RaceNames[x]);
        
ShowPlayerDialog(playerid8855DIALOG_STYLE_LIST"{FFF000}Corridas:"string2"Fechar""");
    }
       return 
1;

Com isso irб aparecer apenas os nomes das corridas que tem na pasta.. Se quizer clicar na corrida para iniciar й so fazer na ondialogresponde..
Estб tudo OK na pasta Scriptfiles
e em Racenames tambйm
Код:
TotalRaces = 29
Race_0=1 Prova
Race_1=2
Race_2=3
Race_3=4
Race_4=5
Race_5=6
Race_6=7
Race_7=8
Race_8=9
Race_9=10
Race_10=11
Race_11=12
Race_12=13
Race_13=14
Race_14=15
Race_15=16 OFF-ROAD
Race_16=17
Race_17=18
Race_18=19
Race_19=20
Race_20=21
Race_21=22
Race_22=23
Race_23=24
Race_24=25
Race_25=26
Race_26=27
Race_27=28
Race_28=OFF-ROAD 2
Todas corridas sгo existentes e sem nenhum erro, todos os comandos do FS funcionam, tanto como iniciar corrida / corrida automбtica / etc.

Faзa um teste deste comando no seu FS pra ver se funciona, se funcionar й porque o meu estб bugado, mais creio que nгo

Obrigado pela Forзa!
Reply
#8

Ajuda?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)