Problem(error/warning): Pre jedno 2-3 meseca sam napravio da se cuvaju boje Gui medjutim nesto se sjebalo i sad nece da ih cuva, to jest umesto na primer da sacuva 0xFFFFFFAA on sacuva 123213sadsa i ako sam stavio da cuva 0xFFFFFFAA
Mod: Moj sam sam ga pravio :D.
Deo skripte://
Pawno Code: //
Koristi intenger i bolje ti je da cuva 489018540915 tipa nego 0xFFFFFFFAA
Hex je int
Koristi ucitavanje Hex boja
Citat: Skorpija_026 poslato Septembar 04, 2021, 01:12:55 PRE PODNE
Koristi intenger i bolje ti je da cuva 489018540915 tipa nego 0xFFFFFFFAA
Nece da ucita boju kad se konektuje ako sacuva tako
posalji dio skripte cuvanja
[pawn]
new PlayerText:PlayerTextDraws[MAX_PLAYERS][23];
new PlayerTDColor[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
PlayerTDColor[playerid] = -1040028417;
CreatePlayerTextDraws(playerid);
SendClientMessage(playerid, -1, "Welcome to shit server!");
return 1;
}
CMD:changecolor(playerid, params[])
{
new color;
if(sscanf(params, "h", color)) return SendClientMessage(playerid, -1, "/changecolor [Hexadecimal RGBA color]");
PlayerTDColor[playerid] = color;
DestroyPlayerTextDraws(playerid);
CreatePlayerTextDraws(playerid);
return 1;
}
[/pawn]
To je iz jednog primera koji sam post u textdraws pre skoro mesec dana, nego niko nije ni citao o cemu se radi, samo pogledali sliku i zatvorili posto su vec videli takav TD (sami ste na gubitku)
Uglavnom ako mozes da primetis, hex boju cuvam u integer, promenivu i OnPlayerConnect sam namerno stavio integer a ne hex, da bi ljudi iskoristili glavu i shvatili da hexadecimalni sistem ne postoji u programiranju, to je nesto sto se uvek konvertuje u integer.
Tako da njega i cuvas i loadujes kao i recimo player Score/Level. Prvo citas integer, onda koristis SetPlayerScore funkciju da vizuelno prikazes score u player listi (TAB).
I cuvas kao integer naravno.
Citat: Goku ^ poslato Septembar 04, 2021, 14:03:30 POSLE PODNE
Nece da ucita boju kad se konektuje ako sacuva tako
16711935 = 0x00FF00FF
Isto ti je kako ces sacuvati, ukoliko je ucitavanje i cuvanje dobro odradjeno ne moze doci do greske.
Uvjeri se sam tako sto ces napraviti komandu kojoj ces u parametre davati decimalni broj (u ovom slucaju 16711935), zatim applyjati boje na TDove.
#include < a_samp >
new Text:gMyTextdraw;
public OnGameModeInit()
{
// This line is used to create the textdraw.
// Note: This creates a textdraw without any formatting.
gMyTextdraw = TextDrawCreate(240.0,580.0,"Welcome to my SA-MP server");
return 1;
}
public OnPlayerConnect(playerid)
{
//This is used to show the player the textdraw when they connect.
TextDrawShowForPlayer(playerid, gMyTextdraw);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/crvena", true))
{
TextDrawColor(gMyTextdraw, -16776961); TextDrawShowForPlayer(playerid, gMyTextdraw);
return 1;
} else if (!strcmp(cmdtext, "/zelena", true))
{
TextDrawColor(gMyTextdraw, 16711935); TextDrawShowForPlayer(playerid, gMyTextdraw);
return 1;
}
return 0;
// Returning 0 informs the server that the command hasn't been processed by this script.
// OnPlayerCommandText will be called in other scripts until one returns 1.
// If no scripts return 1, the 'SERVER: Unknown Command' message will be shown to the player.
}