/orgpanel


Započeo Goku ^, April 06, 2021, 00:18:42 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Hocu da napravim da preko /orgpanel, menjam skinove org, zabranjujem Warove, i da menjam ingame boju f chata. Problem je sto napravio sam sve to i stigo do boju fchata, kada idem /orgpanel izbaci mi da unesem ID org i na primer 1 LSPD izbacimi koja je trenutna boja itd i kad izaberem izbaci mi da unesem boju koju zelim na /f i problem sto mogu samo brojeve ne mogu na primer 123AA1 nego samo brojeve to je problem, i problem takodje sto ne znam kako da napravim na /f kad ukucam nesto da bude te boje nego bude obicna bela nista vise.

Deo skripte: Evo kako komande

Dialog:aBoja(playerid, response, listitem, inputtext[])
{
    if(!response) return 1;
    if(response)
    {
      new id;
      if(sscanf(inputtext, "d", id)) return Dialog_Show(playerid, PromenaBoje, DIALOG_STYLE_INPUT,""BELA"Org panel", ""BELA"Unesite ID organizacije kojoj zelite da pregledate panel:\n\n"ORANGE2"* Pogresili ste ID organizacije", "Dalje", "Izlaz");
      if(id < 1 || id > 30) return Dialog_Show(playerid, PromenaBoje, DIALOG_STYLE_INPUT,""BELA"Org panel", ""BELA"Unesite ID organizacije kojoj zelite da pregledate panel:\n\n"ORANGE2"* Najmanji broj organizacija na serveru je 1 a najveci 30", "Dalje", "Izlaz");

      new string[128];
      format(string,sizeof(string),""BELA"%s", ImeOrganizacije(id));

        new str[256];
       format( str, sizeof( str ), "Izmeni Boju Chata");
      Dialog_Show(playerid, PromenaBoje, DIALOG_STYLE_LIST, string, str, "Dalje", "Izlaz");
      IdOrg[playerid] = id;
   }
   return 1;
}
Dialog:PromenaBoje(playerid, response, listitem, inputtext[])
{
   if(response)
    {
      switch(listitem)
      {
            case 0:
         {
            new str[256], id = IdOrg[playerid];
            format( str, sizeof( str ), ""BELA"LSPD - "SIVA"[#%d]",BojeInfo[PD][id]);
            Dialog_Show(playerid, MenjanjeBoje, DIALOG_STYLE_LIST, "Izmijena Boja organizacija", str, "Dalje", "Izlaz");
         }
      }
   }
   return 1;
}
Dialog:MenjanjeBoje(playerid, response, listitem, inputtext[])
{
   if(response)
    {
      new buffer[128], idskina,str[256], id = IdOrg[playerid];
      format( str, sizeof( str ), ""BELA"Unesite ID skina za "HZELENA"Lidera "BELA"u organizaciji "HZELENA"%s"BELA".", ImeOrg(id));
      if(sscanf(inputtext, "d", idskina)) return Dialog_Show(playerid, MenjanjeBoje, DIALOG_STYLE_INPUT, "Izmijena skinova organizacija", str, "Dalje", "Izlaz");
      GetPlayerName(playerid, buffer, MAX_PLAYER_NAME + 1);
      format(buffer, sizeof buffer, "#AdmWarn: %s %s je organizaciji %s promenio Boju u [#%d].",PlayerInfo[playerid][pImeRanka], buffer, ImeOrg(id), idskina);
      AdminGameMasterTA(NS_TMNPLAVA, buffer);
      BojeInfo[PD][id] = idskina;
      SacuvajBoje();
   }
   return 1;
}

Pawno Code: [Izaberi]
A ne znam kako da napravim na /f da bude te boje, to je sve sto za sad nemam pojma da napravim.

Pa probaj 0x i boju koju hoces

idskina // ovo bi trebalo biti string a ne integer

a kod boje chata formatiras boju primer
new 
    color[11];

format(color, sizeof(color), "0x%sFF", colororg); // colororg je primer, ti stavi varijablu onu u kojoj cuvas boju organizacije i kod SendClientMessage funckije iskoristi varijablu color za boju poruke

new color_str[9] = "FFFFFF", color;
strcat(color_str, "FF");
sscanf(color_str, "x", color);
printf("%d", color);

Citat: Ljubisa poslato April 06, 2021, 01:48:29 PRE PODNE
idskina // ovo bi trebalo biti string a ne integer



Kako id skina treba biti string ???



Vasic

*

Usus est magister optimus.

