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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: .:Secur:. - 2011. december 18. - 17:13:46

Cím: Dialog-os ital lista kérése
Írta: .:Secur:. - 2011. december 18. - 17:13:46
Sziasztok!
Pár nappal ezelõtt nyitottam egy témát a kérdések fórumrészbe, de nem született helyes megoldás, válasz.
Ezért most az alapoktól elindulva kérném ezt a scriptet.
A lényege:
Bele kell menni egy nyílba ahol megjelenik egy dialog és ki lehet választani a neked megfelelõ italt.
Miután ez megtörtént rákattintunk a Kérem vagy a Mégsem gombra. (vagy 2x a tételre)
Szeszes italok:
Sör
Bor
Pálinka
Üdítõk:
Sprite
Cola
Az elkészítéshez a nyilak helye:
 
CreatePickup( 1318, 1, 1759.80004883, -1761.19995117, 52.29999924, -1 );
CreatePickup( 1318, 1, 1752.80004883, -1763.40002441, 52.29999924, -1 );
CreatePickup( 1318, 1, 1757.80004883, -1798.19995117, 52.50000000, -1 );
CreatePickup( 1318, 1, 1769.00000000, -1799.40002441, 52.59999847, -1 );
CreatePickup( 1318, 1, 1787.90002441, -1801.80004883, 52.70000076, -1 );
CreatePickup( 1318, 1, 1799.90002441, -1792.19995117, 52.59999847, -1 );

 
Kérlek benneteket mielõbb csináljátok meg!
Ne linkelgessetek, kérem valaki csinálja meg.
Köszönöm elõre is.
Ha valami nem tiszta kérdezzetek, írjatok.

Dupla hozzászólás automatikusan összefûzve. ( 2011. december 19. - 15:00:00 )

Ne már, hogy senki nem tudja pls help!
Cím: Dialog-os ital lista kérése
Írta: BoOy - 2011. december 19. - 18:30:10
[pawn]#include <a_samp>
#define DIALOGID 1200
//pickupok
new udito1;
new udito2;
new udito3;
new udito4;
new udito5;
new udito6;
//------------------------------------------------------------------------------
public OnFilterScriptInit()
{
    print(\"\\n\");
print(\"------------------------------\");
print(\" Üdítõk és szeszes italok securnak\");
print(\"------------------------------\");
print(\"\\n\");
// Pickupok kord.
udito1 = CreatePickup( 1318, 1, 1759.80004883, -1761.19995117, 52.29999924, -1 );
udito2 = CreatePickup( 1318, 1, 1752.80004883, -1763.40002441, 52.29999924, -1 );
udito3 = CreatePickup( 1318, 1, 1757.80004883, -1798.19995117, 52.50000000, -1 );
udito4 = CreatePickup( 1318, 1, 1769.00000000, -1799.40002441, 52.59999847, -1 );
udito5 = CreatePickup( 1318, 1, 1787.90002441, -1801.80004883, 52.70000076, -1 );
udito6 = CreatePickup( 1318, 1, 1799.90002441, -1792.19995117, 52.59999847, -1 );
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new PlayerState = GetPlayerState(playerid);
if(pickupid == udito1 || udito2 || udito3 || udito4 || udito5 || udito6 && PlayerState == 1) // Összes pickup
{
ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,\"Ital Lista:\",\"Szeszes Italok \\nÜdítõk\",\"Választ\",\"Mégse\");
}
return 1;
}
//------------------------------------------------------------------------------
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOGID && response==1)
{
    switch(listitem)
    {
       case 0:
       {
      ShowPlayerDialog(playerid,DIALOGID+1,DIALOG_STYLE_LIST,\"Szeszes Italok:\",\"Sör \\nBor \\nPálinka\",\"Kérem\",\"Mégse\");
       }
       case 1:
       {
      ShowPlayerDialog(playerid,DIALOGID+2,DIALOG_STYLE_LIST,\"Üdítõk:\",\"Cóla \\nSprite\",\"Kérem\",\"Mégse\");
       }
        }
}
if(dialogid==DIALOGID+1 && response==1)
{
    switch(listitem)
    {
       case 0:
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
       }
       case 1:
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_WINE);
       }
       case 2:
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_WINE);
       }
        }
}
if(dialogid==DIALOGID+2 && response==1)
{
    switch(listitem)
    {
       case 0:
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK);
       }
       case 1:
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK); // Bocsi most a kóla = sprite ...
       }
        }
}
return 1;
}[/pawn]
Cím: Dialog-os ital lista kérése
Írta: .:Secur:. - 2011. december 19. - 18:36:43
Köszi, remélem jó majd megnézem.
Sajnos nem jó, akkor amit msn-en beszéltünk ha tudod csináld meg és rakd fel ide.
Cím: Dialog-os ital lista kérése
Írta: Kovacs_Richard - 2011. december 20. - 00:04:49
http://sampforum.hu/index.php?topic=18387.msg201297#msg201297
ezzel mi volt a gond? :)
Cím: Dialog-os ital lista kérése
Írta: Zsolesszka - 2011. december 20. - 09:13:54
Idézetet írta: Kovacs_Richard date=1324335889\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14406\" data-ipsquote-contentclass=\"forums_Topic
http://sampforum.hu/index.php?topic=18387.msg201297#msg201297
ezzel mi volt a gond? :)
 
