Szerző Téma: Nem mûködik  (Megtekintve 901 alkalommal)

Nem elérhető Rexii

  • 471
    • Profil megtekintése
Nem mûködik
« Dátum: 2013. március 30. - 13:30:34 »
0 Show voters
Sziasztok!
Az alábbi kóddal mi a gáz, tudna valaki segíteni? Nem ír errort, csak nem mûködik:
 
if(dialogid == DIALOG_BUY)
        {
            switch(listitem)
            {
                case 0:
                {
                    PlayerInfo[playerid][pCigi] = 20;
                    GetPlayerMoney(playerid);
                    GivePlayerMoney(playerid,-5);
                    SendClientMessage(playerid,ERROR,\"Vettél 20 szál cigarettát!\");
                }
                case 1:
                {
                    PlayerInfo[playerid][pGyujto] = 1;
                    GetPlayerMoney(playerid);
                    GivePlayerMoney(playerid,-3);
                    SendClientMessage(playerid,ERROR,\"Vettél 1 Öngyújtót!\");
                }
   }
        }
   }
return 0;
}

Nem mûködik
« Válasz #1 Dátum: 2013. március 30. - 13:36:03 »
+1 Show voters
Mi nem mûködik benne?
Az üzenetek se jelennek meg?
Amúgy += , és a GetPlayerMoney felesleges.

Nem elérhető Rexii

  • 471
    • Profil megtekintése
Nem mûködik
« Válasz #2 Dátum: 2013. március 30. - 13:47:20 »
0 Show voters
Az üzenetek se jelennek meg.
GetPlayerMoney-t kiszedtem
a += mit takar? :D

Nem mûködik
« Válasz #3 Dátum: 2013. március 30. - 14:02:44 »
0 Show voters
Hozzáadja az értéket a változóhoz. (tehát a meglévõ értékéhez hozzáad, míg a sima = csak beállítja az értékét)
Gyakorlatilag valami ilyesmi :
 
new
   val = 23;
val = val + 12;
eredmény = 35;
//ugyanezt érni el így is:
val += 12;

 
Akkor a dialog id nem stimmel vagy nem dialog_style_list -et használsz mivel a listitem annál mûködik.
Hogyan jeleníted meg a dialog-ot?

Nem elérhető Rexii

  • 471
    • Profil megtekintése
Nem mûködik
« Válasz #4 Dátum: 2013. március 30. - 14:06:31 »
0 Show voters
De, azt használok
 
CMD:buy(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,7.0,-23.1237,-55.3247,1003.5469))
{
ShowPlayerDialog(playerid,DIALOG_BUY,DIALOG_STYLE_LIST,\"24/7\",\"Cigi($5)\\nÖngyújtó($3)\",\"Mehet\",\"Mégse\");
}
else
{
    SendClientMessage(playerid,ERROR,\"Nem vagy 24/7-ben!\");
}
return 1;
}

Nem mûködik
« Válasz #5 Dátum: 2013. március 30. - 14:33:25 »
0 Show voters
A dialog megjelenik ha beírod a parancsot?
Ha megjelenik akkor a DIALOG_BUY dialog id-t változtasd meg mert lehet összeakad más filterscriptben lévõ dialogidvel.

Nem elérhető Rexii

  • 471
    • Profil megtekintése
Nem mûködik
« Válasz #6 Dátum: 2013. március 30. - 16:59:03 »
0 Show voters
Idézetet írta: ɐʞzssǝlosz date=1364650405\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"35460\" data-ipsquote-contentclass=\"forums_Topic
A dialog megjelenik ha beírod a parancsot?
Ha megjelenik akkor a DIALOG_BUY dialog id-t változtasd meg mert lehet összeakad más filterscriptben lévõ dialogidvel.
 
Megjelenik, és nem nyert :S

Nem mûködik
« Válasz #7 Dátum: 2013. március 30. - 17:23:30 »
0 Show voters
Akkor meg rosszul van megírva az OnDialogResponse alatti rész vagy egyszerûen nem is kerül meghívásra, az OnDialogResponse.
Enek kiderítésére írj be közvetlen alá egy SendClientMessage sort megy fel a szerverre írd be a parancsot majd klikkelj valamelyik lehetõségre és az újonnan odaírt SendClientMessage meg kell hogy jelenjen.
Ellenkezõ esetben vedd figyelembe azt hogy mint a közölt kód részletben a lezárás return 0; ami azt jelenti ennél a visszatérésnél hogy nem keresi a többi OnDialogResponse callback-et a szerver.
http://wiki.sa-mp.com/wiki/OnDialogResponse
 

Returns   Returning 0 in this callback will pass the dialog to another script in case no matching code were found in your gamemode\'s callback.[/quote]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal