Dudas Sobre DIALOG_STYLE_INPUT -
zzxcv1 - 17.04.2014
Hola , Bueno yo hice un sistema en minero que hay posibilidades de que te oro etcetera...Luego cree un comando para venderlo y no se como usar DIALOG_STYLE_INPUT , para que no puedan poner letras, Que no pongan un numero mas elevado de lo que tienen de poro , Ni que pongan menos de lo que tienen y tambien Que segun lo que pongan Les de un dinero y Le resta a la variable lo que puso...No se usar INPUTTEXT , agradeceria si me explicaran.
Por si las dudas tengo esto (Obviamente falta todo lo que pedi que me explicaran arriba)
pawn Код:
if(dialogid == DIALOG_ORO)
{
if(response)
{
//Aca iria el codigo de lo que quiero que me expliquen
}
else
{
SafeDialogEx(playerid, DIALOG_HERRERIA, DIALOG_STYLE_LIST, "{0074FF}Herreria", "Comprar Pico\nComprar Martillo\nVender Oro\nVender Diamante", "Comprar", "Cancelar");
}
}
}
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
MugiwaraNoLuffy - 17.04.2014
Inputtext es una variable string, o sea, una cadena de texto. Para poder tener un manejo sobre el dato ingresado en forma de string, tenйs que pasar la variable string a una tipo integer (nъmero entero) con strval. Despuйs simplemente hace los if comparando. Antes de pasarla a integer, yo checarнa si el dato ingresado en inputtext es un nъmero con isNumeric.
https://sampwiki.blast.hk/wiki/Strval
pawn Код:
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
zzxcv1 - 17.04.2014
Bien ahora progrese y lo puse asi dime si Esta bien ,ya que no se , y dime ahora como podria hacer para que segun el numero que puso le reste a una variable ,en este caso "pOro" , y tambien le de dinero segun lo que puso.
Bueno aca lo que hice: (Capas que estan mal las llaves o no se , trato de aprender)
pawn Код:
if(dialogid == DIALOG_ORO)
{
if(response)
{
if (isnumeric(inputtext))
{
new sacaroro = strval(inputtext);
if(Info[playerid][pOro] >= 1 && sacaroro <= Info[playerid][pOro]) return SendClientMessageEx(playerid, COLOR_GENERAL, "{0074FF}»{FFFFFF} No tienes esa cantidad de oro"); //Esto no funciona :( ,A ver si me pueden ayudar
//Lo que sige
}
else
{
SafeDialogEx(playerid, DIALOG_HERRERIA, DIALOG_STYLE_LIST, "{0074FF}Herreria", "Comprar Pico\nComprar Martillo\nVender Oro\nVender Diamante", "Comprar", "Cancelar");
}
}
}
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
MugiwaraNoLuffy - 17.04.2014
pawn Код:
Info[playerid][pOro]=Info[playerid][pOro]-sacaroro;
//o
Info[playerid][pOro]-=sacaroro;
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
zzxcv1 - 17.04.2014
Gracias amigo
el sistema esta funcionando CASI correctamente , te cuento ,me deja vender 0 pero no me deja 1 quiero que no me deje vender 0 y si 1 de oro ya luego 2 ,3,4 me deja
pawn Код:
if(dialogid == DIALOG_ORO)
{
if(response)
{
if (isnumeric(inputtext))
{
new sacaroro = strval(inputtext);
if(Info[playerid][pOro] >= 1 && Info[playerid][pOro] <= sacaroro) return SendClientMessageEx(playerid, COLOR_GENERAL, "{0074FF}»{FFFFFF} No tienes esa cantidad de oro");
Info[playerid][pOro]-=sacaroro;
GivePlayerCash(playerid, sacaroro*1000);
format(string, sizeof(string), "{0074FF}»{FFFFFF} Vendiste %d de oro, Te quedan %d",sacaroro,Info[playerid][pOro]);
SendClientMessageEx(playerid, COLOR_GENERAL, string);
}
else
{
SendClientMessageEx(playerid, COLOR_GENERAL, "{0074FF}»{FFFFFF} Solo Numeros...");
SafeDialogEx(playerid, DIALOG_ORO, DIALOG_STYLE_INPUT, "{0074FF}Vender Oro", "Introduce la cantidad de oro que deseas vender", "Vender", "Cancelar");
}
}
}
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
MugiwaraNoLuffy - 17.04.2014
pawn Код:
if(Info[playerid][pOro] >= 1 && Info[playerid][pOro] <= sacaroro) return SendClientMessageEx(playerid, COLOR_GENERAL, "{0074FF}»{FFFFFF} No tienes esa cantidad de oro");
Observa detenidamente esa condiciуn.
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
zzxcv1 - 18.04.2014
Eso intento pero no encuentro el error , seguramente es muy obvio y no me doy cuenta T.T
Respuesta: Dudas Sobre DIALOG_STYLE_INPUT -
EduGTA - 18.04.2014
їNo serнa?
pawn Код:
if(sacaroro > Info[playerid][pOro] || sacaroro <= 0) return SendClientMessageEx(playerid, COLOR_GENERAL, "{0074FF}»{FFFFFF} No tienes esa cantidad de oro");