Ha belegondolnál akkor magadtól is rájönnél.
Olyan pickupokat hoztál létre amik nem tûnnek el, ha belesétálsz egybe akkor megjelenik egy dialog, de te még mindig ott állsz a pickupnál és emiatt folyamatosan visszahívásra kerül az OnPlayerPickUpPickup emiatt folyamatosan megjelenítésre kerül a dialog.  (Igaz mivel nem olyan gyakori ennek a frissítése néha egész jól mûködik.)
Cím: Dialog-os ital lista kérése
Írta: Kovacs_Richard - 2011. december 20. - 10:33:10
Idézetet írta: ɐʞzssǝlosz date=1324368834\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14406\" data-ipsquote-contentclass=\"forums_Topic


http://sampforum.hu/index.php?topic=18387.msg201297#msg201297
ezzel mi volt a gond? :)
 
Ha belegondolnál akkor magadtól is rájönnél.
Olyan pickupokat hoztál létre amik nem tûnnek el, ha belesétálsz egybe akkor megjelenik egy dialog, de te még mindig ott állsz a pickupnál és emiatt folyamatosan visszahívásra kerül az OnPlayerPickUpPickup emiatt folyamatosan megjelenítésre kerül a dialog.  (Igaz mivel nem olyan gyakori ennek a frissítése néha egész jól mûködik.)
 
[/quote]
hát nem tudom tesztelted e a kódot, mert én igen...és kiválasztás után el kellett mennem a pickuptól és vissza, hogy újra kidobja a dialogot...nálam mûködött...
Cím: Dialog-os ital lista kérése
Írta: BoOy - 2011. december 20. - 12:53:12
Na kijavítottam secur remélem jó:
[pawn]#include <a_samp>
#define DIALOGID 1200
//pickupok
new udito1;
new udito2;
new udito3;
new udito4;
new udito5;
new udito6;
//------------------------------------------------------------------------------
public OnFilterScriptInit()
{
    print(\"\\n\");
print(\"------------------------------\");
print(\" Üdítõk és szeszes italok securnak\");
print(\"------------------------------\");
print(\"\\n\");
// Pickupok kord.
udito1 = CreatePickup( 1318, 1, 1759.80004883, -1761.19995117, 52.29999924, -1 );
udito2 = CreatePickup( 1318, 1, 1752.80004883, -1763.40002441, 52.29999924, -1 );
udito3 = CreatePickup( 1318, 1, 1757.80004883, -1798.19995117, 52.50000000, -1 );
udito4 = CreatePickup( 1318, 1, 1769.00000000, -1799.40002441, 52.59999847, -1 );
udito5 = CreatePickup( 1318, 1, 1787.90002441, -1801.80004883, 52.70000076, -1 );
udito6 = CreatePickup( 1318, 1, 1799.90002441, -1792.19995117, 52.59999847, -1 );
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new PlayerState = GetPlayerState(playerid);
if(pickupid == udito1 || udito2 || udito3 || udito4 || udito5 || udito6 && PlayerState == 1) // Összes pickup
{
ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,\"Ital Lista:\",\"Szeszes Italok \\nÜdítõk\",\"Választ\",\"Mégse\");
}
return 1;
}
//------------------------------------------------------------------------------
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOGID)
{
   if(response)
   {
      if(listitem == 0)
       {
      ShowPlayerDialog(playerid,DIALOGID+1,DIALOG_STYLE_LIST,\"Szeszes Italok:\",\"Sör \\nBor \\nPálinka\",\"Kérem\",\"Mégse\");
       }
       if(listitem == 1)
       {
      ShowPlayerDialog(playerid,DIALOGID+2,DIALOG_STYLE_LIST,\"Üdítõk:\",\"Cóla \\nSprite\",\"Kérem\",\"Mégse\");
       }
        }
        return 1;
}
if(dialogid == DIALOGID+1)
{
   if(response)
   {
      if(listitem == 0)
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
       }
       if(listitem == 1)
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_WINE);
       }
       if(listitem == 2)
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_WINE);
       }
        }
        return 1;
}
if(dialogid == DIALOGID+2)
{
   if(response)
   {
      if(listitem == 1)
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK);
       }
       if(listitem == 2)
       {
      SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK); // Bocsi most a kóla = sprite ...
       }
        }
        return 1;
}
return 0;
}[/pawn]
Cím: Dialog-os ital lista kérése
Írta: .:Secur:. - 2011. december 20. - 14:38:10
Idézetet írta: Kovacs_Richard date=1324335889\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14406\" data-ipsquote-contentclass=\"forums_Topic
http://sampforum.hu/index.php?topic=18387.msg201297#msg201297
ezzel mi volt a gond? :)
 
\"Am, most sem jó valami mert kiválasztom az italt és nem ad semmit a kezembe... aztán még a nyíl is eltûnik amibe bele kéne menni...\"
Köszi BoOy nézem.
|
·
Sajnos nem jó, lehet tényleg a móddal van a baj, azért nem jó valami de nem baj akkor ez kimarad.
Köszi mindenkinek.
Cím: Dialog-os ital lista kérése
Írta: Zsolesszka - 2011. december 20. - 17:02:10
Idézetet írta: Kovacs_Richard date=1324373590\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14406\" data-ipsquote-contentclass=\"forums_Topic
hát nem tudom tesztelted e a kódot, mert én igen...és kiválasztás után el kellett mennem a pickuptól és vissza, hogy újra kidobja a dialogot...nálam mûködött...
 
Igen teszteltem és alig tudtam ott hagyni a pickupot mert egyfolytában megjelent a dialog.