09.03.2015, 00:36
(
Последний раз редактировалось Jose_Carmona; 09.03.2015 в 02:17.
)
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid == 222 ) { case 1: { if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{DAA520}Graffiti","{FFFFFF}Enter text graffiti.\n\nMaximum number of characters: {ff0000}18","Ok","Cancel"); if(strlen(inputtext) > 18) { SendClientMessage(playerid,0xFF6800FF,"Forbidden to write more than 18 characters."); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{DAA520}Graffiti","{FFFFFF}Enter text graffiti.\n\nMaximum number of characters: {ff0000}18","Ok","Cancel"); return 1; } format(GraffitiText[playerid], 128, inputtext); ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); } else { SendClientMessage(playerid,0xFF6800FF,"Drawing graffiti canceled."); ResetVariables(playerid); } } case 2: { if(response) { switch(listitem) { case 0: ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"{DAA520}Enter color for graffiti","{ffffff}White\n{ff0000}Red\n{228B22}Green\n{FFFF00}Yellow\n{104E8B}Blue\n{009ACD}Lightblue\n{696969}Grey","Ok","Go back"); case 1: ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{DAA520}Enter HEX code for graffiti","{ffffff}Enter your HEX code for graffiti\n\nList of HEX codes - {DAA520}http://en.wikipedia.org/wiki/Help:Using_colours","Ok","Go back"); } } else { ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{DAA520}Graffiti","{FFFFFF}Enter text graffiti.\n\nMaximum number of characters: {ff0000}18","Ok","Cancel"); } } case 3: { if(response) { if(listitem == 0) { Color = "FFFFFF"; } else if(listitem == 1) { Color = "FF0000"; } else if(listitem == 2) { Color = "228B22"; } else if(listitem == 3) { Color = "FFFF00"; } else if(listitem == 4) { Color = "104E8B"; } else if(listitem == 5) { Color = "009ACD"; } else if(listitem == 6) { Color = "696969"; } format(GraffitiColor[playerid], 32, Color); ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"{DAA520}Select the font for graffiti","{ffffff}Font 1 {4682B4}[Urban Riot]\n{ffffff}Font 2 {4682B4}[Bombing]\n{ffffff}Font 3 {4682B4}[Impact]\n{ffffff}Font 4 {4682B4}[Los Santos]\n{ffffff}Font 5 {4682B4}[Gangland Style]","Ok","Go back"); } else { ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); } } case 4: { if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); if(strlen(inputtext) != 6) { SendClientMessage(playerid,0xFF6800FF,"You entered incorrect HEX code."); ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); return 1; } format(GraffitiColor[playerid], 32, inputtext); ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"{DAA520}Select the font for graffiti","{ffffff}Font 1 {4682B4}[Urban Riot]\n{ffffff}Font 2 {4682B4}[Bombing]\n{ffffff}Font 3 {4682B4}[Impact]\n{ffffff}Font 4 {4682B4}[Los Santos]\n{ffffff}Font 5 {4682B4}[Gangland Style]","Ok","Go back"); } else { ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); } } case 5: { if(response) { if(listitem == 0) { Font = "Urban Riot"; GraffitiSize[playerid] = 40; } else if(listitem == 1) { Font = "Bombing"; GraffitiSize[playerid] = 48; } else if(listitem == 2) { Font = "Impact"; GraffitiSize[playerid] = 48; } else if(listitem == 3) { Font = "Los Santos"; GraffitiSize[playerid] = 36; } else if(listitem == 4) { Font = "Gangland Style"; GraffitiSize[playerid] = 18; } format(GraffitiFont[playerid], 32, Font); ShowPlayerDialog(playerid,6,DIALOG_STYLE_LIST,"{DAA520}Action font","View font\nSelect the font","Ok","Go back"); } else { ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{DAA520}Selects how to display color","{ffffff}Enter from list\nEnter HEX code manually","Ok","Go back"); } } case 6: { switch(listitem) { case 0: { if(response) { new Float:x, Float:y, Float:z, string[64]; format(string, 128, "{%s}%s", GraffitiColor[playerid], GraffitiText[playerid]); GetPlayerPos(playerid, x,y,z); ShowFont[playerid] = CreateDynamicObject(19482, x+0.5, y, z, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), playerid, 200); SetDynamicObjectMaterialText(ShowFont[playerid], 0, string, OBJECT_MATERIAL_SIZE_256x256, GraffitiFont[playerid], GraffitiSize[playerid], 0, 0xFFFFFFFF, 0, 1); SendClientMessage(playerid,-1,"Near you set text with the selected settings, which will be seen for five seconds."); SetPlayerPos(playerid, x+0.1,y,z); DeleteObjectTimer[playerid] = SetTimerEx("DeleteObject",5000,false,"i",playerid); } else { ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"{DAA520}Select the font for graffiti","{ffffff}Font 1 {4682B4}[Urban Riot]\n{ffffff}Font 2 {4682B4}[Bombing]\n{ffffff}Font 3 {4682B4}[Impact]\n{ffffff}Font 4 {4682B4}[Los Santos]\n{ffffff}Font 5 {4682B4}[Gangland Style]","Ok","Go back"); } } case 1: { CreateGraffiti(playerid); } } } } return 1; }
LO QUE PASA ES QUE SOLAMENTE COLOCO EL TEXTO y luego sigue lo de el color, cuando selecciono alguno no sigue mas se sale.