Citat: Ljubisa poslato April 06, 2021, 01:48:29 PRE PODNE
idskina // ovo bi trebalo biti string a ne integer

a kod boje chata formatiras boju primer
new 
    color[11];

format(color, sizeof(color), "0x%sFF", colororg); // colororg je primer, ti stavi varijablu onu u kojoj cuvas boju organizacije i kod SendClientMessage funckije iskoristi varijablu color za boju poruke

HAHAHAAHAHHAAHAHAHAHAHAHHAHAHAHA
• Website: www.vasic.dev
Web Development & Cyber Security

Citat: __vedran.xyz77 poslato April 06, 2021, 13:49:17 POSLE PODNE

Kako id skina treba biti string ???
To pitajte njega sto je tako varijable nazvao
Dialog_Show(playerid, MenjanjeBoje, DIALOG_STYLE_LIST, "Izmijena Boja organizacija", str, "Dalje", "Izlaz");

Dialog:MenjanjeBoje(playerid, response, listitem, inputtext[])
{
   if(response)
    {
      new buffer[128], idskina,str[256], id = IdOrg[playerid];
      format( str, sizeof( str ), ""BELA"Unesite ID skina za "HZELENA"Lidera "BELA"u organizaciji "HZELENA"%s"BELA".", ImeOrg(id));
      if(sscanf(inputtext, "d", idskina)) return Dialog_Show(playerid, MenjanjeBoje, DIALOG_STYLE_INPUT, "Izmijena skinova organizacija", str, "Dalje", "Izlaz");
      GetPlayerName(playerid, buffer, MAX_PLAYER_NAME + 1);
      format(buffer, sizeof buffer, "#AdmWarn: %s %s je organizaciji %s promenio Boju u [#%d].",PlayerInfo[playerid][pImeRanka], buffer, ImeOrg(id), idskina); // ?
      AdminGameMasterTA(NS_TMNPLAVA, buffer);
      BojeInfo[PD][id] = idskina;
      SacuvajBoje();
   }
   return 1;
}

vidi netko koristi <easyDialog> waaaou
CitatNe idite uokolo tumačeći kako vam svijet duguje život. Svijet vam ne duguje ništa. On je bio prvi ovdje.

Citat: Leʞรa poslato April 06, 2021, 18:56:15 POSLE PODNE
vidi netko koristi <easyDialog> waaaou
Koriste mnogi samo ti modovi nisu released...

EDIT: x ti je za hexadecimal u sscanf ako se ne varam, a cuvas ga u integer.

Prosao sam sve vase komentare i dalje ne kapiram kako treba, takodje ne znam zasto se bunite za ono idskin, pravio sam isto kao sto sam pravio za skinove koji radi 11/10 pa me mrzelo opet da pisem pa samo iskopiro i promenio sve, idskina treba da predstavlja boju koju sam ubacio i to radi, ali ne mogu da koristim brojeve i slova nego ili samo brojeve ili slova, ja sam trazio samo da mi neko obljasni ili da primer kako da kad promenim boju f chata da odmah idem /f caoo da bude te boje, jedino Xunder mi je dao kako i sta sto jedino ima smisla od svih sto je napisano, ne zelim da bude sad da ja nekog vredjam itd cenim svacije misljenje ali najvise je ovde oko IDskina, koji sam stavio da bi mi izbacio samo kodove za boju. Takodje vidjao sam neko je pisao da je tu trebao string, nego prica za varijablu itd a niko nije zapravo shvatio sta meni zapravo treba, Pa cu obljasniti opet.

Treba mi da na /orgpanel da kad promenim boju da pise tipa (0x51235AA) a ne samo da moze ili 123213 ili AAAAAA nista vise, i da kad promenim boju kad idem /f da bude ta boja koju sam ja ubacio to je to koje shvatio je shvatio ko nije onda nzm

Gledaj na hex kao na obicni decimalni broj.
Decimalno 100 se moze i zapisati kao heksadecimalno 0x64.
Dakle boje ces cuvati kao obicni int (mysql %d, ini> WriteInt).

Da bi formatirao U RRGGBB format u stringu koristi %x i shiftas bitove za 8 polja

new color = 0xFFFF00FF, buff[64], blue = 65535; 

format(buff, sizeof buff, "Ovo je plavo {%08x}ovo je zuto", color >>> 8);
SCM(pid, blue, buff);


U primjeru gore blue si mogao napisati i na "obican" -> 0x0000ffff nacin.

Eto pokusao sam da bude newbie friendly :D