chat


Započeo Goku ^, Avgust 05, 2021, 02:26:05 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Citat: Deleted User poslato Avgust 08, 2021, 12:25:33 POSLE PODNE
Mozda imas negde definisano LSPD (nemora da bude promeniva, mozda je macro (verovatno i jeste i to je razlog zasto uvek govorimo ne koristite SCM i ta sranja)
Evo ovo me jebalo i juce i prekljuce https://ibb.co/5L9GVHK

Citat: Goku ^ poslato Avgust 08, 2021, 12:36:23 POSLE PODNE
Evo ovo me jebalo i juce i prekljuce https://ibb.co/5L9GVHK
E to je vidis ono sto sam ti rekao neznam da li ce da radi posto su u pitanju embedded boje...Ali takodje u boji vidim jedan karakter viska pa ima nade da ce proraditi xD
U format gde imas %x  zameni sa %6x

Citat: Deleted User poslato Avgust 08, 2021, 12:43:21 POSLE PODNE
E to je vidis ono sto sam ti rekao neznam da li ce da radi posto su u pitanju embedded boje...Ali takodje u boji vidim jedan karakter viska pa ima nade da ce proraditi xD
U format gde imas %x  zameni sa %6x
zamenio sam ali jbg https://ibb.co/sqTrbJ6

Citat: Deleted User poslato Avgust 08, 2021, 12:43:21 POSLE PODNE
E to je vidis ono sto sam ti rekao neznam da li ce da radi posto su u pitanju embedded boje...Ali takodje u boji vidim jedan karakter viska pa ima nade da ce proraditi xD
U format gde imas %x  zameni sa %6x
Kad stavim na primer umesto FF0000AA stavim samo FF0000 na f chat bude zelena boja a na lider chat bude crvena kakva treba i to je sad problem
Poslednja Izmena: Avgust 08, 2021, 12:52:27 POSLE PODNE od Goku ^

Citat: Goku ^ poslato Avgust 08, 2021, 12:48:42 POSLE PODNE
Kad stavim na primer umesto FF0000AA stavim samo FF0000 na f chat bude zelena boja a na lider chat bude crvena kakva treba i to je sad problem
PA RRGGBB i mora da bude, i to u  {{RRGGBB}} da bi radilo...Kako "stavljas" ti to? Mislim kako save/load ti te boje?

Citat: Deleted User poslato Avgust 08, 2021, 13:13:05 POSLE PODNE
PA RRGGBB i mora da bude, i to u  {{RRGGBB}} da bi radilo...Kako "stavljas" ti to? Mislim kako save/load ti te boje?
Eto to je sve
Dialog:aBojaF2(playerid, response, listitem, inputtext[])
{
	if(response)
    {
		switch(listitem)
		{
			case 0:
			{
                new str[256], id = IdOrg[playerid];
				format(str, sizeof(str), ""BELA"Unesite boju "IMOVINA"Chata "BELA"za Oranizaciju "IMOVINA"%s"BELA".\n\n"ORANGE"* Primer: 0x90EE90AA\n* Takodje moze i F3FF02AA", ImeOrganizacije(id));
				Dialog_Show(playerid, aBojaF3, DIALOG_STYLE_INPUT, "Izmena Boja organizacija", str, "Dalje", "Izlaz");
			}
		}
	}
	return 1;
}
Dialog:aBojaF3(playerid, response, listitem, inputtext[])
{
	if(response)
    {
		new buffer[128], str[256], id = IdOrg[playerid], hex;
		format( str, sizeof( str ), ""BELA"Unesite boju chata za organizaciju %s", ImeOrg(id));
		if(sscanf(inputtext, "h", hex)) return Dialog_Show(playerid, aBojaF3, DIALOG_STYLE_INPUT, "Izmena Boja organizacija", str, "Dalje", "Izlaz");
		GetPlayerName(playerid, buffer, MAX_PLAYER_NAME + 1);
		format(buffer, sizeof buffer, "[INFO] "BELA"Organizaciji %s ste promenili boju chata u '"ZUTA"[0x%08x]"BELA"'.", ImeOrganizacije(id), hex);
		SCM(playerid,NS_YELLOW, buffer);
		BojaInfo[pFBoja][id] = hex;
		SaveBojaInfo();
	}
	return 1;
}[pawn]
[pawn]
stock SaveBojaInfo()
{
	new sFile[100];
	format(sFile,sizeof(sFile), BOJATIP);
    new INI:File = INI_Open(sFile);
    INI_WriteInt(File, "Boja_1",  BojaInfo[pFBoja][1]);
    INI_WriteInt(File, "Boja_2",  BojaInfo[pFBoja][2]);
    INI_WriteInt(File, "Boja_3",  BojaInfo[pFBoja][3]);
    INI_WriteInt(File, "Boja_4",  BojaInfo[pFBoja][4]);
    INI_WriteInt(File, "Boja_5",  BojaInfo[pFBoja][5]);
    INI_WriteInt(File, "Boja_6",  BojaInfo[pFBoja][6]);
    INI_WriteInt(File, "Boja_7",  BojaInfo[pFBoja][7]);
    INI_WriteInt(File, "Boja_8",  BojaInfo[pFBoja][8]);
    INI_Close(File);
	return 1;
}
forward LoadBojaInfo(name[],value[]);
public LoadBojaInfo(name[],value[])
{
    INI_Int("Boja_1", BojaInfo[pFBoja][1]);
    INI_Int("Boja_2", BojaInfo[pFBoja][2]);
    INI_Int("Boja_3", BojaInfo[pFBoja][3]);
    INI_Int("Boja_4", BojaInfo[pFBoja][4]);
    INI_Int("Boja_5", BojaInfo[pFBoja][5]);
    INI_Int("Boja_6", BojaInfo[pFBoja][6]);
    INI_Int("Boja_7", BojaInfo[pFBoja][7]);
    INI_Int("Boja_8", BojaInfo[pFBoja][8]);
    return 1;
}

//========================== CHAT BOJE UCITAVANJE ========================//
	new orgBojaFile[100];
	format(orgBojaFile,sizeof(orgBojaFile), BOJATIP);
	if(fexist(orgBojaFile))
	{
		INI_ParseFile(orgBojaFile, "LoadBojaInfo");
		print("ORG Chat Boje - Ucitane!");
	}

Aha znaci koliko shvatam tebi je sad problem samo ako uneses RRGGBBAA umesto RRGGBB onda ti pravi problem. Dok ako uneses RRGGBB onda je sve ok...
Ukoliko je tako onda je problem u formatu unesene boje i kako same boje funkcionisu. Jednostavno kada na kraju RRGGBB dodas Alpha vrednost, onda se sve pomera ulevo i gubi se format koji tebi treba (Da unosis AARRGGBB verovatno bi radilo kako treba - ali ni za ovo nisam siguran 100%).

Da skratim, treba da proveris da li imas apha u boji, ako imas da shiftujes sve udesno za 2 karaktera (8 bitova)
U tvom slucaju sa RRGGBBAA mozes to tako sto proveris da li je vrednost veca od FFFFFF

Probaj ovako
if(hex> 0xFFFFFF)
    hex= (hex>> 8);

BojaInfo[pFBoja][id] = hex;

Citat: Deleted User poslato Avgust 08, 2021, 14:23:47 POSLE PODNE
Aha znaci koliko shvatam tebi je sad problem samo ako uneses RRGGBBAA umesto RRGGBB onda ti pravi problem. Dok ako uneses RRGGBB onda je sve ok...
Ukoliko je tako onda je problem u formatu unesene boje i kako same boje funkcionisu. Jednostavno kada na kraju RRGGBB dodas Alpha vrednost, onda se sve pomera ulevo i gubi se format koji tebi treba (Da unosis AARRGGBB verovatno bi radilo kako treba - ali ni za ovo nisam siguran 100%).

Da skratim, treba da proveris da li imas apha u boji, ako imas da shiftujes sve udesno za 2 karaktera (8 bitova)
U tvom slucaju sa RRGGBBAA mozes to tako sto proveris da li je vrednost veca od FFFFFF

Probaj ovako
if(hex> 0xFFFFFF)
    hex= (hex>> 8);

BojaInfo[pFBoja][id] = hex;

Nope isto je kao malo pre nista se nije promenilo

Citat: Deleted User poslato Avgust 08, 2021, 14:23:47 POSLE PODNE
Aha znaci koliko shvatam tebi je sad problem samo ako uneses RRGGBBAA umesto RRGGBB onda ti pravi problem. Dok ako uneses RRGGBB onda je sve ok...
Ukoliko je tako onda je problem u formatu unesene boje i kako same boje funkcionisu. Jednostavno kada na kraju RRGGBB dodas Alpha vrednost, onda se sve pomera ulevo i gubi se format koji tebi treba (Da unosis AARRGGBB verovatno bi radilo kako treba - ali ni za ovo nisam siguran 100%).

Da skratim, treba da proveris da li imas apha u boji, ako imas da shiftujes sve udesno za 2 karaktera (8 bitova)
U tvom slucaju sa RRGGBBAA mozes to tako sto proveris da li je vrednost veca od FFFFFF

Probaj ovako
if(hex> 0xFFFFFF)
    hex= (hex>> 8);

BojaInfo[pFBoja][id] = hex;

Kada unesem primer 0xFF0000AA onda f chat bude crven ali na lider chat ne bude nista nego stoji tipa FF0000AA i to je to a ako unesem tipa samo FF0000 e onda lider chat bude crvena kako treba ali na f chat bude zelena boja jer kad unesem on je procita kao 0x00FF0000 i tako nastaje problem.

Pitanje je kako saljes F chat i kako saljes ovaj Lider. Lider koliko vidim je embedded, ako ti treba obicna boja, onda ili napravi pomocni niz za takve boje, ili shiftuj bitove uvek u lider chat kad saljes poruku (ja bih napravio pomocni niz da jebem CPU bezveze)

Citat: Deleted User poslato Avgust 08, 2021, 15:07:51 POSLE PODNE
Pitanje je kako saljes F chat i kako saljes ovaj Lider. Lider koliko vidim je embedded, ako ti treba obicna boja, onda ili napravi pomocni niz za takve boje, ili shiftuj bitove uvek u lider chat kad saljes poruku (ja bih napravio pomocni niz da jebem CPU bezveze)
evo ti f chat
if(PlayerInfo[playerid][pLider] == 1)
	{
		new string[128], customrank[32];
		if(strlen(PlayerInfo[playerid][pCustomRank]) > 2)
		{
		format(customrank, sizeof(customrank), "%s", PlayerInfo[playerid][pCustomRank]);
		}
		else
		{
		format(customrank, sizeof(customrank), "%s",RankOrg(playerid));
		}
		////////////////////////////////////////////////////////////////////////
		format(string, sizeof(string), "PD | %s (%s): "SIVA"%s", GetName(playerid),customrank, params[0] );
		return OrgPoruka(PlayerInfo[ playerid ][ pClan ], BojaInfo[pFBoja][1], string);
	}
	else if(PlayerInfo[playerid][pClan] == 1)
	{
		new string[128], customrank[32];
		if(strlen(PlayerInfo[playerid][pCustomRank]) > 2)
		{
		format(customrank, sizeof(customrank), "%s", PlayerInfo[playerid][pCustomRank]);
		}
		else
		{
		format(customrank, sizeof(customrank), "%s", RankOrg(playerid));
		}
		format(string, sizeof(string), "PD | %s (%s): "BELA"%s", GetName(playerid), customrank, params[0] );
		return OrgPoruka( PlayerInfo[ playerid ][ pClan ], BojaInfo[pFBoja][1], string);
	}

Evo lider chat
CMD:liderchattest(playerid, params[],help)
{
	#pragma unused help
	if(UlogovanProvera[playerid] == 0)  return SCM(playerid, NS_ORANGE,"* Morate se ulogovati da bi koristili ovu komandu!");
	if(PlayerInfo[playerid][pAdmin] < 5 && PlayerInfo[playerid][pLider] < 1) return SCM(playerid,NS_ORANGE, "Nema burazk");
	if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu jer ste zatvoreni!");
	new text[128], sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	if(sscanf(params, "s[128]", text)) return SCM(playerid,NS_YELLOW, "[KORISCENJE] "BELA"/lc [tekst]");
    ////////////////////////////////////////////////////////////////////////////
	new arank[256];
	new LSPDBoja = BojaInfo[pFBoja][1];
	new TVFBoja = BojaInfo[pFBoja][2];
	new BDTBoja = BojaInfo[pFBoja][3];
	new GSFBoja = BojaInfo[pFBoja][4];
	////////////////////////////////////////////////////////////////////////////
	/*if(PlayerInfo[playerid][pDeveloper] == 1) { 	format(arank, sizeof(arank), ""SKRIPTER"Developer"); }
	else if(PlayerInfo[playerid][pAdmin] == 5) { 	format(arank, sizeof(arank), ""PCHAT2"Admin Level 5 (Head Admin)"); }
	else if(PlayerInfo[playerid][pAdmin] == 6) { 	format(arank, sizeof(arank), ""PCHAT2"Admin Level 6 (Direktor)"); }
	else if(PlayerInfo[playerid][pSuVlasnik] == 1) {format(arank, sizeof(arank), ""PCHAT2"Admin Level 6 (Direktor)"); }
	else if(PlayerInfo[playerid][pVlasnik] == 1) { 	format(arank, sizeof(arank), ""PCHAT2"Vlasnik"); }*/
    if(PlayerInfo[playerid][pLider] == 1) { 	format(arank, sizeof(arank), "{%6x}LSPD", LSPDBoja); }
	else if(PlayerInfo[playerid][pLider] == 2) { 	format(arank, sizeof(arank), "{%6x}TVF", TVFBoja); }
	else if(PlayerInfo[playerid][pLider] == 3) { 	format(arank, sizeof(arank), "{%6x}BDT", BDTBoja); }
	else if(PlayerInfo[playerid][pLider] == 4) { 	format(arank, sizeof(arank), "{%6x}GSF", GSFBoja); }
	else if(PlayerInfo[playerid][pLider] == 5) { 	format(arank, sizeof(arank), "{%6x}Ballas", tmpBoja); }
////////////////////////////////////////////////////////////////////////////////
	new buffer[128];
	GetPlayerName(playerid, buffer, MAX_PLAYER_NAME + 1);
	format(buffer, sizeof buffer,"[LIDER CHAT] %s [%s | ID %d"SPLAVA"]: "BELA"%s",buffer,arank,playerid,params);
	LCChat(NS_SPLAVA ,buffer);
        lcKomanda[playerid] = GetTimeEx() + 15;
	return 1;
}

Ufff znaci neznam vise kako da ti objasnim. Ali evo najkrace sto mogu.

SendClientMessage ima 3 argumenta. Playerid, Boja, String. Boja je u RRGGBBAA formatu, to jest ima alpha. S tim da client message takodje podrzava nesto sto je specificno samo za sa-mp i nema veze sa pawn, a to je embedded boje (to jest ugradjene boje), i to u formatu RRGGBB (bez alpha), koje ubacujes u string, i to izmedju zagrada {{RRGGBB}}. Ja sam ti dao kako da resis ovo za embedded boje posto nih koristis u lider chat.

Sad sve sto ti treba da uradis je da primenis pravi format i pravu boju gde hoces...

Posto jednostavno nece nikako ono napravicu da moze da menja lider chat boju i org boju, sta da radim jbg