Sziasztok!
Valaki tudna segíteni abban, hogy, hogyan kell olyan textdrawot létrehozni, ami külön-külön játékosnak van!
Itt módosítom a textdrawot:
new string[128];
format(string,sizeof(string),\"Pénz: $%i ,GetPlayerMoney(playerid));
TextDrawSetString(infobar, string);
Ezzel az a gond, hogy mindenkinek átírja a textdraw szövegét erre. infobar[playerid] -vel már próbáltam, de az OnGameModeInit-nél gondok vannak!
Köszönöm a segítséget! ;)
OnGameModeInit nél írd erre Pénz: N/A
És TextDrawSetString(infobar[playerid],string);
Addig az jó, de nem ismeri az infobar[playerid]-t az OnGameModeInit, ha símán infobar = stb. van akkor is rossz, ötlet?!
Most ez OnGameModeInit nél van ?
new string[128];
format(string,sizeof(string),\"Pénz: $%i ,GetPlayerMoney(playerid));
TextDrawSetString(infobar, string);
Másold be a TextDrawot..
Köszönöm a segítséget, itt van:
[pawn] infobar[playerid] = TextDrawCreate(-10.000000, 434.000000, \"\");
TextDrawBackgroundColor(infobar[playerid], 255);
TextDrawFont(infobar[playerid], 1);
TextDrawLetterSize(infobar[playerid], 0.500000, 1.899999);
TextDrawColor(infobar[playerid], 65535);
TextDrawSetOutline(infobar[playerid], 0);
TextDrawSetProportional(infobar[playerid], 1);
TextDrawSetShadow(infobar[playerid], 1);
TextDrawUseBox(infobar[playerid], 1);
TextDrawBoxColor(infobar[playerid], 50);
TextDrawTextSize(infobar[playerid], 641.000000, -460.000000);[/pawn]
UI: Ez így nemjó..
Nem nagyon értelek :/
Esetleg:
public OnGameModeInit()
{
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
format(str,sizeof(str),\"Pénzed: %d\",GetPlayerMoney(i));
infobar = TextDrawCreate(-10.000000, 434.000000, str);
TextDrawBackgroundColor(infobar, 255);
TextDrawFont(infobar, 1);
TextDrawLetterSize(infobar, 0.500000, 1.899999);
TextDrawColor(infobar, 65535);
TextDrawSetOutline(infobar, 0);
TextDrawSetProportional(infobar, 1);
TextDrawSetShadow(infobar, 1);
TextDrawUseBox(infobar, 1);
TextDrawBoxColor(infobar, 50);
TextDrawTextSize(infobar, 641.000000, -460.000000);
}
}
return 1;
}
Nem biztos hogy jó lesz de egy próbát megér ... :)
Azt még nem tudom, hogy jó-e, de így nem jeleníti meg:
OnPlayerConnect alatt: TextDrawShowForPlayer(playerid,infobar[playerid]);
Edit: Megoldottam, megjeleníti! Ki jár Norbi neked egy +! Köszönöm a segítségedet!
Még mindig rossz! Valamiért ha egyikünk pénze 1000 másiké 10000 akkor átváltoztatja az enyémet is a másikéra. :-\\
Szerintem onplayerconnectnél hozd létre a jàtékosnak a textdrawot. Pénz változásnál pedig csak annak az egy játékosnak változzon a textdraw szövege.:)
TextDrawSetStringnél is for ciklust használj...
for(new i = 0; i <= MAX_PLAYERS; i++)
{
format(str,sizeof(str),\"Pénz: %d\",GetPlayerMoney(i));
TextDrawSetString(infobar,str);
}
Idézetet írta: 1ST_Chr date=1329605576\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17231\" data-ipsquote-contentclass=\"forums_TopicSzerintem onplayerconnectnél hozd létre a jàtékosnak a textdrawot. Pénz változásnál pedig csak annak az egy játékosnak változzon a textdraw szövege.:)
Milyen igaz! Hogy ez hogy nem jutott az eszembe! Köszönöm szépen! Probléma megoldva!
Zárok