Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Goku ^ poslato Maj 13, 2021, 07:10:51 PRE PODNE

Naslov: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 07:10:51 PRE PODNE
Problem(error/warning): Pravim komandu /td gde ce igrac moci da sakrije/prikaze text draw, menja boje iz liste (100 boja) i bice da moze da bira izgled tdova medjutim ne znam da napravim da igrac moze sam definisati boju tdova (RGB) pokusavao sam i pokusavao ali ne ide. Jedino mi to fali da moze sam definisati boje i to je to.
Deo skripte://
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)://

Naslov: Odg: Text Draw
Poruka od: Bit Frosty poslato Maj 13, 2021, 13:27:55 POSLE PODNE
Ufff nisam siguran ali mislim da SSCANF moze da parsuje hexadecimalne brojeve (samim time i boje).
Probaj H za hex, ako ne onda X (X je svugde ali probaj H prvo). Inace boje se cuvaju kao obican integer, da ne pokusavas da trpas u string pa neznas sta i kako dalje.
Naslov: Odg: Text Draw
Poruka od: Galardo poslato Maj 13, 2021, 13:40:00 POSLE PODNE
Pogledaj u nekom td editor (.pwn fajlu) kako je to uradjeno.
Naslov: Odg: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 13:51:10 POSLE PODNE
Citat: Galardo poslato Maj 13, 2021, 13:40:00 POSLE PODNE
Pogledaj u nekom td editor (.pwn fajlu) kako je to uradjeno.
Ne znam da radim u td editor
Naslov: Odg: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 13:51:33 POSLE PODNE
Citat: Deleted User poslato Maj 13, 2021, 13:27:55 POSLE PODNE
Ufff nisam siguran ali mislim da SSCANF moze da parsuje hexadecimalne brojeve (samim time i boje).
Probaj H za hex, ako ne onda X (X je svugde ali probaj H prvo). Inace boje se cuvaju kao obican integer, da ne pokusavas da trpas u string pa neznas sta i kako dalje.
Jos kad bi znao pa to bi bilo top
Naslov: Odg: Text Draw
Poruka od: Galardo poslato Maj 13, 2021, 13:59:26 POSLE PODNE
Pa ne da radis u td editoru kralju, pogledas pwn fajl kako funkcionise za custom unosenje boje...
Naslov: Odg: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 14:14:20 POSLE PODNE
Citat: Galardo poslato Maj 13, 2021, 13:59:26 POSLE PODNE
Pa ne da radis u td editoru kralju, pogledas pwn fajl kako funkcionise za custom unosenje boje...
aaaa mislis na to gledao sam to nije to to sto meni treba
Naslov: Odg: Text Draw
Poruka od: __vedran.xyz77 poslato Maj 13, 2021, 14:55:09 POSLE PODNE
https://ibb.co/XjQNSnx
Uzmes boju ovdje u mom slucaju '4287f5'


TextDrawSetColor(TD, 0x4287f5AA); // znaci ispred dodas 0x i na kraju AA i tjt
Naslov: Odg: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 14:57:18 POSLE PODNE
Citat: __vedran.xyz77 poslato Maj 13, 2021, 14:55:09 POSLE PODNE
https://ibb.co/XjQNSnx
Uzmes boju ovdje u mom slucaju '4287f5'


TextDrawSetColor(TD, 0x4287f5AA); // znaci ispred dodas 0x i na kraju AA i tjt
Nisi dobro razumeo ja znam to da uradim nego zelis da dodam https://ibb.co/H7mpWYR da preko toga menjam boje razumes unese igrac tipa 40 124 255 i stavi boju
Naslov: Odg: Text Draw
Poruka od: Galardo poslato Maj 13, 2021, 15:06:25 POSLE PODNE
Kao sto sam ti i rekao, imas to u td editoru (code-u), ali ocigledno ne znas...

[pawn]stock HexToInt(string[]) // By DracoBlue
{
     if(string[ 0 ] == 0) return(false);
     
   new i, cur = 1, res = 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;
}[/pawn]

Napravis da unos bude string i onda index convertuj u sta ti treba.
Naslov: Odg: Text Draw
Poruka od: Goku ^ poslato Maj 13, 2021, 15:18:59 POSLE PODNE
Citat: Galardo poslato Maj 13, 2021, 15:06:25 POSLE PODNE
Kao sto sam ti i rekao, imas to u td editoru (code-u), ali ocigledno ne znas...

[pawn]stock HexToInt(string[]) // By DracoBlue
{
     if(string[ 0 ] == 0) return(false);
     
   new i, cur = 1, res = 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;
}[/pawn]

Napravis da unos bude string i onda index convertuj u sta ti treba.
Ne znam ni da napravim ovako sto si mi napiso
Naslov: Odg: Text Draw
Poruka od: M Ө M Σ N Z I poslato Maj 13, 2021, 15:21:00 POSLE PODNE
Jedan fin primjer imas u Ultimate modu.
Ultimate: https://github.com/Momenzi/ultimate

[pawn]CheckTextDrawColor(playerid, PlayerText:td)
{
   switch(PlayerInfo[playerid][xTDColor])
   {
      case 0: PlayerTextDrawColor(playerid, td, 0x4282C0FF); //Default

      case 1: PlayerTextDrawColor(playerid, td, 0xFA7373FF); //light Red
      case 2: PlayerTextDrawColor(playerid, td, 0xF01F1FFF); //Red
      case 3: PlayerTextDrawColor(playerid, td, 0x941010FF); //dark Red

      case 4: PlayerTextDrawColor(playerid, td, 0xFA9973FF); //light Orange
      case 5: PlayerTextDrawColor(playerid, td, 0xF0611FFF); //Orange
      case 6: PlayerTextDrawColor(playerid, td, 0xBA7900FF); //dark Orange

      case 7: PlayerTextDrawColor(playerid, td, 0xFAE173FF); //light Yellow
      case 8: PlayerTextDrawColor(playerid, td, 0xE9F01FFF); //Yellow
      case 9: PlayerTextDrawColor(playerid, td, 0xB7BA00FF); //dark Yellow

      case 10: PlayerTextDrawColor(playerid, td, 0x7AFA73FF); //light Green
      case 11: PlayerTextDrawColor(playerid, td, 0x50F01FFF); //Green
      case 12: PlayerTextDrawColor(playerid, td, 0x069602FF); //dark Green

      case 13: PlayerTextDrawColor(playerid, td, 0x73FAE1FF); //light Blue
      case 14: PlayerTextDrawColor(playerid, td, 0x1FAEF0FF); //Blue
      case 15: PlayerTextDrawColor(playerid, td, 0x026096FF); //dark Blue

      case 16: PlayerTextDrawColor(playerid, td, 0xA273FAFF); //light Purple
      case 17: PlayerTextDrawColor(playerid, td, 0x6F1FF0FF); //Purple
      case 18: PlayerTextDrawColor(playerid, td, 0x4C0296FF); //dark Purple

      case 19: PlayerTextDrawColor(playerid, td, 0xFA73EAFF); //light Pink
      case 20: PlayerTextDrawColor(playerid, td, 0xF01FDFFF); //Pink
      case 21: PlayerTextDrawColor(playerid, td, 0xB8007DFF); //dark Pink

      case 22: PlayerTextDrawColor(playerid, td, 0x000000FF); //Black
   }
}
[/pawn]

Za Custom boju mislim da nema potrebe jer pola igraca nece ni znat da koristi custom hex code.
Galardo ti je dao primjer kako trebas da uradis samim tim mislim da je ovo rijeseno.