GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: sLimee - 2014. November 01. - 10:44:59

Cím: Tulajdon
Írta: sLimee - 2014. November 01. - 10:44:59
Sziasztok.Hozzákezdtem egy Járműrendszer megírásához, de sikerült elakadnom.
Egy olyan parancsot szerettem volna, ami kilistázza a saját járműveit az illetőnek.
 
CMD:tulajdon(playerid,params[])
{
new S[212];
S[0] = EOS;
for(new c=0; c < MAX_VEHICLES; c++)
{
for(new i; i < pInfo[playerid][pKocsi]; i++)
{
         if(Compare(Neve(playerid), dini_Get(vehicleFile(c), \"Tulaj\")))
                              format(S,212, \"Jármű: %d \\n\",vInfo[c][vID] );
}
}
ShowPlayerDialog(playerid, DIALOG_TULAJDON, DIALOG_STYLE_LIST, \"Kocsijaid\", S, \"Rendben\", \"Mégse\");
return 1;
}

 
De nem működik, mivel a parancs beírásakor csak 1 járművet listáz ki.
Cím: Tulajdon
Írta: blackdog476 - 2014. November 01. - 12:31:31
Idézetet írta: sLimee date=1414835099\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51259\" data-ipsquote-contentclass=\"forums_Topic

for(new i; i < pInfo[playerid][pKocsi]; i++)

 

Ez csak egy kocsit ment le nem? Vagy minek használsz két ciklust?
Egyébként az is lehet a baj, hogy megformálod a stringet, jön a következő kocsi. De az újraírja az egészet. Használj szerintem strcatot.
Cím: Tulajdon
Írta: rayle - 2014. November 01. - 13:10:12
Idézetet írta: blackdog476 date=1414841491\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51259\" data-ipsquote-contentclass=\"forums_Topic
Egyébként az is lehet a baj, hogy megformálod a stringet, jön a következő kocsi. De az újraírja az egészet. Használj szerintem strcatot.
 
Igen, ez a baj.
 
format(S,212, \"Jármű: %d \\n\",vInfo[c][vID] );

 
helyett:
 
format(S,212, \"%sJármű: %d\\n\", S, vInfo[c][vID] );
Cím: Tulajdon
Írta: blackdog476 - 2014. November 01. - 13:20:45
Nah mostmár gépről vagyok.
 
Idézetet írta: rayle date=1414843812\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51259\" data-ipsquote-contentclass=\"forums_Topic


Egyébként az is lehet a baj, hogy megformálod a stringet, jön a következő kocsi. De az újraírja az egészet. Használj szerintem strcatot.
 
Igen, ez a baj.
 
format(S,212, \"Jármű: %d \\n\",vInfo[c][vID] );

 
helyett:
 
format(S,212, \"%sJármű: %d\\n\", S, vInfo[c][vID] );

 

[/quote]
Vagy pedig:
 

new str[64] //az elejére
format(str,64,\"Jármű: %d\\n\",vInfo[c][vID]);
strcat(S,str);

 
mondjuk a formatos nem annyira pazarló és egyszerűbb... na mindegy. :D
Cím: Tulajdon
Írta: sLimee - 2014. November 01. - 20:13:54
Köszönöm, sikerült.  :bow: