Problema en un dialog
#1

tengo un pequeсo problema en un dialog que ya me tiene cansado, (en un dialog estilo input) escriben esto, "0.1s {00FFFF}" y automбticamente se cae. (se cierra)
Reply
#2

Tra el codigo del dialogo para analizarlo, sin codigo no se puede ayudar amigo.
Reply
#3

este es el comando de anuncio (es un dialog de poner anuncios)
Код:
CMD:ad(playerid, params[]) return SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}[INFO]:{FFFFFF} El comando /ad ha sido removido, usa /ads");
CMD:ads(playerid, params[]) return cmd_anuncios(playerid, params);
CMD:anuncios(playerid, params[]) {
	//if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
	//{
	if(gPlayerLogged{playerid} == 0) {
		SendClientMessageEx(playerid, COLOR_WHITE, "No has ingresado al servidor correctamente.");
	}
	else if(GetPVarType(playerid, "Injured") == 1) {
		SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer anuncios mientras estбs herido.");
	}
	else if(Info[playerid][pEstado] != 0) {
		SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer anuncios en este momento.");
	}
	else if(Info[playerid][pJailTime] > 0) {
		SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer anuncios en prisiуn.");
	}
	else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{A2DC35}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
	//}
	//else SendClientMessageEx(playerid, COLOR_GREY, "No estбs en la posiciуn correcta para hacer una anuncio.");
	return 1;
}
este es el dialog y los que se relacionan con el:
Код:
case DIALOG_ADMAIN: if(response) switch(listitem)
		{
			case 0:
			{
				if(Info[playerid][pADMute] == 1) return SendClientMessageEx(playerid, COLOR_GREY, "Estбs prohibido de hacer anuncios.");
				if(Info[playerid][pPnumber] == 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes un telйfono.");
				if(iAdverTimer >= 1)
				{
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
                    new szerror[128];
					format(szerror, sizeof(szerror), "Sуlo se puede enviar un anuncio global cada 1 Minuto, faltan %d segundos.", iAdverTimer);
					return SendClientMessageEx(playerid, COLOR_GREY, szerror);
				}
				else SafeDialogEx(playerid, DIALOG_ADPLACEP, DIALOG_STYLE_INPUT, "{00F70C}Anuncios - Compra Venta","Ingresa el de anuncio, recuerda que los anuncios son exclusivamente para compra y venta\nNota: Tamaсo del texto sуlo serб mбximo 128 Letras.\nNota: Este anuncio se harб desde SA News y el costo es de $8", "Enviar", "Atrбs");
			}
			case 1:
			{
				if(Info[playerid][pADMute] == 1) return SendClientMessageEx(playerid, COLOR_GREY, "Estбs prohibido de hacer anuncios.");
				if(Info[playerid][pPnumber] == 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes un telйfono.");
				if(iAdverTimer >= 1)
				{
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
                    new szerror[128];
					format(szerror, sizeof(szerror), "Sуlo se puede enviar un anuncio global cada 1 Minuto, faltan %d segundos.", iAdverTimer);
					return SendClientMessageEx(playerid, COLOR_GREY, szerror);
				}
				else SafeDialogEx(playerid, DIALOG_ADPLACEP2, DIALOG_STYLE_INPUT, "{00F70C}Anuncios - Clasificados","Ingresa el anuncio, recuerda que los anuncios son exclusivamente para clasificados\nNota: Tamaсo del texto sуlo serб mбximo 128 Letras.\nNota: Este anuncio se harб desde SA News y el costo es de $10", "Enviar", "Atrбs");
			}
			case 2:
			{
				if(Info[playerid][pADMute] == 1) return SendClientMessageEx(playerid, COLOR_GREY, "Estбs prohibido de hacer anuncios.");
				if(Info[playerid][pPnumber] == 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes un telйfono.");
				if(iAdverTimer >= 1)
				{
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
                    new szerror[128];
					format(szerror, sizeof(szerror), "Sуlo se puede enviar un anuncio global cada 1 Minuto, faltan %d segundos.", iAdverTimer);
					return SendClientMessageEx(playerid, COLOR_GREY, szerror);
				}
				else SafeDialogEx(playerid, DIALOG_ADPLACEP3, DIALOG_STYLE_INPUT, "{00F70C}Anuncios - Empleo","Ingresa el anuncio, recuerda que los anuncios son exclusivamente para busqueda de trabajo\nNota: Tamaсo del texto sуlo serб mбximo 128 Letras.\nNota: Este anuncio se harб desde SA News y el costo es de $10", "Enviar", "Atrбs");
			}
			case 3:
			{
				if(Info[playerid][pADMute] == 1) return SendClientMessageEx(playerid, COLOR_GREY, "Estбs prohibido de hacer anuncios.");
				if(Info[playerid][pPnumber] == 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes un telйfono.");
				if(iAdverTimer >= 1)
				{
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
                    new szerror[128];
					format(szerror, sizeof(szerror), "Sуlo se puede enviar un anuncio global cada 1 Minuto, faltan %d segundos.", iAdverTimer);
					return SendClientMessageEx(playerid, COLOR_GREY, szerror);
				}
				else SafeDialogEx(playerid, DIALOG_ADPLACEP4, DIALOG_STYLE_INPUT, "{00F70C}Anuncios - Extras","Ingresa el anuncio, recuerda que los anuncios son exclusivamente para extras y noticias\nNota: Tamaсo del texto sуlo serб mбximo 128 Letras.\nNota: Este anuncio se harб desde SA News y el costo es de $15", "Enviar", "Atrбs");
			}
		}
		case DIALOG_ADPLACE:{
			if(response){
				new
					iLength = strlen(inputtext);
				if(Info[playerid][pAdverID] != -1) return SendClientMessageEx(playerid, COLOR_GREY, "Ya hiciste un anuncio, primero borra el anterior.");
				if(isnull(inputtext)){
				    SafeDialogEx(playerid, DIALOG_ADPLACE, DIALOG_STYLE_INPUT, "{00F70C}Anuncios - Hacer Anuncio", "Ingresa el anuncio que dejarбs, recuerda que los anuncios son exclusivamente para compra y venta\nNota: Tamaсo del texto sуlo serб mбximo 128 Letras", "Enviar", "Atrбs");
				    return SendClientMessageEx(playerid, COLOR_GREY, "No ingresaste nada.");
				}
				if(strlen(inputtext) >= 128){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Lista de Anuncios\nBuscar Anuncios\nPoner un Anuncio\nBorrar Anuncio\nPoner un Anuncio Rбpido", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "Ingresaste un anuncio con mбs de 128 Letras.");
				}
				if(strfind(inputtext, "%.", true))
				{
				    return SendClientMessage(playerid, COLOR_RED, "No puedes usar ese carбcter");
				}
				else if(strfind(inputtext, "{", true))
				{
				    return SendClientMessage(playerid, COLOR_RED, "No puedes usar ese carбcter");
				}
				
				iLength *= 5;
				if(GetPlayerCash(playerid) < iLength) return SendClientMessageEx(playerid, COLOR_GREY, "No tienes suficiente dinero para pagar el anuncio.");
				GivePlayerCash(playerid, -iLength);
				SendAD(playerid, inputtext, Info[playerid][pPnumber]);
				SendClientMessageEx(playerid, COLOR_WHITE, "Felicitaciones tu anuncio saldrб en la lista.");
			}
			else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Lista de Anuncios\nBuscar Anuncios\nPoner un Anuncio\nBorrar Anuncio\nPoner un Anuncio Rбpido", "Seleccionar", "Cancelar");
		}
  		case DIALOG_ADPLACEP:{
			if(response){
				if(GetPlayerCash(playerid) < 100){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "No tienes dinero para hacer este anuncio.");
				}
				else if(strlen(inputtext) >= 128){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "Ingresaste un anuncio con mбs de 128 Letras.");
				}
				iAdverTimer = 60;
				GivePlayerCash(playerid, -200);
				new
					szMessage[255];
                new st[128];
				format(szMessage, sizeof(szMessage), "[Compra-Venta]: %s {00FFFF}[Contacto(%i)]", inputtext, Info[playerid][pPnumber]);
				OOCNews(TEAM_GROVE_COLOR,szMessage);
				format(st,128,"[Anunciante]: %s (%d)",GetPlayerNameEx(playerid),playerid);
				SendAdminMessage(COLOR_GREY,st);
				return PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
			}
			else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
		}
		case DIALOG_ADPLACEP2:{
			if(response){
				if(GetPlayerCash(playerid) < 100){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "No tienes dinero para hacer este anuncio.");
				}
				else if(strlen(inputtext) >= 128){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "Ingresaste un anuncio con mбs de 128 Letras.");
				}
				iAdverTimer = 60;
				GivePlayerCash(playerid, -200  );
				new
					szMessage[255];
                new st[128];
				format(szMessage, sizeof(szMessage), "[Clasificados]: %s {00FFFF}[Contacto(%i)]", inputtext, Info[playerid][pPnumber]);
				OOCNews(TEAM_GROVE_COLOR,szMessage);
                format(st,128,"[Anunciante]: %s (%d)",GetPlayerNameEx(playerid),playerid);
				SendAdminMessage(COLOR_GREY,st);
				return PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
			}
			else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
		}
		case DIALOG_ADPLACEP3:{
			if(response){
				if(GetPlayerCash(playerid) < 50){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "No tienes dinero para hacer este anuncio.");
				}
				else if(strlen(inputtext) >= 128){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "Ingresaste un anuncio con mбs de 128 Letras.");
				}
				iAdverTimer = 60;
				GivePlayerCash(playerid, -50);
				new
					szMessage[255];
				new st[128];
				format(szMessage, sizeof(szMessage), "[Empleos]: %s {00FFFF}[Contacto(%i)]", inputtext, Info[playerid][pPnumber]);
				OOCNews(TEAM_GROVE_COLOR,szMessage);
				format(st,128,"[Anunciante]: %s (%d)",GetPlayerNameEx(playerid),playerid);
				SendAdminMessage(COLOR_GREY,st);
				return PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
			}
			else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
		}
		case DIALOG_ADPLACEP4:{
			if(response){
				if(GetPlayerCash(playerid) < 500){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "No tienes dinero para hacer este anuncio.");
				}
				else if(strlen(inputtext) >= 128){
					SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
					return SendClientMessageEx(playerid, COLOR_GREY, "Ingresaste un anuncio con mбs de 128 Letras.");
				}
				iAdverTimer = 60;
				GivePlayerCash(playerid, -500);
				new
					szMessage[255];
				new st[128];
				format(szMessage, sizeof(szMessage), "[Extras]: %s {00FFFF}[Contacto(%i)]", inputtext, Info[playerid][pPnumber]);
				OOCNews(TEAM_GROVE_COLOR,szMessage);
                format(st,128,"[Anunciante]: %s (%d)",GetPlayerNameEx(playerid),playerid);
				SendAdminMessage(COLOR_GREY,st);
				return PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
			}
			else SafeDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "{00F70C}Anuncios", "Compra Venta\nClasificados\nEmpleo\nExtras", "Seleccionar", "Cancelar");
		}
Reply
#4

Agrega crashdetect https://github.com/Zeex/samp-plugin-...ases/tag/v4.13
Compila en modo prueba de errores: https://github.com/Zeex/samp-plugin-...ith-debug-info

Intenta tambiйn aсadir esto.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(!isnull(inputtext))
    {
        if(strfind(inputtext, "%s", true) != -1)
        {
            Kick(playerid);
            return 1;
        }
    }
    ...
Reply
#5

Mucho codigo te recomiendo poner solo lo necesario y directo, se mas conciso la mayoria de nosotros no tenemos mucho tiempo como para estar una hora analizando tanto codigo que en muchos casos esos codigos no tienen nada que ver con tu problema, indicanos porfavor cual es el error y en donde se produce justamente, gracias.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)