Szerző Téma: /lecsuk dialogba  (Megtekintve 698 alkalommal)

/lecsuk dialogba
« Dátum: 2014. július 22. - 10:08:37 »
0 Show voters
Ü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.
« Utoljára szerkesztve: 2014. július 22. - 12:50:21 írta Dfoglalo »

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
/lecsuk dialogba
« Válasz #1 Dátum: 2014. július 22. - 16:22:44 »
+1 Show voters
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;
}

/lecsuk dialogba
« Válasz #2 Dátum: 2014. július 22. - 17:25:58 »
0 Show voters
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!
« Utoljára szerkesztve: 2014. július 23. - 13:33:28 írta Hasirama »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal