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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: SuBaRu - 2012. Március 14. - 11:13:30

Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: SuBaRu - 2012. Március 14. - 11:13:30
hello all
unatkoztam ezért gondoltam csinálok egy
EnterVehicle Üzenetett
ki jön egy dialog és kirja h mik a parancsok:
KÉP:http://kepfeltoltes.hu/view/120314/sa-mp-000_www.kepfeltoltes.hu_.png
Kod:
[pawn]public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
ShowPlayerDialog(playerid,9,DIALOG_STYLE_MSGBOX,\".::Kocsi::.\",\"{FFFF00}==>{FFFFFF}Beszáltál egy Jármûbe Parancsok{FFFF00}<==\\n\\n{FFFF00}2-es {FFFFFF}Kocsi Javitása\\n{FFFF00}/tuning  {FFFFFF}Kocsi Tuningolása\\n{FFFF00}/lock {FFFFFF}kocsi Lezárása\\n{FFFF00}/unlock {FFFFFF}Kocsi Kinyitása\",\"Go\",\"Go\");
return 0;
}[/pawn]
By SuBaRu
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: Popec16 - 2012. Március 14. - 11:18:40
Nem rossz kis script, de zavaró lehet ezért csinálj egy bool változót aminek ugyebár true vagy false az értéke, ha már egyszer megjelenítette többször már ne jelenetíse meg csak parancsra, dobsz elé egy if-t és ha a bool változód értéke true akkor megjeleneíti, és kész is van a csodás script! :D
Mellesleg nem rossz ötlet, hajrá csak így tovább folytasd a scriptelést! :)
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: SuBaRu - 2012. Március 14. - 11:19:46
Nem rossz kis script, de zavaró lehet ezért csinálj egy bool változót aminek ugyebár true vagy false az értéke, ha már egyszer megjelenítette többször már ne jelenetíse meg csak parancsra, dobsz elé egy if-t és ha a bool változód értéke true akkor megjeleneíti, és kész is van a csodás script! :D
Mellesleg nem rossz ötlet, hajrá csak így tovább folytasd a scriptelést! :)
[/quote]
köszi még kezdõ vagyok nem nagyon értek az ilyenekhez ha tudnáll benne segiteni megköszöném
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: CANNONN - 2012. Március 14. - 11:28:48
Jó lett ez, így tovább.
Itt elég részletesen le van írva.
http://www.bbehosting.hu/index.php?option=com_content&view=article&id=94&Itemid=172
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: SuBaRu - 2012. Március 14. - 11:35:39
Jó lett ez, így tovább.
Itt elég részletesen le van írva.
http://www.bbehosting.hu/index.php?option=com_content&view=article&id=94&Itemid=172
[/quote]
köszi
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: Popec16 - 2012. Március 14. - 11:55:58
Idézetet írta: SuBaRu date=1331720386\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18459\" data-ipsquote-contentclass=\"forums_Topic

Nem rossz kis script, de zavaró lehet ezért csinálj egy bool változót aminek ugyebár true vagy false az értéke, ha már egyszer megjelenítette többször már ne jelenetíse meg csak parancsra, dobsz elé egy if-t és ha a bool változód értéke true akkor megjeleneíti, és kész is van a csodás script! :D
Mellesleg nem rossz ötlet, hajrá csak így tovább folytasd a scriptelést! :)
köszi még kezdõ vagyok nem nagyon értek az ilyenekhez ha tudnáll benne segiteni megköszöném
 
