Üdv lenne egy olyan gondom hogy írtam egy frakciós céget , és van egy /member-s parancs ami megmutatná az online frakcióban lévõket . Nos ezzel csak az a gond hogy nem mûködik , vagyis rosszul. ha be írom akkor el kezdi kisorolni a neveket és egymás alá sokat , meg nem is úgy ahogy kellene.
A pawno hibátlanul lefut.
Itt a kód:
CMD:members(playerid, params[])
{
if(gLTeam[playerid] == 0 && gTeam[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, \"Neked nincs frakciód!\");
new f[128],aname[MAX_PLAYER_NAME];
SendClientMessage(playerid,COLOR_RED,\"Frakciód elérhetõ tagjai:\");
if(gLTeam[playerid] == TEAM_DANCSI || gTeam[playerid] == TEAM_DANCSI)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(gLTeam == TEAM_DANCSI || gTeam == TEAM_DANCSI)
{
GetPlayerName(i, aname, sizeof(aname));
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
SendClientMessage(playerid,COLOR_GREEN,aname);
}
}
}
if(gLTeam[playerid] == TEAM_PEGAZUS || gTeam[playerid] == TEAM_PEGAZUS)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(gLTeam == TEAM_PEGAZUS || gTeam == TEAM_PEGAZUS)
{
GetPlayerName(i, aname, sizeof(aname));
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
SendClientMessage(playerid,COLOR_GREEN,aname);
}
}
}
if(gLTeam[playerid] == TEAM_LOCARGO || gTeam[playerid] == TEAM_LOCARGO)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(gLTeam == TEAM_LOCARGO || gTeam == TEAM_LOCARGO)
{
GetPlayerName(i, aname, sizeof(aname));
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
SendClientMessage(playerid,COLOR_GREEN,aname);
}
}
}
if(gLTeam[playerid] == TEAM_MALCOLM || gTeam[playerid] == TEAM_MALCOLM)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(gLTeam == TEAM_MALCOLM || gTeam == TEAM_MALCOLM)
{
GetPlayerName(i, aname, sizeof(aname));
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
SendClientMessage(playerid,COLOR_GREEN,aname);
}
}
}
if(gLTeam[playerid] == TEAM_WABERERS || gTeam[playerid] == TEAM_WABERERS)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(gLTeam == TEAM_WABERERS || gTeam == TEAM_WABERERS)
{
GetPlayerName(i, aname, sizeof(aname));
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
SendClientMessage(playerid,COLOR_GREEN,aname);
}
}
}
return 1;
}
Ha valaki tudna esetleg valami megoldást rá mert úgy kéne ki írni hogy : Név : Xy Rang: Xy de ehelyett csak egy nevet ír ki.
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
Miért %d írtál oda, ha szöveget akarsz megjeleníteni?
Írd át %s-re ha szöveget akarsz megjeleníteni,tehát így:
format(f,128,\"Név: %s | Rang: %s\",aname,rang);
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
Miért %d írtál oda, ha szöveget akarsz megjeleníteni?
Írd át %s-re ha szöveget akarsz megjeleníteni,tehát így:
format(f,128,\"Név: %s | Rang: %s\",aname,rang);
Köszönöm az észrevételt , de ennek nem ez a gondja :S
Felmentem kipróbálni , adtam magamnak leadert és amint be írom hogy /members a nevemet sorolja fel nagyon sokszor és 1 sorba csak 1-szer írja le a nevem.
format(f,128,\"Név: %s | Rang: %d\",aname,rang);
Miért %d írtál oda, ha szöveget akarsz megjeleníteni?
Írd át %s-re ha szöveget akarsz megjeleníteni,tehát így:
format(f,128,\"Név: %s | Rang: %s\",aname,rang);
Köszönöm az észrevételt , de ennek nem ez a gondja :S
Felmentem kipróbálni , adtam magamnak leadert és amint be írom hogy /members a nevemet sorolja fel nagyon sokszor és 1 sorba csak 1-szer írja le a nevem.
[/quote]
Az új sor \"\\n\" karakter lemaradt:
format(f,128,\"Név: %s | Rang: %s\\n\",aname,rang);
Mostmár jónak kell lennie. :)
SZERK: Most nézem ez dialogus-os, akkor nem tudom mi lehet a hiba.
De újranézve, ezt a sort nem értem:
if(gLTeam[playerid] == TEAM_DANCSI || gTeam[playerid] == TEAM_DANCSI)
Elég lenne így is, de nézd újra át a feltételeket:
if(gLTeam[playerid] == TEAM_DANCSI)
Javítsd erre az összeset:
SendClientMessage(playerid,COLOR_GREEN,f);
Remélem segítettem. ;)
Javítsd erre az összeset:
SendClientMessage(playerid,COLOR_GREEN,f);
Remélem segítettem. ;)
Köszönöm ez segített :)