Nick Color

Započeo Vasic, Januar 05, 2020, 23:28:45 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

NICK COLOR - Tutorijal

Pozdrav dragi moji, danas cu Vam pokazati kako napraviti colored nick, tj. obojeno ime u SA-MPu.
Ovo je jedna prosta verzija ovog 'sistema', da ga nazovem tako.
Mozemo poceti.



Prvo cemo dodati definicije boja, naravno, Vi mozete jos dodavati po zelji.
[pawn]#define BOJANICKA_SPLAVA            0x33CCFFAA
#define BOJANICKA_ZELENA            0x33AA33AA
#define BOJANICKA_SZELENA           0x90EE90FF
#define BOJANICKA_ZUTA              0xFFFF00AA
#define BOJANICKA_LJUBICASTA        0x800080FF
#define BOJANICKA_PLAVA             0x0000BBAA
#define BOJANICKA_CRVENA            0xFF0000AA
#define BOJANICKA_ZLATNA            0xFFD700FF
#define BOJANICKA_BRAON             0xA52A2AFF
#define BOJANICKA_SIVA              0xAFAFAFAA
#define BOJANICKA_ROZA              0xFFC0CBAA
#define BOJANICKA_BELA              0xFFFFFFAA
[/pawn]
Sada u Vas player enumator dodajemo
[pawn]enum txt {
pBojaNicka
}[/pawn]Zatim, tu varijablu moramo ucitati. To mozete uraditi sami, ukoliko Vam je y_ini, citate pomocu tog procesa, u koliko sql, pomocu tog. U glavnom, znate kako to ide.

Sada moramo dodati i definiciju dijaloga kog cemo posle koristiti u komandi.
[pawn]#define DIALOG_NCOL (55)[/pawn]
Ovo '(55)' Vam je ID dijaloga, sto znaci da ga mozete promeniti i prilagoditi svom modu. Ako dijaloge stavljate u enumator, onda dijalog definisete ovako:
[pawn]enum {
DIALOG_NCOL
}[/pawn]
Sada mozemo preci na komandu. Koristim ZCMD proces komandi, ukoliko koristite drugi proces, promenite.
[pawn]CMD:color( playerid, params[ ] )
{
   ShowPlayerDialog( playerid, DIALOG_NCOL, DIALOG_STYLE_LIST, "Boje", Svetloplava\nZelena\nSvetlozelena\nZuta\nLjubicasta\nPlava\nCrvena\nZlatna\nBraon\nSiva\nRoza\nBela, "Izaberi", "Izlaz" );
   return 1;
}[/pawn]
Komanda kao komanda, nemam sta govoriti o njoj. Sada mozemo preci na dijalog, da napravimo odabir boja.
Dijaloge kreiramo pod OnDialogResponse, sto je, verujem, svima jasno.

Ovako kreiramo odabire, case 0 Vam je prva boja, case 1 je druga, da ne duzim, tako ide redosled.
[pawn]
case 0:
{
   PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_SPLAVA;
   SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
   SendClientMessage( playerid, BOJANICKA_SPLAVA, "Vas nick je sada prikazan ovom bojom." );
}[/pawn]
Sada da pojasnim cemu sluzi sta. U Vasem modu ne mora biti isto upisana varijabla za igrace, PlayerInfo. To jednostavno promenite ako nije isto. 'pBojaNicka' to smo dodali u enumator i sada smo postavili da skripta automatski postavi tu boju igracu.
'[ pBojaNicka ] = BOJANICKA_SPLAVA;' - o tome govorim.
Mi smo definisali hex boje koje skripta pretvara u brojevne zapise.
'SetPlayerColor' sluzi da postavi tu boju igracu.
Sada mozemo da postavimo odabir svim bojama:
[pawn]public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
{
   if( dialogid == DIALOG_NCOL ) {
       if( !response ) return 1;
      if( response ) {
         switch( listitem ) {
             case 0:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_SPLAVA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_SPLAVA, "Vas nick je sada prikazan ovom bojom." );
            }
             case 1:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_ZELENA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_ZELENA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 2:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_SZELENA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_SZELENA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 3:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_ZUTA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_ZUTA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 4:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_LJUBICASTA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_LJUBICASTA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 5:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_PLAVA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_PLAVA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 6:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_CRVENA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_CRVENA, "Vas nick je sada prikazan ovom bojom." );
            }
                case 7:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_ZLATNA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_ZLATNA, "Vas nick je sada prikazan ovom bojom." );
            }
                 case 8:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_BRAON;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_BRAON, "Vas nick je sada prikazan ovom bojom." );
            }
             case 9:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_SIVA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_SIVA, "Vas nick je sada prikazan ovom bojom." );
            }
             case 10:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_ROZA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_ROZA, "Vas nick je sada prikazan ovom bojom." );
            }
             case 11:
             {
               PlayerInfo[ playerid ][ pBojaNicka ] = BOJANICKA_BELA;
               SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );
               SendClientMessage( playerid, BOJANICKA_BELA, "Vas nick je sada prikazan ovom bojom." );
            }
         }
      }
   }
   return 1;
}[/pawn]
Gde Vam se igrac loginuje na server, postavite da skripta stavi izabranu boju nicka igracu:
[pawn]SetPlayerColor( playerid, PlayerInfo[ playerid ][ pBojaNicka ] );[/pawn]
A gde se igrac registruje, postavite da mu default nick boja bude bela, ili druga koju zelite:
[pawn]SetPlayerColor( playerid, BOJANICKA_BELA );[/pawn]
Sada mozemo preci na OnPlayerText, gde cemo obojiti igracev nick dok pise neki tekst.
[pawn]public OnPlayerText(playerid, text[])
{
   new string[ 148 ], new ime[ MAX_PLAYER_NAME ];
   GetPlayerName( playerid, ime, sizeof ime);
   format( string, sizeof string, "%s {ffffff}(%d): %s", ime, playerid, text );
   SendClientMessageToAll( PlayerInfo[ playerid ][ pBojaNicka ], string );
   return 0;
}[/pawn]
Formatujemo poruku i saljemo je svim igracima na serveru. "PlayerInfo[ playerid ][ pBojaNicka ]" u SendClientMessageToAll stavlja boju nicka u onu koju smo odabrali. {ffffff} valjda je svima jasno, to oznacava belu boju.

