Como hago Esto? -
matias770 - 01.05.2013
Hola, hoy he estado creando 1 Sistema De Tarjeta De Credito Con Pin Bueno Mi Problema Es el Siguiente Este Comando
/tarjetacredito le Da La Tarjeta al Sujeto( No tiene Bugs )
new debito = 100000 + random(899999);
Info[playerid][pTarjetaCredito] = debito;
Asi lo hice para 1 Random pero ahora quiero Hacer 1 Dialog que Si el Sujeto Pone Su Numero random Que le Da el Comando el Dialog Cumpla Las Funciones
Esto Tengo:
if(dialogid == Dialog_Test)
{
if(response == 1)
{
if(Info[playerid][pTarjetaCredito])
{
SendClientMessageEx(playerid, -1, " Funciono ");
return 1;
}
}
}
Era Para Probarlo xD
Pero que Deberia Hacer?
Desde ya Gracias
Re: Como hago Esto? -
Daniel-92 - 01.05.2013
Debes comparar la variable con el nъmero ingresado.
pawn Код:
if(dialogid == Dialog_Test)
{
if(response == 1)
{
if(Info[playerid][pTarjetaCredito] == strval(inputtext))
{
SendClientMessageEx(playerid, -1, " Funciono ");
}
else
{
SendClientMessage(playerid,-1,"Pin incorrecto");
}
}
return 1;
}
Respuesta: Como hago Esto? -
JustBored - 01.05.2013
Yo usarнa strcmp
pawn Код:
if(dialogid == Dialog_Test)
{
if(response == 1)
{
if(strcmp(Info[playerid][pTarjetaCredito],strval(inputtext)))
{
SendClientMessageEx(playerid, -1, " Funciono ");
}
else
{
SendClientMessage(playerid,-1,"Pin incorrecto");
}
}
return 1;
}
Respuesta: Como hago Esto? -
matias770 - 01.05.2013
Ninguno de los 2 Me Sirvio El Comando /tarjetacredito Le Da El Random
y El Comando /testeando4 Muestra El Dialog Pero al poner El Numero Correcto o Incorrecto No Manda el Mensaje Correspondiente.
Respuesta: Como hago Esto? -
DesingMyCry - 01.05.2013
Muestra el cуdigo donde muestras el diбlogo. Tambiйn la funciуn "SendClientMessageEx" y verifica por ti mismo que no haya nada incorrecto.
Respuesta: Como hago Esto? -
matias770 - 01.05.2013
Ahora lo hice Asi pero me pasa esto
case TESTEANDO:
{
if(response == 1)
{
if(isnull(inputtext)) return SendClientMessage(playerid, COLOR_GREY, "No ingresaste nada." );
if(strlen(inputtext) > Info[playerid][pTarjetaCredito]) return SendClientMessageEx(playerid, COLOR_GREY, "La Contraseсa es Incorrecta");
if(strcmp(inputtext, Info[playerid][pTarjetaCredito], true) == 0)
{
{
SendClientMessageEx(playerid, COLOR_WHITE, "Contraseсa Aceptada.");
}
}
else SendClientMessageEx(playerid, COLOR_WHITE, "ЎContraseсa Incorrecta!");
}
}
Al poner Incorrecto o Correctamente El Numero Lo que Pasa es que Me Da SIEMPRE incorrecto
Respuesta: Como hago Esto? -
JustBored - 01.05.2013
Lo que pasa es que strlen es para obtener la cantidad de carбcteres que posee una string. Tienes que usar strcmp.
PD: Usa las etiquetas [pawn] [*/pawn] (sin el *) Ademбs de que lo armas mal. Serнa asн
pawn Код:
case TESTEANDO:
{
if(response)
{
if(isnull(inputtext)) //No sй para que sirve 'IsNull'
{
if(strlen(inputtext) >= 1) //Verificamos si el texto ingresado es mayor o igual a 1
{
if(strcmp(inputtext, Info[playerid][pTarjetaCredito], true)) //Comprobamos las contraseсas
{
SendClientMessageEx(playerid, COLOR_WHITE, "Contraseсa Aceptada.");
} else SendClientMessageEx(playerid, COLOR_GREY, "La Contraseсa es Incorrecta"); //El mensaje de error
} else SendClientMessage(playerid, COLOR_GREY, "No ingresaste nada." ); //El otro mensaje
} else SendClientMessage(playerid, COLOR_GREY, "No ingresaste nada." ); // " " "
}
}
Re: Respuesta: Como hago Esto? -
Daniel-92 - 01.05.2013
Quote:
Originally Posted by JustBored
Yo usarнa strcmp
|
la funciуn string compare (strcmp) es precisamente para comparar strings, para poder usarla, ambos nъmeros deben ser strings y como este no es el caso es 100% preferible usar strval.
Respuesta: Como hago Esto? -
JustBored - 02.05.2013
Tienes razуn; gracias por corregirme.