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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Tanuljunk PAWN nyelvet => A témát indította: Csabesz - 2011. január 14. - 18:58:47

Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. január 14. - 18:58:47
Dialógusok/Párbeszédpanelek
 
Üdv!
Mivel még nem láttam róla magyar leírást, ezért gondoltam itt az ideje, hogy írjak róla.  :D


1. Mi is a dialógus/Párbeszédpanel ?
A párbeszédpanelek ( dialógusok ) 0.3-as verzióknál érhetõ el. Legtöbbször Menük helyettesítésére a legalkalmasabb, mivel kezelése sokkal egyszerûbb.
Lehet lista, szövegdoboz és bevitel típusú.


2. Függvények / Eljárások
Eljárások:
ShowPlayerDialog: Egy adott játékos számára megjeleníti a párbeszédpanelt.
Paraméterek:
 
( playerid, dialogid, style, caption [ ], info [ ], button1 [ ], button2 [ ] )

 
playerid - Annak a játékosnak az azonosítója, akinek megjelenítjük a párbeszédpanelt.
dialogid - A párbeszédpanel azonosítója. ( Következõkbe ezzel fogjuk elérni. ) ( Maximum értéke: 32767 )
style     - A párbeszédpanel \'stílusa\'. Ez lehet 4 féle.
        1. DIALOG_STYLE_MSGBOX ( 0 )
        Ezt szövegek megjelenítésére használjuk.
        Kép:
        \"mmhc4.png\"
        2. DIALOG_STYLE_INPUT ( 1 )
        Ezt akkor használjuk, amikor szeretnék bevinni X karaktert. (szöveg, szám stb.. )
        Kép:
        \"UAqqz.png\"
        3. DIALOG_STYLE_LIST ( 2 )
        Lista megjelenítésére használjuk.
        Kép:
        \"o5fKo.png\"
        2. DIALOG_STYLE_PASSWORD ( 3 )
        Ezt akkor használjuk, amikor jelszót kérünk be.
        Kép:
\"width=500http://wiki.sa-mp.com/wroot/images2/f/f8/Dialog_style_password.png[/img]
caption [ ] - Dialógus \'címe\'. Ez jelenik meg a dialógus tetején, mint cím.
info [ ]       - Dialógus leírása. Ez a cím alatt helyezkedik el. Ide szoktuk írni az információkat.
                   - \\n - Új sor kezdete.
                   - \\t - Tabulátor, sor betolása.
button1 [ ] - Dialógus 1. gombja.
button2 [ ] - Dialógus 2. gombja. ( 0.3c verziótól már nem szükséges! Üresen is hagyhatod(\"\") és akkor csak a button1 [ ] fog megjelenni )

Visszatérés - Ez a funkció nem add vissza értéket.

Példák:



/* DIALOG_STYLE_INPUT */
ShowPlayerDialog ( playerid, 1, DIALOG_STYLE_INPUT, \"Bejeletkezés\", \"Kérlek írd be a jelszavad:\", \"Belépés\", \"Kilépés\" );
/* DIALOG_STYLE_LIST */
ShowPlayerDialog ( playerid, 2, DIALOG_STYLE_LIST, \"Lista Dialógus\", \"1. Sor\\n2. Sor\\n3. Sor\",\"Gomb 1\", \"Gomb 2\" );

 



Függvények:

OnDialogResponse - Ez a függvény akkor hívódik meg, amikor a játékosnak megjelenítettük a párbeszédpanelt és választott a lehetõségek közül.

Paraméterek:


( playerid, dialogid, response, listitem, inputtext [ ] )

 

playerid    - Annak a játékosnak az azonosítója, akinek megjelenítettük a párbeszédpanelt.

dialogid    - A meghívott párbeszédpanel azonosítója.

response  - A választott \'gomb\'. ( 0 - Elsõ gomb értéke,  1 - Második gomb értéke )

listitem     - A listából kiválasztott \'sor\'.

inputtext [ ] - A bevitt adat. ( Csak Inputos dialógusnál! )

Példák:


public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    if (dialogid == 1 ) // 1 azonosítójú dialógus.
    {
        if ( !response ) return SendClientMessage ( playerid, 0xFFFFFFFF, \"Te kiléptél!\" ); // Második gombot választotta, ami a mostani esetbe a kilépés.
        new iText [ 128 ];
        format ( iText, 128, \"Te ezt írtad be: %s\", inputtext );
        SendClientMessage ( playerid, 0xFFFFFFFF, iText );
        return 1;
    }
    return 0;
}

 



public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    if (dialogid == 1 )
    {
        if ( !response )
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Te kiléptél a dialógusból.\" );
              return 1;
        }
        if ( listitem == 0 )
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Te az elsõ lehetõséget választottad!.\" );
        }
        if ( listitem == 1 )
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Te a második lehetõséget választottad!.\" );
        }
        return 1;
    }
    return 0;
}

 



3. Utószó

Remélem mindet leírtam és jól. Ha bármi hibát vétettem, vagy valamit nem írtam le, akkor szóljatok!
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: palesz_88 - 2011. január 14. - 19:01:27
szép!  :angel:
pont ilyet kerestem, mert ebben vannak képek is. :D
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: KDDomi - 2011. január 14. - 19:17:02
Ez jól jött Grat! ;)
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: ChuckNorris - 2011. január 14. - 19:19:56
Nagyon hasznos,Grat.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: .:Secur:. - 2011. január 14. - 19:27:23
Nagyon jó lett gratulálok!
Sok hasznos információt tartalmaz.
Nem nagyon értettem a dialogokat, de mostmár teljesen tiszta ;)
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. január 14. - 19:28:00
Köszönöm.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: jana4 - 2011. január 14. - 19:35:22
Szép lett, bár én már írtam egy ilyent.  :-\\  ;)
WTF?! Most nézem, nincs is meg. Érdekes.  :@
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: ChuckNorris - 2011. január 14. - 19:38:44
Idézetet írta: ScreaM date=1295030122\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic
Szép lett, bár én már írtam egy ilyent.  :-\\  ;)
WTF?! Most nézem, nincs is meg. Érdekes.  :@
 
