ShowPlayerDialog(playerid, RLeader, DIALOG_STYLE_LIST, \"Rendõr Leader Kezelõ Felület.\", \"Rendõr Felvétel\\nFõnökös Rang\\nRendõr Kirúg\", \"Ok\", \"Mégse\");
DIALOG_STYLE_INPUT
if(strcmp(cmd, \"/rendõr\", true) == 0 || strcmp(cmd, \"/rendõr\", true) == 0){ if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /rendõr [JátékosID/NévRészlet]\"); return 1; } new para1; para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); if (PlayerInfo[playerid][pLeader] == 1 || Admin(playerid, 4)) { if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { if(PlayerInfo[para1][pMember] > 0) { SendClientMessage(playerid, COLOR_GREY, \"A játékosnak már van leaderes munkája!\"); return 1; } GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[para1][pMember] = 1; PlayerInfo[para1][pRank] = 1; format(string, sizeof(string), \"%s felvett rendõrnek!\", sendername); SendClientMessage(para1, 0x33CCFFAA, string); format(string, sizeof(string), \"Felvetted %s rendõrnek.\", rag(giveplayer,3)); SendClientMessage(playerid, 0x33CCFFAA, string); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), \"<< %s felvette %s a rendõrségbe >>\", sendername, rag(giveplayer,3)); SendFAdminMessage(COLOR_ADMIN,string); SetPlayerColor(para1, 0x3399FF); if(PlayerInfo[para1][pSex] == 1) { PlayerInfo[para1][Munkaruha1] = 280; SetPlayerSkin(para1,280); } if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][Munkaruha1] = 192; SetPlayerSkin(para1,192); } new nev[32]; GetPlayerName(playerid, nev, sizeof(nev)); new h,mi,s,y,m,d; getdate(y,m,d); gettime(h,mi,s); format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s felvette %s rendõrnek.\",y,m,d,h,mi,s,nev,rag(giveplayer,3)); LoOoG(stringx); } }//not connected } else { SendClientMessage(playerid, COLOR_GRAD1, \"Nem vagy rendõrfõnök!\"); }}return 1;}
#define RLeader2 55 //input dialóg azonosító
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == RLeader) { if(response) if(listitem == 0) //ha kiválasztja a \"Rendõr Felvétel\" -t { ShowPlayerDialog(playerid, RLeader2, DIALOG_STYLE_INPUT, \"Rendõr Felvétel\", \"Add meg az ID-t, akit felszeretnél venni.\", \"Rendben\",\"Mégse\"); } } if(dialogid == RLeader2) //ID beírás { if(response) { SetPVarInt(playerid, \"felvettID\", strval(inputtext)); //ID elmentése amit beír [by Virgonc]} } return 1;}
format(string, sizeof(string), \"[RENDÕR FELVÉTEL] id:%d mostantól a Rendõrség tagja.\", GetPVarInt(playerid, \"felvettID\");SendClientMessageToAll(0xB3D5B2AA, string);
if(response) { SetPVarInt(playerid, \"felvettID\", strval(inputtext)); //ID elmentése amit beír [by Virgonc] <--- Ez alá? }
Az a baj, hogy összekavarodok a sok if-ben, meg alapból távol áll tõlem az strcmp de egyébként igen oda kell. (csak nem az összeset)Konkrétan hogyan akarod? Beírja az illetõ a /rendõr parancsot és elõhozza azt a DIALOG_STYLE_LIST -et és akkor lehessen választani a 3 opció közül?
#include <a_samp>#define RLeader 54#define RLeader2 55#define COLOR_RED 0xAA3333AA#define COLOR_GREY 0xAFAFAFAApublic OnPlayerCommandText(playerid, cmdtext[]){ new cmd[256]; if(strcmp(cmd, \"/rendõr\", true) == 0 || strcmp(cmd, \"/rendõr\", true) == 0) { if(PlayerInfo[playerid][pLeader] == 1 || Admin(playerid, 4)) { ShowPlayerDialog(playerid, RLeader, DIALOG_STYLE_LIST, \"Rendõr Leader Kezelõ Felület.\", \"Rendõr Felvétel\\nFõnökös Rang\\nRendõr Kirúg\", \"Ok\", \"Mégse\"); } else { SendClientMessage(playerid, COLOR_GRAD1, \"Nem vagy rendõrfõnök!\"); } } return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == RLeader) { if(response) if(listitem == 0) //Rendõr Felvétel { ShowPlayerDialog(playerid, RLeader2, DIALOG_STYLE_INPUT, \"Rendõr Felvétel\", \"Add meg az ID-t, akit felszeretnél venni.\", \"Rendben\",\"Mégse\"); } if(listitem == 1) //Fõnökös Rang { //script //script //script } if(listitem ==2) //Rendõr Kirúg { //script //script //script } } if(dialogid == RLeader2) //Rendõr Felvétel - ID beírás { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,COLOR_RED,\"Ez a játékos nem elérhetõ.\"); if(PlayerInfo[strval(inputtext)][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, \"A játékosnak már van leaderes munkája!\"); SetPVarInt(playerid, \"felvettID\", strval(inputtext)); //ID elmentése amit beír [by Virgonc] GetPlayerName(GetPVarInt(playerid, \"felvettID\", giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[GetPVarInt(playerid, \"felvettID\")][pMember] = 1; PlayerInfo[GetPVarInt(playerid, \"felvettID\"][pRank] = 1; format(string, sizeof(string), \"%s felvett rendõrnek!\", sendername); SendClientMessage(GetPVarInt(playerid, \"felvettID\", 0x33CCFFAA, string); format(string, sizeof(string), \"Felvetted %s rendõrnek.\", rag(giveplayer,3)); SendClientMessage(playerid, 0x33CCFFAA, string); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), \"<< %s felvette %s a rendõrségbe >>\", sendername, rag(giveplayer,3)); SendFAdminMessage(COLOR_ADMIN,string); SetPlayerColor(GetPVarInt(playerid, \"felvettID\", 0x3399FF); if(PlayerInfo[GetPVarInt(playerid, \"felvettID\"][pSex] == 1) { PlayerInfo[GetPVarInt(playerid, \"felvettID\"][Munkaruha1] = 280; SetPlayerSkin(GetPVarInt(playerid, \"felvettID\",280); } if(PlayerInfo[GetPVarInt(playerid, \"felvettID\"][pSex] == 2) { PlayerInfo[GetPVarInt(playerid, \"felvettID\"][Munkaruha1] = 192; SetPlayerSkin(GetPVarInt(playerid, \"felvettID\",192); } new nev[32]; GetPlayerName(playerid, nev, sizeof(nev)); new h,mi,s,y,m,d; getdate(y,m,d); gettime(h,mi,s); format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s felvette %s rendõrnek.\",y,m,d,h,mi,s,nev,rag(giveplayer,3)); LoOoG(stringx); } } return 1;}
#include <a_samp>new dialog1 = 101; //IGEN változóként adtam meg különben kb. semmi reakciót nem adott ki magábólnew dialog2 = 102; // eléggé rühellem a dialógokat de mivel senki más nem segít ezért én megteszem arra figyelj ne ütközzön másik dialigid-velpublic OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\" Dialog Test\");print(\"--------------------------------------\\n\");return 1;}public OnFilterScriptExit(){return 1;}public OnPlayerCommandText(playerid, cmdtext[]){if (strcmp(\"/showdialog\", cmdtext, true, 10) == 0) //ez az ami elõhozza a menüdet{ShowPlayerDialog(playerid, dialog1, DIALOG_STYLE_LIST, \"Rendõr Leader Kezelõ Felület.\", \"Rendõr Felvétel\\nFõnökös Rang\\nRendõr Kirúg\", \"Ok\", \"Mégse\");return 1;}if (strcmp(\"/showdialog2\", cmdtext, true, 10) == 0) //ezt csak magamnak teszteléshez csináltam törölheted{ShowPlayerDialog(playerid, dialog2, DIALOG_STYLE_INPUT, \"Tag felvétel\", \"Kérem adja meg a személy azonosítóját (ID)\", \"Ok\", \"Mégse\"); return 1;}return 0;} public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){if(response) {if(dialogid == dialog1) { // megnézzük hogy a dialogid-je 1-es e if(listitem == 0) //ha igen megnézzük a választott menüpontot { ShowPlayerDialog(playerid, dialog2, DIALOG_STYLE_INPUT, \"Tag felvétel\", \"Kérem adja meg a személy azonosítóját (ID)\", \"Ok\", \"Mégse\"); // inputos rész } return 1; }if (dialogid == dialog2) { //inputos dialogid-jét nézi hogy az eif(strlen(inputtext) != 0 ) //megnézzük írtak e bele valamit{new id = strval(inputtext); // az a stringet kicsit belevarázsoljuk az id , egész számos változóbaSendClientMessage(id,0xAA3333AA,\"MÜXIK BANYEK!!\"); // és ha minden jól ment és a saját id-det írtad be megkaptad ezt az üzit}return 1;}}return 1;}