/lecsuk dialogba

Indította Hasirama, 2014. július 22. - 10:08:37

Előző téma - Következő téma

Hasirama

Üdv mindenkinek!
Azt hogy lehetne megoldani, hogy beírjuk, hogy /lecsuk, akkor behoz egy INPUT dialogot, ahová a játékos nevét/ID-jét írjuk, ha ez jó, akkor tovább megy, és behoz egy LIST dialogot, ahol elõre megadott indokok közül kell választani, ha ez is megvan, akkor behoz ismét egy INPUT dialogot, ahová az idõt kell percbe megadni.
Ebbõl nagyjából az elsõt megcsináltam, de a többit nem tudom kiokoskodni.

jana4

Kissé gány munkát végeztem, ez nem rám vall, nincs is tesztelve, sokkal jobban is megírható ez a kis kód.

Kérlek teszteld le, és írd le, hogy mi a probléma.


Az alábbi kódot Pedró kollégával raktuk össze.

 

#include a_samp
#include zcmd
#define LECSUK       6666
#define LECSUKK     6667
#define LECSUKKK    6668
new pID[MAX_PLAYERS] = {-1, ...};
CMD:lecsuk(playerid, params[])
{
ShowPlayerDialog(playerid, LECSUK, DIALOG_STYLE_INPUT, \"/lecsuk\", \"Kit szeretnél lecsukni? Add meg a játékos ID-jét!\", \"Mehet\", \"\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == LECSUK && response == 1)
{
pID[playerid] = strval(inputtext);
ShowPlayerDialog(playerid, LECSUKK, DIALOG_STYLE_LIST, \"Indok?\", \"Indok1\\nIndok2\\nIndok3\", \"Mehet\", \"\");
return 1;
}
if(dialogid == LECSUKK && response == 1)
{
SetPVarString(playerid, \"LecsukIndok\", inputtext);
ShowPlayerDialog(playerid, LECSUKKK, DIALOG_STYLE_INPUT, \"/lecsuk\", \"Percet írj be.\", \"Mehet\", \"\");
return 1;
}
if(dialogid == LECSUKKK && response == 1)
{
    new minuten = strval(inputtext);
SetPlayerPos(playerid, 1.0, 1.0, 1.0); // Börtön koordináták!
new string[256];
GetPVarString(playerid, \"LecsukIndok\", string, 256);
format(string, 128, \"%s lecsukta %s -t. Indok: %s\", GetPlayerNameEx(playerid), GetPlayerNameEx(pID[playerid]), string);
SetTimerEx(\"Kienged\", minuten*60000, false, \"i\", playerid);
    pID[playerid] = -1;
    return 1;
}
return 0;
}
public Kienged(playerid);
public Kienged(playerid)
{
SetPlayerPos(playerid, 2.0, 2.0, 2.0); // Szabadon bocsátás pozíciója
return 1;
}
stock GetPlayerNameEx(playerid)
{
new n[24];
GetPlayerName(playerid, n, 24);
return n;
}

Hasirama

#2
Hát nem tudom. Beraktam, de amikor beírom a játékos ID-t, nem történik semmi sem.

Dupla hozzászólás automatikusan összefûzve. ( 2014. július 23. - 13:33:28 )

Elnézést, a script teljesen jól üzemel, én kuszáltam össze egy másik scriptel:D
Köszönöm szépen a segítséget!