[/quote]
Kb fél éve- éve nem nyúltam pawnohoz, de ha nagyon rászorulsz segítek az a baj rengeteg függvényt elfelejtettem, de lényegében ez fejbõl írom lehet hogy hibás javítsatok ha buta vagyok! :D
new bool:valtozonev[MAX_PLAYERS];
És ennek a változónak adunk értéket alapból false az az hamis az értéke, ha már egyszer rákattintott a játékos a \"GO\"-ra akkor a bool valtozó értékét tegyük igazra az az:
valtozonev[playerid] = true;
Ha a bool típusú változónk hamis akkor jelenítse meg ezt a dialógust, természetesen ide egy ágú feltételre van szükségünk felesleges több ágúra mert csak 1 lehetõséget akarunk szûrni tehát nem kell \"különben\" (else) ág.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (valtozonev[playerid] == false){
ShowPlayerDialog(playerid,9,DIALOG_STYLE_MSGBOX,\".::Kocsi::.\",\"{FFFF00}==>{FFFFFF}Beszáltál egy Jármûbe Parancsok{FFFF00}<==\\n\\n{FFFF00}2-es {FFFFFF}Kocsi Javitása\\n{FFFF00}/tuning  {FFFFFF}Kocsi Tuningolása\\n{FFFF00}/lock {FFFFFF}kocsi Lezárása\\n{FFFF00}/unlock {FFFFFF}Kocsi Kinyitása\",\"Go\",\"Go
}
return 0;
   }
Az az ha igaz a bool változónk értéke akkor nem jelenik meg a dialógus, ha hamis az értéke megjelenik.
De miközben megcsináltam ezt rájöttem, hogy rossz megoldás de mûködõ képes .
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: SuBaRu - 2012. Március 14. - 12:16:36
és ha már egyszer ki jött neki legközelebb nem jön ki?
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: Flash - 2012. Március 14. - 12:25:35
Szerintem, úgy jobb lenne ha már beszált az illetõ a jármûbe, és akkor jelenne meg.
Egyébként jó kis kód. :)
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: SuBaRu - 2012. Március 14. - 12:26:52
Szerintem, úgy jobb lenne ha már beszált az illetõ a jármûbe, és akkor jelenne meg.
Egyébként jó kis kód. :)
[/quote]
köszi és ugy akkartam csak arr még nem jöttem rá hogy kell
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: Flash - 2012. Március 14. - 12:30:09
Asszem:
 
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // Ez amikor vezetõként ül be.
{
ShowPlayerDialog(playerid,9,DIALOG_STYLE_MSGBOX,\".::Kocsi::.\",\"{FFFF00}==>{FFFFFF}Beszáltál egy Jármûbe Parancsok{FFFF00}<==\\n\\n{FFFF00}2-es {FFFFFF}Kocsi Javitása\\n{FFFF00}/tuning  {FFFFFF}Kocsi Tuningolása\\n{FFFF00}/lock {FFFFFF}kocsi Lezárása\\n{FFFF00}/unlock {FFFFFF}Kocsi Kinyitása\",\"Go\",\"Go\");
}
return 1;
}

 
Ha azt szeretnéd, hogy az összes ülésen jelenjen meg akkor: PLAYER_STATE_ONFOOT
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: CANNONN - 2012. Március 14. - 12:33:59
Pöpec, nem inkább?
 

new bool:valtozonev;
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (valtozonev[playerid] == false) return ShowPlayerDialog(playerid,9,DIALOG_STYLE_MSGBOX,\"Valami\",\"Valami\",\"ok\",\"\"), valtozonev[playerid] = true;
else ShowPlayerDialog(playerid,9,DIALOG_STYLE_MSGBOX,\"Valami\",\"Már megnézted a valamit.\",\"ok\",\"\");
      return 0;
}

 
A DIALOG_STYLE_MSGBOX helyett DIALOG_STYLE_LIST kell a te példádba.
A Callback elõtt kérted le a változó értékét.
Cím: OnPlayerEnterVehicle ||| DIALOG_STYLE_MSGBOX ||| Stilusba
Írta: Popec16 - 2012. Március 14. - 12:55:57
Jézusom de suta vagyok, de természetesen úgy kell ahogy ti csináltátok, elég hülye megoldás volt így az enyém szerkesztem is!:)