:D
Nincs az arhívumban (In Team Only),anno ZeRo is írt egyet,azthiszem az a bizonyos zsobo ügy miatt lett törölve.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: ZeRo - 2011. január 14. - 20:54:54
Idézetet írta: ChuckNorris date=1295030324\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic


Szép lett, bár én már írtam egy ilyent.  :-\\  ;)
WTF?! Most nézem, nincs is meg. Érdekes.  :@
 
:D
Nincs az arhívumban (In Team Only),anno ZeRo is írt egyet,azthiszem az a bizonyos zsobo ügy miatt lett törölve.
 
[/quote]
Igen, aztán írta ScreaM, szóval ez már a harmadik, reméljük, hogy ez megmarad. :)
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: jana4 - 2011. január 14. - 21:12:30
Idézetet írta: ZeRo date=1295034894\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic


 

Szép lett, bár én már írtam egy ilyent.  :-\\  ;)
WTF?! Most nézem, nincs is meg. Érdekes.  :@
 
:D
Nincs az arhívumban (In Team Only),anno ZeRo is írt egyet,azthiszem az a bizonyos zsobo ügy miatt lett törölve.
 
[/quote]
Igen, aztán írta ScreaM, szóval ez már a harmadik, reméljük, hogy ez megmarad. :)
 
[/quote]
Reméljük.  ;)


 
( 0.3c verziótól már nem kötelezõ a megadása! )[/quote]
Inkább azt írd oda, hogy kezdõk is tudják miért, hogy ha kihagyják, csak 1 gomb lesz ami a button1.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Mitsubishi_Lancer - 2011. április 28. - 07:12:41
Addig eljutottam, hogy létrehozok egy dialogot, h írd be milyen tuningot szeretnél: rally, utcai, lowrider, és az is meg van, h hogy kell a tuningot, de azt hogy lehet, hogy ha a dialogba beírja h rally, akkor rárakja a rally tuningot a kocsijára? Ezt az OnDialogResponse-t ezt nem értem.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. április 28. - 19:21:07
Idézetet írta: Mitsubishi_Lancer date=1303967561\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic
Addig eljutottam, hogy létrehozok egy dialogot, h írd be milyen tuningot szeretnél: rally, utcai, lowrider, és az is meg van, h hogy kell a tuningot, de azt hogy lehet, hogy ha a dialogba beírja h rally, akkor rárakja a rally tuningot a kocsijára? Ezt az OnDialogResponse-t ezt nem értem.
 
Most azt szeretnéd, hogy neki kelljen beírnia a tuning nevét? Nem inkább listából kiválasztani?  :o
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: jana4 - 2011. április 28. - 19:54:04
Egy újabb aprócska észrevétel 8)
 
button2 [ ] - Dialógus 2. gombja. ( 0.3c verziótól már nem szükséges! Ha kihagyod 1 gomb lesz, ami a button1 [ ] )

 
Nem szabad kihagyni a button2-t. így kell: ....\"Elsõ gomb szövege\", \"\");

Másképp sajna nem lesz jó. ;)
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. április 28. - 20:01:09
Idézetet írta: ScreaM date=1304013244\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic
Egy újabb aprócska észrevétel 8)
[pawn]button2 [ ] - Dialógus 2. gombja. ( 0.3c verziótól már nem szükséges! Ha kihagyod 1 gomb lesz, ami a button1 [ ] )[/pawn]
Nem szabad kihagyni a button2-t. így kell: ....\"Elsõ gomb szövege\", \"\");

Másképp sajna nem lesz jó. ;)

 
Kösz :D Javítva!


Egyéb Problem? :problem:  8)
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Mitsubishi_Lancer - 2011. április 29. - 21:16:45
Idézetet írta: SticK date=1304011267\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic


Addig eljutottam, hogy létrehozok egy dialogot, h írd be milyen tuningot szeretnél: rally, utcai, lowrider, és az is meg van, h hogy kell a tuningot, de azt hogy lehet, hogy ha a dialogba beírja h rally, akkor rárakja a rally tuningot a kocsijára? Ezt az OnDialogResponse-t ezt nem értem.
 
Most azt szeretnéd, hogy neki kelljen beírnia a tuning nevét? Nem inkább listából kiválasztani?  :o
 
[/quote]
Lehet lista is, ahogy könnyebb.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. április 29. - 21:28:16
[pawn]CMD:tune ( playerid, params [ ] )
{
    ShowPlayerDialog ( playerid, 1, DIALOG_STYLE_LIST, \"Tuning kocsik\", \"1. Kocsi\\n2. Kocsi\\n3. Kocsi\", \"Megvesz\", \"Kilép\" );
    return 1;
}
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    if (dialogid == 1 )
    {
        if ( !response )
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Te kiléptél a dialógusból.\" );
              return 1;
        }
        if ( listitem == 0 )
        {
              // Ide az elsõ kocsi tuningjait
        }
        if ( listitem == 1 )
        {
                // Ide a második kocsi tuningjait
        }
        return 1;
    }
    return 0;
}[/pawn]
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: DareDevil - 2011. május 02. - 18:52:42
Stick egy dialogos teleportot akkarok és azzal kapcsolatban lenne 1-2 kérdésem.
1.Hogy tudom azt megcsinálni, hogyha mondjuk rámegy arra hogy városok akkor kijöjjön neki egy új lista dialog amin fel van sorolva a 3 város.
2. Azt hogy tudom megcsinálni hogyha rámegy arra hogy ls akkor megváltoztatja a pozicióját.
3. Amit alapból használok teleportot(
 

CMD:lv(playerid,params[])
{
    if(DM[playerid] == true) return SendClientMessage(playerid,0x6B8E23AA,\"DM zónába vagy elöször lépj ki\");
 if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),2165.0928,1845.8403,10.8203);
SetVehicleZAngle(GetPlayerVehicleID(playerid),84.9019);
}
else
{
    SetPlayerPos(playerid,2165.0928,1845.8403,10.8203);
    SetPlayerFacingAngle(playerid,84.9019);
}
    SendClientMessage(playerid, 0x6B8E23AA, \"Üdv LV-ben\");
    return 1;
}

 
Ezt berakhatom-e majd oda ahova kell?
köszi a segitséget.
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Csabesz - 2011. május 03. - 10:13:27
Tessék,
[pawn]
CMD:tele ( playerid, params [ ] )
{
    if(DM[playerid] == true) return SendClientMessage(playerid,0x6B8E23AA,\"DM zónába vagy elöször lépj ki\");
    ShowPlayerDialog ( playerid, DIALOG_ID, DIALOG_STYLE_LIST, \"Teleportok\", \"Városok\", \"Tovább\", \"Kilépés\" );
    return 1;
}
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    if ( dialogid == DIALOG_ID )
    {
        ShowPlayerDialog ( playerid, DIALOG_ID2, DIALOG_STYLE_LIST, \"Teleportok->Városok\", \"LV\\nLS\\nSF\", \"Teleport\", \"Kilépés\" );
        return 1;
    }
    if ( dialogid == DIALOG_ID2 )
    {
         switch ( listitem )
         {
              case 0: //LV
              {
                  if ( IsPlayerInAnyVehicle ( playerid ) )
              {
         SetVehiclePos(GetPlayerVehicleID(playerid),2165.0928,1845.8403,10.8203);
         SetVehicleZAngle(GetPlayerVehicleID(playerid),84.9019);
          }
          else
          {
              SetPlayerPos(playerid,2165.0928,1845.8403,10.8203);
              SetPlayerFacingAngle(playerid,84.9019);
          }
          SendClientMessage(playerid, 0x6B8E23AA, \"Üdv LV-ben\");
          return 1;
          }
              }
              case 1: { } //LS
              case 2: { } //SF
         }
         return 1;
    }
    return 1;
}
[/pawn]
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: DareDevil - 2011. május 04. - 06:36:40
Köszi szépen
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Norby - 2011. május 28. - 00:05:48
HEllo pls segits mert elakadtam ebben mi lehet a hiba ??
[pawn]{
    if (dialogid == 15 )
    {
        if (!response)
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Kiléptél :(\" );
             
        }
              if (listitem == 0)
        {
              if(GetPlayerMoney(playerid) < 100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 10 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -100000);
              }
        }
              if (listitem == 1)
        {
              if(GetPlayerMoney(playerid) < 250000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $250.000\");
        }
              else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 20 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+20);
              GivePlayerMoney(playerid, -250000);
              }
        }
              if (listitem == 2)
        {
              if(GetPlayerMoney(playerid) < 350000)
          {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $300.000\");
        }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 30 pontot!\" );
         SetPlayerScore(playerid, GetPlayerScore(playerid)+30);
         GivePlayerMoney(playerid, -350000);
        }
              if (listitem == 3)
        {
              if(GetPlayerMoney(playerid) < 450000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $450.000\");
              }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 40 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+40);
              GivePlayerMoney(playerid, -450000);
        }
              if (listitem == 4)
        {
              if(GetPlayerMoney(playerid) < 550000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $550.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 50 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+50);
              GivePlayerMoney(playerid, -550000);
              }
        }
              if (listitem == 5)
        {
              if(GetPlayerMoney(playerid) < 650000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $650.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 60 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+60);
              GivePlayerMoney(playerid, -650000);
        }
        }
              if (listitem == 6)
        {
              if(GetPlayerMoney(playerid) < 750000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $750.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 70 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+70);
              GivePlayerMoney(playerid, -750000);
              }
        }
              if (listitem == 7)
        {
              if(GetPlayerMoney(playerid) < 850000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $850.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 80 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+80);
              GivePlayerMoney(playerid, -850000);
              }
        }
              if (listitem == 8)
        {
              if(GetPlayerMoney(playerid) < 950000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $950.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 90 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+90);
              GivePlayerMoney(playerid, -950000);
              }
        }
              if (listitem == 9)
        {
              if(GetPlayerMoney(playerid) < 1100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $1.100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 100 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -1100000);
              }[/pawn]
