Salutare LEAKS.ro, astazi m-am gandit sa va arat cum puteti seta culoarea in functie de factiunea playerului mai simplu. Sa incepem:
1. Adaugam in Baza de date la tabelul factiunilor o coloana numita Color tip sa fie varchar ca lungime de 8.
2. Acum trebuie sa il extragem din baza de date si facem asa:
cache_get_field_content(handle, "Color", FactionInfo[fColor], handle, 10);
3. Bun, acum trebuie doar sa setam culoarea:
Acum, nu vom folosi cand vrem sa setam culoare in functie de factiune functia SetPlayerColor, vom folosi o functie facuta de catre mine, nu e complicata e foarte simpla.
stock AtribuieCuloare(playerid) {
new factionID = PlayerInfo[playerid][pMember], string[10];
if(factionID == 0) SetPlayerColor(playerid, 0xFFFFFFFF);
else {
format(string, sizeof string, "0x%sFF", FactionInfo[factionID-1][fColor]);
SetPlayerColor(playerid, HexToInt(string));
}
return 1;
}
Bun, acum ca sa puteti seta va trebui sa trecem string-ul in INT, deci va dau o functie care nu am stat eu sa o scriu, am gasit-o pe net:
stock HexToInt(string[]) {
new i, cur=1, res=0;
if(string[0]==0) return 0;
for(i=strlen(string);i>0;i--) {
if(string[i-1]<58) res=res+cur*(string[i-1]-48); else res=res+cur*(string[i-1]-65+10);
cur=cur*16;
}
return res;
}
Bun deci de acum daca setezi culoare in functie de factiune folosesti AtribuieCuloare(id-ul playerului);
O seara/zi frumoasa sa aveti. ????