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: dexi - 2011. november 12. - 08:43:12

Cím: Több dialog használata
Írta: dexi - 2011. november 12. - 08:43:12
Hali, TDM modomba szeretném beletenni azt hogy ha belemegyek a pickupba kiírja a dialogot hogy megveszem-e vagy sem. Ez sikerült sõt még a fegyvert is odaadja és a pénzt is levonja meg minden zsír..
Csak 2 dolgot szeretnék megtudni:
Hogy tudom megoldani hogy ne csak egy pickupnál legyen dialog szóval ha odamegyek az AK-hoz és kihozza a dialogot hogy megveszem akkor csak az AK-t adja oda.
Másik: Hogy tudom megoldani hogy ha az illetõnél kevesebb mint 1000$ van akkor ne tudja megvenni.(Szóval ne menyjen minuszba, csak szimplán ne tudja megvenni.)
A pwn-be szereplõ dolgok:
Sor elejére:
[pawn]new ak;
new shot;
new dezi;
new country;
new ak1;
new shot1;
new dezi1;
new country1;[/pawn]
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid == ak1)
 {
    if(response)
     {
GivePlayerWeapon(playerid, 25, 500);
GivePlayerMoney(playerid, -1000);}
}else{//ellentétben
SendClientMessage(playerid, RED, \"Kiléptél a dialogból vásárlás nélkül.\");
}[/pawn]
Ezt szeretném megoldani mindegyikre. Szóval shot1-re dezi1-re és country1-re is.
[pawn]public OnPlayerPickUpPickup( playerid, pickupid )
{
      if( pickupid == ak )
      {
             ShowPlayerDialog(playerid,ak1,DIALOG_STYLE_MSGBOX,\"{00ff00}Fegyver vétel\",\"Megszeretnéd venni a fegyvert?\\nEladni nem lehet!\",\"Megveszem\",\"Mégsem\");
return 1;
      }
      else if( pickupid == shot )
      {
             ShowPlayerDialog(playerid,shot1,DIALOG_STYLE_MSGBOX,\"{00ff00}Fegyver vétel\",\"Megszeretnéd venni a fegyvert?\\nEladni nem lehet!\",\"Megveszem\",\"Mégsem\");
return 1;
      }
      else if( pickupid == country )
      {
            ShowPlayerDialog(playerid,country1,DIALOG_STYLE_MSGBOX,\"{00ff00}Fegyver vétel\",\"Megszeretnéd venni a fegyvert?\\nEladni nem lehet!\",\"Megveszem\",\"Mégsem\");
return 1;
      }
      else if( pickupid == dezi )
      {
            ShowPlayerDialog(playerid,dezi1,DIALOG_STYLE_MSGBOX,\"{00ff00}Fegyver vétel\",\"Megszeretnéd venni a fegyvert?\\nEladni nem lehet!\",\"Megveszem\",\"Mégsem\");
return 1;
      }
      return 1;
}
[/pawn]
És ugye a Pickup készítés, de azt most fölösleges bemásolnom.
Cím: Több dialog használata
Írta: Gentleman - 2011. november 12. - 08:48:00
A változóknak nem adtál meg értéket. A kezdõérték mindig 0 és e miatt ütköznek a dialógusok.
Én inkább definicióban adnám meg az értékeket mert az fix.
Cím: Több dialog használata
Írta: dexi - 2011. november 12. - 08:48:36
Letudnád írni légyszi hogy mit hova írjak? 
Cím: Több dialog használata
Írta: Gentleman - 2011. november 12. - 08:50:14
[pawn]
new ak;
new shot;
new dezi;
new country;
#define ak1 1
#define shot1 2
#define dezi1 3
#define country 4
[/pawn]
Cím: Több dialog használata
Írta: dexi - 2011. november 12. - 08:55:49
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid == ak1)
 {
    if(response)
     {
GivePlayerWeapon(playerid, 25, 500);
GivePlayerMoney(playerid, -1000);}
}else{//ellentétben
SendClientMessage(playerid, RED, \"Kiléptél a dialogból vásárlás nélkül.\");}
if(dialogid == shot1)
 {
    if(response)
     {
GivePlayerWeapon(playerid, 30, 500);
GivePlayerMoney(playerid, -1000);}
}else{//ellentétben
SendClientMessage(playerid, RED, \"Kiléptél a dialogból vásárlás nélkül.\");
}
}
[/pawn]
NA mostmeg ezzel vannak gondjaim...://
Cím: Több dialog használata
Írta: Gentleman - 2011. november 12. - 08:57:16
Az sorelcsúszáson kívül más hibát én nem látok. Mi a baj ezekkel?
Cím: Több dialog használata
Írta: dexi - 2011. november 12. - 09:01:01
Nem hozza be a dialogot hiába megyek rá a pickupra... viszont ha rámegyek arra amit sikerült betennem odaadja a fegyvert és Kiírja hogy kiléptem a dialogból vásárlás nélkül.
Cím: Több dialog használata
Írta: Gentleman - 2011. november 12. - 09:05:12
Idézetet írta: dexi date=1321084861\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"13294\" data-ipsquote-contentclass=\"forums_Topic
Nem hozza be a dialogot hiába megyek rá a pickupra... viszont ha rámegyek arra amit sikerült betennem odaadja a fegyvert és Kiírja hogy kiléptem a dialogból vásárlás nélkül.
 
Mivel mind ugyan azt a logikai elvet használja ezért, hogy egyik nem megy másik megy igen érdekes hiba forrás. Próbáld a betûméretes elkülönítést, tehát nyomtatott betûvel a definíciókat.
Mivel a dialog stílusát nem adtad meg ezért nem tudom, hogy az else most melyik gombra fut le vagy te, hogy szeretnéd. Kérlek annak a forrását is tüntesd fel addig segíteni nem tudok.
Cím: Több dialog használata
Írta: dexi - 2011. november 12. - 09:15:36
Az else a Mégsem gombra \"lép érvénybe\" ha minden igaz.

Dupla hozzászólás automatikusan összefûzve. ( 2011. november 12. - 10:41:08 )

Gentlemen, tudod rá a megoldást? ^-^