és ez pedig az OnPlayerCommandText [pawn]if (strcmp(\"/score-vétel\", cmdtext, true, 10) == 0)
{
   ShowPlayerDialog ( playerid, 9, DIALOG_STYLE_LIST, \"Pont vétel:\", \"10 Pont (100.000) Ft\\n20 Pont (250.000) Ft\\n30 Pont (350.000) Ft\\n40 Pont (450.000) Ft\\n50 Pont (550.000) Ft\\n60 Pont (650.000) Ft\\n70 Pont (750.000) Ft\\n80 Pont (850.000) Ft\\n90 Pont (950.000) Ft\\n100 Pont (1.100.000) Ft\",\"Megvesz\",\"Mégse\");
   return 1;
 }[/pawn]
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: ChuckNorris - 2011. május 28. - 10:22:25
Idézetet írta: XxRaptorxX date=1306533948\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5350\" data-ipsquote-contentclass=\"forums_Topic
HEllo pls segits mert elakadtam ebben mi lehet a hiba ??
[pawn]{
    if (dialogid == 15 )
    {
        if (!response)
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Kiléptél :(\" );
             
        }
              if (listitem == 0)
        {
              if(GetPlayerMoney(playerid) < 100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 10 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -100000);
              }
        }
              if (listitem == 1)
        {
              if(GetPlayerMoney(playerid) < 250000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $250.000\");
        }
              else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 20 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+20);
              GivePlayerMoney(playerid, -250000);
              }
        }
              if (listitem == 2)
        {
              if(GetPlayerMoney(playerid) < 350000)
          {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $300.000\");
        }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 30 pontot!\" );
         SetPlayerScore(playerid, GetPlayerScore(playerid)+30);
         GivePlayerMoney(playerid, -350000);
        }
              if (listitem == 3)
        {
              if(GetPlayerMoney(playerid) < 450000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $450.000\");
              }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 40 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+40);
              GivePlayerMoney(playerid, -450000);
        }
              if (listitem == 4)
        {
              if(GetPlayerMoney(playerid) < 550000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $550.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 50 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+50);
              GivePlayerMoney(playerid, -550000);
              }
        }
              if (listitem == 5)
        {
              if(GetPlayerMoney(playerid) < 650000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $650.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 60 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+60);
              GivePlayerMoney(playerid, -650000);
        }
        }
              if (listitem == 6)
        {
              if(GetPlayerMoney(playerid) < 750000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $750.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 70 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+70);
              GivePlayerMoney(playerid, -750000);
              }
        }
              if (listitem == 7)
        {
              if(GetPlayerMoney(playerid) < 850000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $850.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 80 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+80);
              GivePlayerMoney(playerid, -850000);
              }
        }
              if (listitem == 8)
        {
              if(GetPlayerMoney(playerid) < 950000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $950.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 90 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+90);
              GivePlayerMoney(playerid, -950000);
              }
        }
              if (listitem == 9)
        {
              if(GetPlayerMoney(playerid) < 1100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $1.100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 100 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -1100000);
              }[/pawn]
