Jump to content

návod TIP - DIALOGID


Ewwe

Recommended Posts

  • Administrátor

Jak již z názvu jest patrno nejedná se o návod v přímém slova smyslu... Chci se s vámi podělit o řekněme tweak který jsem objevil při štourání v pawn dokumentaci....

 

Je dost možné že používáte předefinování id dialogů do "slov" příklad

#define DIALOG_LOGIN (1)
ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE........

 

Já narazil na jednodušší způsob který pro zkušenější scriptery nebude žádnou novinkou ale některým nováčků a podobně to podle mého pomoci může.

 

enum {
DIALOG_NONE,
DIALOG_LOGIN,
DIALOG_REGISTER
}

 

Pooužití je pak už shodné s předchozí alternativou.

 

V čem je toto lepší než definice ?

Enum přiděluje "definicím" čísla od 0 do 32574(MAx_DIALOG_ID) sám tudíž odpadájí problémy stím jestli jste si někde nedali stejné id dialogu

enum {
DIALOG_NONE,//ID 0
DIALOG_LOGIN,//ID 1
DIALOG_REGISTER// ID 2
}

 

Pokud Vám to ulehčí práci s idčky dialogů jako mě pak budu jen rád :)

Link to comment
Share on other sites

Naprosto nevýhodné číslovat dialogy od 0.Mnoho filterscriptu obsahuje dialogy s id 1,2,3,4 apod. , a proto je lepší si udělat nějaké specifické číslo od kterého začít.

Link to comment
Share on other sites

  • Administrátor

Naprosto nevýhodné číslovat dialogy od 0.Mnoho filterscriptu obsahuje dialogy s id 1,2,3,4 apod. , a proto je lepší si udělat nějaké specifické číslo od kterého začít.

 

Jistě nevýhodné je to pro ty kteří používají cizí scripty...

Pro mě je to naopak výhodné protože cizí scripty nepoužívám

Link to comment
Share on other sites

nice takze ak som spravne pochopil tak ako si poukladam pod seba dialogy ono to samo zaradi ID dialogu ako si napisal takze

 

enum {

DIALOG_NONE,//ID 0

DIALOG_LOGIN,//ID 1

DIALOG_REGISTER// ID 2

atd 3

atd 4 ze

}

Link to comment
Share on other sites

  • Administrátor

Dnes mě ještě napadla taková věc..

Jak tu někdo psal že když má id dialogů treba v modu 0 až 521 a chce pridat FS kde bude používat další id a chce použít můj TIP

 

lze to třeba i takto

enum
{
DIALOG_1,
DIALOG_2,
DIALOG_100 = 100,
DIALOG_101
}

ID dialogů budou potom následovné 0 , 1 , 100 , 101

Link to comment
Share on other sites

Typ dobry, rozhodne pawno upozorni. Ovem ja mam taky jeden optimalizovanejsi.

Pokud pouzijes

switch(dialogid)
{
case DIALOG1:
case DIALOG2:
}

switch je x krat rychlejsi nez if a else if a hlavne pri kompilaci nahlasi, pokud se tam stejne cislo vyskytuje vicekrat. Potom muzes pouzivat define bez problemu :)

Hlavne pokud si define dialogu pises na jedno misto a seradis podle cisel nemuze se stat ze se mines :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...