SA-MP Forums Archive
[Duda] Crear lista en string - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Crear lista en string (/showthread.php?tid=430463)



[Duda] Crear lista en string - sonnkz - 13.04.2013

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


Respuesta: [Duda] Crear lista en string - xSDx - 14.04.2013

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



Respuesta: [Duda] Crear lista en string - sonnkz - 14.04.2013

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


Respuesta: [Duda] Crear lista en string - JustBored - 14.04.2013

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;
}



Respuesta: [Duda] Crear lista en string - xSDx - 14.04.2013

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

asi usalo e intenta usar strfind

Saludos.


Respuesta: [Duda] Crear lista en string - sonnkz - 14.04.2013

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;
}



Respuesta: [Duda] Crear lista en string - JustBored - 14.04.2013

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;
}



Respuesta: [Duda] Crear lista en string - sonnkz - 14.04.2013

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;
}



Respuesta: [Duda] Crear lista en string - [J]ulian - 14.04.2013

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


Respuesta: [Duda] Crear lista en string - sonnkz - 14.04.2013

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;
}