és ez pedig az OnPlayerCommandText [pawn]if (strcmp(\"/score-vétel\", cmdtext, true, 10) == 0)
{
   ShowPlayerDialog ( playerid, 9, DIALOG_STYLE_LIST, \"Pont vétel:\", \"10 Pont (100.000) Ft\\n20 Pont (250.000) Ft\\n30 Pont (350.000) Ft\\n40 Pont (450.000) Ft\\n50 Pont (550.000) Ft\\n60 Pont (650.000) Ft\\n70 Pont (750.000) Ft\\n80 Pont (850.000) Ft\\n90 Pont (950.000) Ft\\n100 Pont (1.100.000) Ft\",\"Megvesz\",\"Mégse\");
   return 1;
 }[/pawn]
 
Gondolom az elejét véletlenül hagytad le....
[pawn]
{
    if (dialogid == 15 )
    {
        if (!response) return SendClientMessage ( playerid, 0xFF0000FF, \"Kiléptél :(\" );
              if (listitem == 0)
        {
              if(GetPlayerMoney(playerid) < 100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 10 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -100000);
              }
        }
              if (listitem == 1)
        {
              if(GetPlayerMoney(playerid) < 250000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $250.000\");
        }
              else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 20 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+20);
              GivePlayerMoney(playerid, -250000);
              }
        }
              if (listitem == 2)
        {
              if(GetPlayerMoney(playerid) < 350000)
          {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $300.000\");
        }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 30 pontot!\" );
         SetPlayerScore(playerid, GetPlayerScore(playerid)+30);
         GivePlayerMoney(playerid, -350000);
        }
              if (listitem == 3)
        {
              if(GetPlayerMoney(playerid) < 450000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $450.000\");
              }
               else
        {
        SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 40 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+40);
              GivePlayerMoney(playerid, -450000);
        }
              if (listitem == 4)
        {
              if(GetPlayerMoney(playerid) < 550000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $550.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 50 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+50);
              GivePlayerMoney(playerid, -550000);
              }
        }
              if (listitem == 5)
        {
              if(GetPlayerMoney(playerid) < 650000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $650.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 60 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+60);
              GivePlayerMoney(playerid, -650000);
        }
        }
              if (listitem == 6)
        {
              if(GetPlayerMoney(playerid) < 750000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $750.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 70 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+70);
              GivePlayerMoney(playerid, -750000);
              }
        }
              if (listitem == 7)
        {
              if(GetPlayerMoney(playerid) < 850000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $850.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 80 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+80);
              GivePlayerMoney(playerid, -850000);
              }
        }
              if (listitem == 8)
        {
              if(GetPlayerMoney(playerid) < 950000)
        {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $950.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 90 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+90);
              GivePlayerMoney(playerid, -950000);
              }
        }
              if (listitem == 9)
        {
              if(GetPlayerMoney(playerid) < 1100000)
              {
        SendClientMessage(playerid,COLOR_BLUE,\"Nincs elég pénzed enyi kell: $1.100.000\");
        }
        else
        {
              SendClientMessage ( playerid, 0xFF0000FF, \"Sikeresen vettél 100 pontot!\" );
              SetPlayerScore(playerid, GetPlayerScore(playerid)+10);
              GivePlayerMoney(playerid, -1100000);
              }
[/pawn]
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Norby - 2011. május 28. - 10:52:48
KÖSZIII a segitséget :D
Cím: [ Leírás ] Dialógusok / Párbeszédpanelek
Írta: Mokus - 2012. február 05. - 15:38:15
Szép kis leirás lett ezt nemtudtam csak a többi dialogus könnyeb