U sustini, to je to od tutorijala. Verovatno sam nesto propustio ili nesto nisam lepo napisao,
tj. nisam se lepo izrazio. Nemojte zameriti, jer sam skroz umoran :D
Slobodno me ispravite gde sam pogresio, i ostavite neko Vase misljenje, hvala Vam :)
• Website: www.vasic.dev
Web Development & Cyber Security

fino fino

TIIIIIRRRRRRUUUUUU RIIIIIIIIIIIIIIIII RUUUUUUUUUUUUU

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


Citat: YumikoJR poslato Januar 06, 2020, 02:54:51 PRE PODNE
Ja pomislih da ti znas da skriptas :)
obrazlozi, hvala.
• Website: www.vasic.dev
Web Development & Cyber Security


Sadrzaj tutorijala nebitan. Pohvale za izdvojeno vrijeme ali drugi put napravi nesto korisnije.

Citat: Aaron poslato Januar 07, 2020, 16:37:01 POSLE PODNE
Sadrzaj tutorijala nebitan. Pohvale za izdvojeno vrijeme ali drugi put napravi nesto korisnije.
Ma pajseri svi do jednog

vecina modova to ima,ali pohvale za trud
©Pawno™

98% 'skriptera' sa foruma nez ovo napravit  :D :D :D

TIIIIIRRRRRRUUUUUU RIIIIIIIIIIIIIIIII RUUUUUUUUUUUUU

Citat: Fqris poslato Januar 07, 2020, 17:16:50 POSLE PODNE
98% 'skriptera' sa foruma nez ovo napravit  :D :D :D
nemoj tako okrutno ka nasim profesionalnim kripterima :D

Svakako, hvala svima.

Citat: Aaron poslato Januar 07, 2020, 16:37:01 POSLE PODNE
Sadrzaj tutorijala nebitan. Pohvale za izdvojeno vrijeme ali drugi put napravi nesto korisnije.
Sta god, nije problem, recite mi nesto, neku ideju :)
• Website: www.vasic.dev
Web Development & Cyber Security

Fino svida mi se koristno pocetnicima koji zele opsirit svoje znanje takoder korisno vecim "skripterima" koji se ponasaju da znaju nesto al aj nebitno ugl odlicno je 10/10
Respect ⇒ [.daddy][Galardo][androo][Shomyy][.ɱυɱιƚȥα][6cadilab9]
Citat
The least intelligent people are often the most talkative or noisy.

Citat: Vasic poslato Januar 07, 2020, 18:31:37 POSLE PODNE
Sta god, nije problem, recite mi nesto, neku ideju :)
Napravi ljudima tutorijal kako se pravi statistika igraca i kako se ona sprema, sustav dozvola, neki posao, sustav banke ili zlata, rent a car,  gang i safe zone, kako se koriste funkcije aktora ili attached objectsa i sve to vise vaznije za neko pocetnicko ili osrednje skriptanje jer mislim da boja nickova nije uopce bitno ukolilo ne znaju ove stvari napravit. Ovaj tvoj tutorijal je za ljude koji su naucili pawno i iz dosade se zabavljaju.

Citat: Aaron poslato Januar 07, 2020, 20:07:20 POSLE PODNE
Napravi ljudima tutorijal kako se pravi statistika igraca i kako se ona sprema, sustav dozvola, neki posao, sustav banke ili zlata, rent a car,  gang i safe zone, kako se koriste funkcije aktora ili attached objectsa i sve to vise vaznije za neko pocetnicko ili osrednje skriptanje jer mislim da boja nickova nije uopce bitno ukolilo ne znaju ove stvari napravit. Ovaj tvoj tutorijal je za ljude koji su naucili pawno i iz dosade se zabavljaju.
Ima zanimljivih tema koje cu da odradim kada budem imao viska vremena :)
• Website: www.vasic.dev
Web Development & Cyber Security

Citat: Vasic poslato Januar 06, 2020, 12:12:11 POSLE PODNE
obrazlozi, hvala.
Hm, 2020 je godina, tvoj kod je na nivou 2010 godine, eto, obrazlozio sam


























































































SRANJE TI JE KOD