09.06.2017, 20:58
Buenas tardes es que tengo un problema con un textdrawclickeable, al darle en alguna opcion no abre ningъn dialogo como deberнa pasar.
їalguna soluciуn?
їalguna soluciуn?
Код:
if(booleano[npcUse]{playerid})
{
new iAtc = entero[playerid][eActId];
if(clickedid == nonplayers[iAtc][interfaz][5])
{
switch(iAtc)
{
case 20:
{
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Hasta luego culo sucio!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
}
case 31:
{
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Viva Iуsif Stalin! Viva la fuerza roja comunista!!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
}
default:
{
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Hasta luego!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
}
}
nonplayers[iAtc][npcUtil] = 0;
booleano[npcUse]{playerid} = false;
CancelSelectTextDraw(playerid);
for(new ind=0;ind<6;ind++) TextDrawHideForPlayer(playerid, nonplayers[iAtc][interfaz][ind]);
return 1;
}
for(new i=0;i<sizeof(nonplayers);i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, nonplayers[i][npcPos][0], nonplayers[i][npcPos][1], nonplayers[i][npcPos][2]))
{
if(nonplayers[i][npcUtil] > gettime())
{
if(clickedid == nonplayers[i][interfaz][1])
{
switch(i)
{
case 0 .. 2://banqueros
{
if(cuenta[playerid][cCobro])
{
format(string, sizeof(string), "»{FFFFFF} Faltan %d minutos para el subsidio.", PayDayLeft);
Mensaje(playerid, COLOR_AZUL_CLARO, string);
}
else
{
PayDay(playerid);
}
}
case 3 .. 4://Ayuntamiento
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_IMPUESTO_CASAS, DIALOG_STYLE_LIST, "Pagar impuestos de sus casas", "{008000}[*]{FFFFFF} Primer Casa\n{008000}[*]{FFFFFF} Segunda Casa {E4A54D}[VIP]", "Aceptar", "Salir");
}
case 5:
{
if(!cuenta[playerid][cIdentificacion])
{
iAtc = entero[playerid][eActId];
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Llene sus datos!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
nonplayers[iAtc][npcUtil] = 0;
booleano[npcUse]{playerid} = false;
CancelSelectTextDraw(playerid);
for(new ind=0;ind<6;ind++) TextDrawHideForPlayer(playerid, nonplayers[iAtc][interfaz][ind]);
DniValores[playerid][0] = 1;
DniValores[playerid][1] = 100000 + random(999999);
cuenta[playerid][cOrigen] = 1;
cuenta[playerid][cSexo] = 1;
cuenta[playerid][cEdad] = 21;
booleano[_ComprandoDNI]{playerid} = true;
PlayerTextDrawShow(playerid, InfoText[playerid][5]);
PlayerTextDrawShow(playerid, InfoText[playerid][6]);
PlayerTextDrawShow(playerid, InfoText[playerid][7]);//Atras
PlayerTextDrawShow(playerid, InfoText[playerid][8]);//Adelante
PlayerTextDrawShow(playerid, InfoText[playerid][9]);//Siguiente
PlayerTextDrawShow(playerid, InfoText[playerid][10]);//Listo
SelectTextDraw(playerid, COLOR_LIMA);
UpdateDniInformacion(playerid, 1);
}else return Mensaje(playerid, COLOR_ROJO, "Usted ya esta legalizado en la ciudad.");
}
case 6 .. 19, 46:
{
if(cuenta[playerid][cTrabajo])return Mensaje(playerid, COLOR_AMARILLO, "»{FFFFFF} Usted ya tiene trabajo, puede ir con el encargado y renunciar.");
for(new k=0; k<sizeof(trabajos); k++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, trabajos[k][trabPos][0], trabajos[k][trabPos][1], trabajos[k][trabPos][2]))
{
if(cuenta[playerid][cNivel] < trabajos[k][trabNivel])
{
format(string, sizeof(string), "Usted debe ser nivel %d o superior para ser %s.", trabajos[k][trabNivel], trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
if(trabajos[k][trabLic])
{
switch(trabajos[k][trabLic])
{
case 1:
{
if(!cuenta[playerid][cLicenciaMoto])
{
format(string, sizeof(string), "Usted necesita licencia de moto para ser %s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
}
case 2:
{
if(!cuenta[playerid][cLicenciaAuto])
{
format(string, sizeof(string), "Usted necesita licencia de conduccion para ser %s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
}
case 3:
{
if(!cuenta[playerid][cLicenciaVuelo])
{
format(string, sizeof(string), "Usted necesita licencia de vuelo para ser %s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
}
case 4:
{
if(!cuenta[playerid][cLicenciaBote])
{
format(string, sizeof(string), "Usted necesita licencia de navegacion para ser %s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
}
case 5:
{
if(!cuenta[playerid][cLicenciaArma])
{
format(string, sizeof(string), "Usted necesita licencia de armas para ser %s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_ROJO, string);
return 1;
}
}
}
}
GameTextForPlayer(playerid, "~w~felicidades por tu nuevo trabajo", 5000, 3);
cuenta[playerid][cTrabajo] = k;
cuenta[playerid][cEmpleado] = trabajos[k][trabHoras];
UpdatePlayerStat(playerid);
format(string, sizeof(string), "Has firmado el contrato de %s por %d hora(s).", trabajos[k][trabNombre], trabajos[k][trabHoras]);
Mensaje(playerid, COLOR_BLANCO, string);
break;
}
}
}
case 20:
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_COMPRAR_MNEGRO, DIALOG_STYLE_TABLIST_HEADERS, "Mercado Negro",
" \
Articulo\tPrecio\tCantidad\n\
{FF7F00}[*]{FFFFFF} Puсo Americano\t{008000}20$\n\
{FF7F00}[*]{FFFFFF} Mбscara\t{008000}50$\n\
{FF7F00}[*]{FFFFFF} Ganzъas\t{008000}120$\n\
{FF7F00}[*]{FFFFFF} Soga + Venda\t{008000}120$\n\
{FF7F00}[*]{FFFFFF} Pistola 9mm\t{008000}300$\t11 Balas\n\
{FF7F00}[*]{FFFFFF} Bate\t{008000}50$\n\
{FF7F00}[*]{FFFFFF} Palo de Golf\t{008000}60$\n\
{FF7F00}[*]{FFFFFF} Speed\t{008000}1500$\t50 semillas\n\
{FF7F00}[*]{FFFFFF} Extasis\t{008000}3000$\t50 semillas\n\
{FF7F00}[*]{FFFFFF} Ritalin\t{008000}4250$\t50 semillas\n\
{FF7F00}[*]{FFFFFF} Heroina\t{008000}6000$\t50 semillas\n\
{FF7F00}[*]{FFFFFF} Marihuana\t{008000}4500$\t50 semillas\
", "Aceptar", "Salir");
}
case 21:
{
if(IsACop(playerid))
{
if(!booleano[OnDuty]{playerid})
{
format(string, sizeof(string), "* %s coge su placa y su radio.", PlayerName(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA);
booleano[OnDuty]{playerid} = true;
}else{
format(string, sizeof(string), "* %s deja su placa y su radio.", PlayerName(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA);
quitarArmas(playerid);
booleano[OnDuty]{playerid} = false;
}
}
}
case 23 .. 27:
{
if(IsPlayerConnected(playerid))
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_COMPRA_247, DIALOG_STYLE_LIST, "Comprar - 24 7", "Loteria - Costo: {008000}15$\nSpray Anti-Ladrones - Costo: {008000}70$\nCigarros - Costo: {008000}10$\nEncendedor - Costo: {008000}5$\nGafas RayBan - Costo: {008000}300$\nMaleta - Costo: {008000}175$\nMochila - Costo: {008000}75$\nCasco - Costo: {008000}120$\nPatines - Costo: {008000}50$\nPeriodico - Costo: {008000}35$", "Comprar", "Cancelar");
}
}
case 28 .. 35, 47:
{
new cadena[312];
format(cadena, sizeof(cadena), "Bebida\tPrecio\n");
for(new b=0;b<sizeof(Bebidas);b++)
{
format(cadena, sizeof(cadena), "%s\n%s\t{008000}%d${ffffff}", cadena, Bebidas[b][b@Nombre], Bebidas[b][b@costo]);
}
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_MENU_BEBIDAS, DIALOG_STYLE_TABLIST_HEADERS, "Venta de bebidas", cadena, "Aceptar", "Cancelar");
return 1;
}
case 36 .. 41:
{
if(IsPlayerInRangeOfPoint(playerid, 5, 377.2972, -67.4351, 1001.5078))
{//burguer
ShowPlayerDialog(playerid, COMIDA_MENU, DIALOG_STYLE_LIST, "Menъ Hamburguesas", "- Hamburgesa con Queso 20$\n- Hamburgesa Sola 10$\n- Hamburgesa Completa con Papas 50$\n- Papas Fritas 5$\n- Combo Completo 100$\n- Nuggets 35$", "Aceptar", "Salir");
enteroChar[dComida]{playerid} = 1;
}
else if(IsPlayerInRangeOfPoint(playerid, 5, 372.9010, -118.8029, 1001.4922))
{//pizza
ShowPlayerDialog(playerid, COMIDA_MENU, DIALOG_STYLE_LIST, "Menъ Pizzas", "- Pizza Chica 30$\n- Pizza Mediana 45$\n- Pizza Grande 60$\n- Pizza en Cono 20$", "Aceptar", "Salir");
enteroChar[dComida]{playerid} = 2;
}
else if(IsPlayerInRangeOfPoint(playerid, 5, 369.5900, -6.0166, 1001.8589))
{//pollo
ShowPlayerDialog(playerid, COMIDA_MENU, DIALOG_STYLE_LIST, "Menъ Pollos", "- Pollo Solo 10$\n- Pollo con Tocino 20$\n- Pollo con papas 40$\n- Pollo deshuesado 20$\n- Pollo Frito 120$", "Aceptar", "Salir");
enteroChar[dComida]{playerid} = 3;
}
}
case 42:
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, TIENDA_ELECTRONICA, DIALOG_STYLE_LIST, "Tienda Electronica", "iPhone - Costo: {008000}200$\nIpod - Costo: {008000}280$\nCбmara - Costo: {008000}100$\nWalkie- Costo: {008000}260$\nStereo - Costo: {008000}100$", "Aceptar", "Cancelar");
}
case 43:
{
iAtc = entero[playerid][eActId];
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Elija la licencia que desea sacar!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
nonplayers[iAtc][npcUtil] = 0;
booleano[npcUse]{playerid} = false;
CancelSelectTextDraw(playerid);
for(new ind=0;ind<6;ind++) TextDrawHideForPlayer(playerid, nonplayers[iAtc][interfaz][ind]);
ShowPlayerDialog(playerid, DIALOGO_OBTENER_LICENCIA, DIALOG_STYLE_LIST, "Examenes Disponibles", "Licencia de Motos - Costo: {008000}250$\nLicencia de Vehiculos - Costo: {008000}450$\nLicencia de Vuelo - Costo: {008000}7000$\nLicencia de Botes - Costo: {008000}2500$", "Aceptar", "Cancelar");
}
case 44 .. 45:
{
MostrarVisualizacion(playerid, 0);
}
case 48, 49:
{
iAtc = entero[playerid][eActId];
nonplayers[iAtc][npcUtil] = 0;
booleano[npcUse]{playerid} = false;
CancelSelectTextDraw(playerid);
for(new ind=0;ind<6;ind++) TextDrawHideForPlayer(playerid, nonplayers[iAtc][interfaz][ind]);
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Disfrute el catalogo!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
ShowPlayerDialog(playerid, DIALOGO_COMPRAR_ROPA, DIALOG_STYLE_MSGBOX, "Catalago de ropa", "{ffffff}En breve le sera mostrado un catalogo.", "Aceptar", "");
}
}
}
else if(clickedid == nonplayers[i][interfaz][2])
{
switch(i)
{
case 0 .. 2://banqueros
{
if(cuenta[playerid][cTarjeta] != 0)return Mensaje(playerid, COLOR_AMARILLO, "»{FFFFFF} Usted ya tiene una tarjeta de crйdito.");
if(obtenerDinero(playerid) < 120)return Mensaje(playerid, COLOR_AMARILLO, "»{FFFFFF} Usted debe poseer 1500$ para comprar su tarjeta de crйdito.");
pierdeDinero(playerid, 120);
cuenta[playerid][cTarjeta] = 123456 + random(6543);
format(string, sizeof(string), "Atenciуn:{FFFFFF} Usted comprу una tarjeta de crйdito, Numero: %d", cuenta[playerid][cTarjeta]);
Mensaje(playerid, COLOR_AZUL_CLARO, string);
format(string, sizeof(string), "* %s compra una tarjeta de credito", PlayerName(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA, COLOR_PURPURA);
}
case 3 .. 4://Ayuntamiento
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_IMPUESTO_NEGOCIOS, DIALOG_STYLE_LIST, "Pagar impuestos de sus negocios", "{008000}[*]{FFFFFF} Primer Negocio\n{008000}[*]{FFFFFF} Segundo Negocio {E4A54D}[VIP]", "Aceptar", "Salir");
}
case 5:
{
ShowPlayerDialog(playerid, DIALOGO_CAMBIO_NACION, DIALOG_STYLE_LIST, "Cambio de Nacionalidad [Coste 3000$]", "{008000}[*]{FFFFFF} Japon\n{008000}[*]{FFFFFF} Italia\n{008000}[*]{FFFFFF} Arabe\n{008000}[*]{FFFFFF} Rusia\n{008000}[*]{FFFFFF} Francia\n{008000}[*]{FFFFFF} China\n{008000}[*]{FFFFFF} Alemania\n{008000}[*]{FFFFFF} Argentina\n{008000}[*]{FFFFFF} Colombia\n{008000}[*]{FFFFFF} Bolivia\n{008000}[*]{FFFFFF} Brasil\n{008000}[*]{FFFFFF} Chile\n{008000}[*]{FFFFFF} Espaсa\n{008000}[*]{FFFFFF} Mexico\n{008000}[*]{FFFFFF} Ecuador\n{008000}[*]{FFFFFF} Estados Unidos\n{008000}[*]{FFFFFF} Holanda\n{008000}[*]{FFFFFF} Canada\n{008000}[*]{FFFFFF} Uruguay\n{008000}[*]{FFFFFF} Venezuela", "Aceptar", "Salir");
}
case 6 .. 19, 46:
{
if(!cuenta[playerid][cTrabajo])return Mensaje(playerid, COLOR_ROJO, "Usted esta desempleado.");
if(cuenta[playerid][cTrabajo] && cuenta[playerid][cEmpleado] < 1)
{
cuenta[playerid][cTrabajo] = 0;
cuenta[playerid][cEmpleado] = 0;
UpdatePlayerStat(playerid);
Mensaje(playerid, COLOR_GRIS, "Usted renuncio a su trabajo actual.");
}
else
{
format(string, sizeof(string), "Tienes %d horas de contrato a cumplir todavia.", cuenta[playerid][cEmpleado]);
Mensaje(playerid, COLOR_AMARILLO, string);
}
}
case 20:
{
}
case 21:
{
if(Team_LSPD(playerid))
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_EQUIPO_LSPD, DIALOG_STYLE_LIST, ">> Equipo Policнa <<", "» Rango 1: {868FD9}Cadete\n{FFFFFF}» Rango 2: {868FD9}Oficial\n{FFFFFF}» Rango 3: {868FD9}Agente\n{FFFFFF}» Rango 4: {868FD9}Sargento\n» Rango 5: {868FD9}Capitбn\n» Rango 6: {868FD9}Comandante\n{FFFFFF}» Rangos Especiales: {868FD9}SWAT\n{FFFFFF}» Rangos Especiales: {868FD9}ANON\n{FFFFFF}» Rangos Especiales: {868FD9}CROSS\n{FFFFFF}» Rangos Especiales: {868FD9}EAGLE\n{FFFFFF}» Rangos Especiales: {868FD9}WALKER\n{FFFFFF}» Inyecciones de Energнa y Chaleco\n» Pistola + Porra\n» Equipo Femenino\n» Ropa Normal", "Equipar", "Cancelar");
}
}
case 23 .. 27:
{
if(!cuenta[playerid][cTelefono])return Mensaje(playerid, COLOR_GRIS2, "No tienes telйfono, compra uno en la tienda electronica.");
ShowPlayerDialog(playerid, DIALOGO_RECARGAR_TELEFONO, DIALOG_STYLE_INPUT, "{018CFE}Operadora de Telefonia Celular MOVISTAR", "{FFFFFF}Ingresa tu numero celular para realizar la recarga", "Aceptar", "Cancelar");
}
case 28 .. 35:
{
}
case 44 .. 45:
{
MostrarVisualizacion(playerid, 1);
}
case 48, 49:
{
format(string, sizeof(string), "{008000}[NPC]{ffffff} %s dice: Disfrute el catalogo!", nonplayers[iAtc][npcNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
nonplayers[iAtc][npcUtil] = 0;
booleano[npcUse]{playerid} = false;
CancelSelectTextDraw(playerid);
for(new ind=0;ind<6;ind++) TextDrawHideForPlayer(playerid, nonplayers[iAtc][interfaz][ind]);
ShowPlayerDialog(playerid, BUYTOYS, DIALOG_STYLE_MSGBOX, "Tienda de Accesorios", "Bienvenido a la tienda de accesorios! Aquн puedes comprar accesorios para ti.\nRecuerda que puedes usar 5 objetos a la vez.", "Continuar", "Cancelar");
}
}
}
else if(clickedid == nonplayers[i][interfaz][3])
{
switch(i)
{
case 0 .. 2://banqueros
{
}
case 3 .. 4://Ayuntamiento
{
DesaparecerSelecion(playerid, 0);
ShowPlayerDialog(playerid, DIALOGO_IMPUESTO_AUTOS, DIALOG_STYLE_LIST, "Pagar impuestos de sus vehiculos", "{008000}[*]{FFFFFF} Primer Vehiculo\n{008000}[*]{FFFFFF} Segundo Vehiculo\n{008000}[*]{FFFFFF} Tercer Vehiculo {E4A54D}[VIP]\n{008000}[*]{FFFFFF} Cuarto Vehiculo {E4A54D}[VIP]", "Aceptar", "Salir");
}
case 5:
{
}
case 6 .. 19, 46:
{
new k = cuenta[playerid][cTrabajo];
if(!k)return Mensaje(playerid, COLOR_AMARILLO, "»{FFFFFF} Usted esta desempleado.");
if(k == 15)return Mensaje(playerid, COLOR_AMARILLO, "»{FFFFFF} Usted no necesita estar en servicio.");
if(IsPlayerInRangeOfPoint(playerid, 5.0, trabajos[k][trabPos][0], trabajos[k][trabPos][1], trabajos[k][trabPos][2]))
{
if(!cuenta[playerid][servicio])
{
cuenta[playerid][servicio] = true;
SetPlayerSkin(playerid, trabajos[k][trabSkin]);
format(string, sizeof(string), "{008000}INFO: {FFFFFF}Puede comenzar a trabajar como {008000}%s.", trabajos[k][trabNombre]);
Mensaje(playerid, COLOR_BLANCO, string);
Mensaje(playerid, COLOR_ROJO, "[!] {FFFFFF}Use {AA3333}/finservicio {FFFFFF}cuando halla dejado de trabajar para recibir su pago!");
Mensaje(playerid, COLOR_AMARILLO, "[!] {FFFFFF}Para ver los comandos disponibles use {FFFF00}/ayuda --> Trabajos");
Mensaje(playerid, COLOR_AMARILLO, "[!] {FFFFFF}Para subir la habilidad de los trabajos use {FFFF00}/habilidad");
switch(k)
{
case 9:
{
format(string, sizeof(string), "** El taxista %s esta en servicio llame al %d.", PlayerName(playerid), cuenta[playerid][cTelefono]);
OOCNews(COLOR_LIMA, string);
}
case 12:
{
SetPlayerAttachedObject(playerid, 9, 18634, 6, 0.083024, 0.037154, 0.057157, 90.446144, 301.829162, 0.702633, 1.930997, 1.135378, 1.382053);
}
case 13:
{
SetPlayerAttachedObject(playerid, 9, 18635, 6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
}
case 14:
{
SetPlayerAttachedObject(playerid, 9, 18635, 6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
}
}
}
}else return Mensaje(playerid, COLOR_ROJO, "Usted no esta cerca de su trabajo.");
}
case 20:
{
}
case 44 .. 45:
{
MostrarVisualizacion(playerid, 2);
}
}
}
else if(clickedid == nonplayers[i][interfaz][4])
{
switch(i)
{
case 0 .. 2://banqueros
{
}
case 3 .. 4://Ayuntamiento
{
}
case 5:
{
}
case 6 .. 19:
{
}
case 20:
{
}
case 44 .. 45:
{
MostrarVisualizacion(playerid, 3);
}
}
}
}
}
}
}


