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: Hasirama - 2014. július 22. - 10:08:37

Cím: /lecsuk dialogba
Írta: Hasirama - 2014. július 22. - 10:08:37
Ü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.
Cím: /lecsuk dialogba
Írta: jana4 - 2014. július 22. - 16:22:44
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;
}
Cím: /lecsuk dialogba
Írta: Hasirama - 2014. július 22. - 17:25:58
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!