[Duda] Crear lista en string
#1

Bueno, estoy haciendo una lista en string para luego llamar a cada nombre con la funcion de strcmp

este es el codigo

Код:
str1[128] = {"arma"}, {"telefono"}, {"encendedor"}, {"cigarillos"},{"chaleco"};
el problema es que me tira muchisimos errores, al borrar todos y dejar arma solo si me deja, gracias
Reply
#2

prueba asi
pawn Код:
str1[128] = {{"arma"}, {"telefono"}, {"encendedor"}, {"cigarillos"},{"chaleco"}};
Reply
#3

Muchas gracias , ya solucione ese problema, ahora me tira los siguientes errores
Код:
Buenarp.pwn(942) : error 048: array dimensions do not match
Lineas

Код:
if( strcmp("arma", items, true ) == 0 )
Muchas gracias!

estoy haciendo un comando con vrios parametros, es decir

/dar arma , /dar chaleco /dar etc
Reply
#4

ah, їutilizas sscanf? yote hago un ejemplo con zcmd
pawn Код:
zcmd(a, playerid, params[])
{
if(sscanf(params, "s[64]", params[0]))
{
if(strcmp(params[0], "parametro"))
{
//funcion
}
else if(strcmp(params[0], "parametro2"))
{
//funcion
}
}
return 1;
}
Reply
#5

str1[128] = "arma telefono encendedor cigarillos chaleco";

asi usalo e intenta usar strfind

Saludos.
Reply
#6

me tira este error ahora y no me comi ninguna punto y coma

Comando entero

pawn Код:
CMD:veh(playerid, params[])
{
    new capotabierto[MAX_VEHICLES], engine, lights, alarm, doors, boot, objective;
    if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "Uso: /veh [capot]");
    if(strcmp(params[0], "capot")
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage (playerid, -1, "No estas en el auto!");
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, 1, boot, objective);
    capotabierto[playerid] = 1;
    }
     }
    return 1;
}
Reply
#7

pawn Код:
CMD:veh(playerid, params[])
{
    new capotabierto[MAX_VEHICLES], engine, lights, alarm, doors, boot, objective;
    if(!sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "Uso: /veh [capot]"); //se usa 'return' en el if cuando se quiere aplciar una especie de cosas al revez, en ves de crear un else crean un return especificando que si la funciуn NO es aceptada en el if utilizando un '!' se mande tal mensaje. Esto es medio confuso igualmente.
    if(strcmp(params[0], "capot")) //te comiste un ")"
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage (playerid, -1, "No estas en el auto!");
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, 1, boot, objective);
    capotabierto[playerid] = 1;
    }
     }
    return 1;
}
Reply
#8

Dios, no entiendo que no funciona aca, lo que hice fue que al abrirse el capo la variable capoabierto se estableciera en 1 cosa que cuando el comando se ejecute de nuevo, detecte la variable en 1 y me ejecute la funcion para cerrar el capo y en ese momento se vuelva a establecer en 0

pero no funciona :S

pawn Код:
CMD:veh(playerid, params[])
{
    new capotabierto, engine, lights, alarm, doors, boot, objective;
    if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "Uso: /veh [capot]");
    if(strcmp(params[0], "capot", true) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage (playerid, -1, "No estas en el auto!");
    {
    if(capotabierto == 0)
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, 0, 0, 0, 1, 0, objective);
    capotabierto = 1;
    return 1;
    }
    else if(capotabierto == 1)
    {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, 0, boot, objective);
    capotabierto = 0;
    return 1;
    }
    }
    }
    return 1;
}
Reply
#9

Tenes que usar GetVehicleParamsEx para darle un valor a capotabierto, si no siempre serб 0.
Reply
#10

me sigue sin funcionar, tengo esto de codigo

pawn Код:
new bonnet, engine, lights, boot, alarm, doors, objective;

CMD:veh(playerid, params[])
{
        if(sscanf(params, "s[64]", params[0])) return SendClientMessage(playerid, -1, "Uso : /veh bonnet");
        new vehicleid = GetPlayerVehicleID(playerid);
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage (playerid, -1, "No estas en el auto!");
        {
        if(strcmp(params[0], "capot", true) == 0)
        {
        GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
        if(bonnet == 0) SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, boot, objective);
        else if(bonnet == 1) SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, boot, objective);
        }
        }
        return 1;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)