GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Yakuza™ - 2012. szeptember 05. - 17:47:02

Cím: Dialog csak egyszer jelenjen meg
Írta: Yakuza™ - 2012. szeptember 05. - 17:47:02
Sziasztok, azt szeretném kérdezni,hogyan lehet csinálni olyat,hogy 1 dialog csak 1x jelenjen meg?
Mert olyat akarok,hogy csatlakozáskor nyelv választó és,hogy elmentse így nem jönne be többször
Cím: Dialog csak egyszer jelenjen meg
Írta: xSkillZ7x - 2012. szeptember 05. - 19:41:55
Nekem is van ehez hasonlo a szerverembe.En ugy oldottam meg hogy csinaltam egy jatekosra vonatkozo valtozot, ami 0.
Ha a jatekos kivalasztott egyet , a nyelvek kozzul a valtoo legyen 1.
Ezt mwntse le fileba (dini yini dfile).ha a jatekos belep.
Olvassa ki a file bol a jatekos erteket.Ha 0 akkor jelenjen meg ha 1 akkor mar valasztott.
azaz if (valtozo[playerid] == 0) return dialog.
am boccs hogy nem irtam le pontosan viszont telon vagyok.
Cím: Dialog csak egyszer jelenjen meg
Írta: Gabor.. - 2012. szeptember 05. - 20:47:44

#include <   a_samp    >
 
#define DIALOG_SELECT 100
public OnPlayerRequestClass( playerid, classid )
{
        ShowPlayerDialog( playerid, DIALOG_SELECT, DIALOG_STYLE_LIST, \"Peti\", \"Jóska\\nPista\", \"József\", \"Gyula\" );
        return 1;
}
public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] )
{
       switch( dialogid )
       {
              case DIALOG_SELECT:
              {
                 if( response )
                 {
                       switch( listitem )
                       {
                             case 0: SendClientMessage( playerid, -1, \"Te vagy a Jóska.\" );
                             case 1: SendClientMessage( playerid, -1, \"Te vagy a Pista.\" );
                       }
                  }
              }
       }
       return 1;
}
Cím: Dialog csak egyszer jelenjen meg
Írta: xSkillZ7x - 2012. szeptember 06. - 05:56:03
Am szerintem ettöl a következõ csatlakozáskor is kifog jönni a dialog.
Õ ugy akarja hogy ha még a játékos nem választotta ki a nyelvét, akkor kijöjjön a dialog, de már a következõ belépésnél ne válasszon a játékos nyelvet.
Ugyhogy én maradnák az én megoldásomnál:
 

new Valasztott[MAX_PLAYERS];

 
Ha a játékos kiválasztotta a nyelvet:
 

Valasztott[playerid] = 1;

 
Ha a játékos távozik:
Mentse le a változó értékét (Dini, dfile, Yini fini stb)
Mikor a játékos belép:
Töltse be a változó értékét.
 

if(Valasztott[playerid] == 0) return ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, \"Nyelv\", Magyar\\nAngol\\nNemet\", Kiválaszt\", \"\");
Cím: Dialog csak egyszer jelenjen meg
Írta: ZyZu. - 2012. szeptember 06. - 09:24:41
Ezt el is kell menteni egy ini fáljba: Dinivel, dfile vagy bármilyen mentõs eszkösz!
Cím: Dialog csak egyszer jelenjen meg
Írta: Yakuza™ - 2012. szeptember 06. - 17:13:09
kösz ezt én is gondoltam :d