Como hago Esto?
#1

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
Reply
#2

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;
}
Reply
#3

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;
}
Reply
#4

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.
Reply
#5

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.
Reply
#6

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
Reply
#7

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." ); // " " "
    }
}
Reply
#8

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.
Reply
#9

Tienes razуn; gracias por corregirme.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)