Szerző Téma: Hova kéne létrehozni?  (Megtekintve 953 alkalommal)

Nem elérhető Flips

Hova kéne létrehozni?
« Dátum: 2016. szeptember 16. - 19:13:51 »
0 Show voters
Van néhány textdrawom ami nem igazán úgy működik ahogy én akarom :D
A mod elején:
 
new Text:Korozes;
new Text:Bank;
new Text:Pont;
new Text:PID;

 
OnPlayerStatChange alatt, de szerintem nem itt kéne lennie és nem is így kell megoldani de pont ezért kérek segítséget
 
   new text[41];
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(playerid);
Korozes = TextDrawCreate(500.000000, 134.000000, \" \");
TextDrawBackgroundColor(Korozes, 255);
TextDrawFont(Korozes, 2);
TextDrawLetterSize(Korozes, 0.230000, 1.100000);
TextDrawColor(Korozes, -1);
TextDrawSetOutline(Korozes, 1);
TextDrawSetProportional(Korozes, 1);
TextDrawUseBox(Korozes, 1);
TextDrawBoxColor(Korozes, 100);
TextDrawTextSize(Korozes, 637.000000, 1.000000);
format(text, 20, \"Körözéseid: %i\", wantedlevel);
TextDrawSetString(Korozes, text);
Bank = TextDrawCreate(500.000000, 148.500000, \" \");
TextDrawBackgroundColor(Bank, 255);
TextDrawFont(Bank, 2);
TextDrawLetterSize(Bank, 0.230000, 1.100000);
TextDrawColor(Bank, -1);
TextDrawSetOutline(Bank, 1);
TextDrawSetProportional(Bank, 1);
TextDrawUseBox(Bank, 1);
TextDrawBoxColor(Bank, 100);
TextDrawTextSize(Bank, 637.000000, 8.000000);
format(text, sizeof(text), \"Bankod: %i\", APlayerData[playerid][bankMoney]);
TextDrawSetString(Bank, text);
Pont = TextDrawCreate(500.000000, 163.000000, \" \");
TextDrawBackgroundColor(Pont, 255);
TextDrawFont(Pont, 2);
TextDrawLetterSize(Pont, 0.230000, 1.100000);
TextDrawColor(Pont, -1);
TextDrawSetOutline(Pont, 1);
TextDrawSetProportional(Pont, 1);
TextDrawUseBox(Pont, 1);
TextDrawBoxColor(Pont, 100);
TextDrawTextSize(Pont, 637.000000, 0.000000);
format(text, sizeof(text), \"Pontjaid: %i\", GetPlayerScore(playerid));
TextDrawSetString(Pont, text);
PID = TextDrawCreate(500.000000, 177.500000, \" \");
TextDrawBackgroundColor(PID, 255);
TextDrawFont(PID, 2);
TextDrawLetterSize(PID, 0.230000, 1.100000);
TextDrawColor(PID, -1);
TextDrawSetOutline(PID, 1);
TextDrawSetProportional(PID, 1);
TextDrawUseBox(PID, 1);
TextDrawBoxColor(PID, 100);
TextDrawTextSize(PID, 637.000000, 68.000000);
format(text, sizeof(text), \"ID: %i\", playerid);
TextDrawSetString(PID, text);
for(new i; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
   TextDrawShowForPlayer(i, Korozes);
   TextDrawShowForPlayer(i, Bank);
   TextDrawShowForPlayer(i, Pont);
   TextDrawShowForPlayer(i, PID);
   TextDrawShowForPlayer(i, szname);
}
}

 
Az a lényeg azt szeretném hogy úgy változzon a textdraw ahogy változik az illetőnek a pontja, körözési szintje, pénze a bankban, stb., viszont nem változik.

Dupla hozzászólás automatikusan összefûzve. ( 2016. szeptember 16. - 19:18:13 )

1 lemaradt elnézést.
A mod elején:
 
new Jatnev;

 
OnPlayerStateChange alatt:
 
   new jatekosname[MAX_PLAYER_NAME];
GetPlayerName(playerid, jatekosname, sizeof(jatekosname));
Jatnev = TextDrawCreate(500.000000, 134.000000, \" \");
TextDrawBackgroundColor(Jatnev, 255);
TextDrawFont(Jatnev, 2);
TextDrawLetterSize(Jatnev, 0.230000, 1.100000);
TextDrawColor(Jatnev, -1);
TextDrawSetOutline(Jatnev, 1);
TextDrawSetProportional(Jatnev, 1);
TextDrawUseBox(Jatnev, 1);
TextDrawBoxColor(Jatnev, 100);
TextDrawTextSize(Jatnev, 637.000000, 1.000000);
format(text, 20, \"Név: %s\", jatekosname);
TextDrawSetString(Jatnev, text);
« Utoljára szerkesztve: 2016. szeptember 16. - 19:18:13 írta Flips »

Hova kéne létrehozni?
« Válasz #1 Dátum: 2016. szeptember 16. - 21:34:04 »
0 Show voters
Üdv!
5let:
az OnPlayerUpdate fgv. alatt frissítsd a textdrawodat ( ha bírja a vasad )
Ha esetleg 0-ról írt módod van akkor meg, vagy script - lényeg tudod mi hol van -, akkor meg ha pontot/pénzt bármit kap a játékos meghívod azt a függvényedet ami frissíti a textdrawodat
Megjegyzés: az <a href=\"http://wiki.sa-mp.com/wiki/OnPlayerStateChange\">OnPlayerStateChange</a> fgv.-t akkor használjuk, mikor egy játékos helyzete megváltozik. Lásd: pl.: kiszáll a kocsiból => sofőrből -----> gyalogos lesz
Textdraw frissítésére szolgál: <a href=\"http://wiki.sa-mp.com/wiki/TextDrawSetString\">LINK</a>

Hova kéne létrehozni?
« Válasz #2 Dátum: 2016. szeptember 18. - 18:00:58 »
+1 Show voters
Első probléma: ezek globális textdrawok, vagyis mindenki egy félét fog látni. Használj player textdrawot, ami külön készíti el minden egyes játékosnak.
Függvény
Callback
Második: amit előttem _[G]M[K]_Sh1ft_ írt, abból a másikat ajánlom. Írd egy funkciót arra, ami frissíti az adott textdrawot/textdrawokat:
Példa:
 
stock Jatekos_Pontvaltozas(playerid)
{
new str[32];
format(str, sizeof(str), \"Pontszámod: %d\", GetPlayerScore(playerid));
PlayerTextDrawSetString(playerid, Pontszam[playerid], str);
return true;
}

 
Ezt hívod meg, ha a játékos pontszáma megváltozott, vagy frissíteni akarod a textdrawot.  :smokin:

Nem elérhető Flips

Hova kéne létrehozni?
« Válasz #3 Dátum: 2016. szeptember 18. - 19:05:18 »
0 Show voters
Kicsit nagyon túl akartam bonyolítani de végül rájötem hogy idióta vagyok és meglehet oldani 3 sorból/textdraw. Köszi a segítséget :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal