La verdad es algo que no entiendo
#1

Pues, ayer scripteando en mi tiempo libre quise realizar un comando sencillo, pero termino siendo un problema que mi cerebro no pudo resolver, la verdad pienso que el error es una tontes pero no logro encontrarlo y me arte de probar diferentes cosas.

pawn Код:
zcmd(v,playerid,params[])
{
    if(GetPVarInt(playerid, "EnZonaSpawn") == 1) return SendClientMessage(playerid, 0xFF0000FF, "[Spawn Protection]: {FFFFFF}Usted no puede spawnear autos en este sector, salga de la zona para utilizar este comando");
    if(sscanf(params, "s[24]", params[0]))
    {
        DestroyVehicle(gPlayerVehicle[playerid]);
        new Float:x, Float:y, Float:z, Float:a;
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, a);
        if(IsNumeric(params[0]))
        {
            gPlayerVehicle[playerid] = CreateVehicle(params[0], x, y, z, a, random(256), random(256), -1);
            new string[125];
            format(string, sizeof(string), "~r~%s~n~%d", VehicleNames[params[0]], params[0]);
            GameTextForPlayer(playerid, string, 1000, 1);
            return PutPlayerInVehicle(playerid, gPlayerVehicle[playerid], 0);
        } else {
            gPlayerVehicle[playerid] = CreateVehicle(GetVehicleModelIDFromName(params[0]), x, y, z, a, random(256), random(256), -1);
            new string[125];
            format(string, sizeof(string), "~r~%s~n~%d", params[0], GetVehicleModelIDFromName(params[0]));
            GameTextForPlayer(playerid, string, 1000, 1);
            return PutPlayerInVehicle(playerid, gPlayerVehicle[playerid], 0);
        }
    } else return SendClientMessage(playerid, 0xFF0000FF, "[ERROR]: {FFFFFF}Use /v <id/name del coche>");
}
Bueno el problema que tengo con esto, es que cuando coloco "/v Sultan" me spawnea un sultan pero si coloco solo la id del sultan me aparese que el comando no existe y al costado donde tendria que salir el nombre del auto y el id me aparese cualquier cosa menos el auto que quiero, y encima no me spawnea ningun coche, solo funciona cuando coloco el nombre del vehiculo, ahora lo que menos me gusta es que cuando coloco en el sscanf la "d" (numero entero) no me tendria que dejar utilizar el nombre del vehiculo y sin envargo me deja y sigue sin dejarme colocar la ID. sinceramente nose a que se debe y les agradeceria mucho si me ayudaran porque me canse de pensar :/
Reply
#2

te falto convertir la string a integer, pon esto despues del IsNumeric
Код:
params[0] = strval(params);
Reply
#3

OOh sierto, pero ahora me spawnea el coche pero no me manda el GameText y me aparese "Comando Desconosido"... nose porque :/
Reply
#4

pawn Код:
if(IsNumeric(params[0]))  {
    params[0] = strval(params);
    gPlayerVehicle[playerid] = CreateVehicle(params[0], x, y, z, a, random(256), random(256), -1);
    new string[125];
    format(string, sizeof(string), "~r~%s~n~%d", VehicleNames[params[0]-400], params[0]);
    GameTextForPlayer(playerid, string, 1000, 1);
    PutPlayerInVehicle(playerid, gPlayerVehicle[playerid], 0);
    return 1;
}
Reply
#5

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
pawn Код:
if(IsNumeric(params[0]))  {
    params[0] = strval(params);
    gPlayerVehicle[playerid] = CreateVehicle(params[0], x, y, z, a, random(256), random(256), -1);
    new string[125];
    format(string, sizeof(string), "~r~%s~n~%d", VehicleNames[params[0]-400], params[0]);
    GameTextForPlayer(playerid, string, 1000, 1);
    PutPlayerInVehicle(playerid, gPlayerVehicle[playerid], 0);
    return 1;
}
Ahora lo pruebo, pero me explicarias porque el "-400"? y que otro cambio has echo? desde ya muchas gracias, ahora lo pruevo aver si ya funciona
Reply
#6

Quote:
Originally Posted by ForTrezZ
Посмотреть сообщение
Ahora lo pruebo, pero me explicarias porque el "-400"? y que otro cambio has echo? desde ya muchas gracias, ahora lo pruevo aver si ya funciona
el array VehiclesName contiene los nombres de los vehнculos empezando por el 0 al 212 y si por ejemplo el usuario pone el vehнculo ID 400, quedarнa VehiclesName[400-400] entonces VehiclesName[0] y si llamas a VehiclesName[0] te darб su primer array que es "Landstalker" y por ende el vehнculo ID 400 es el Landstalker, tratй de que me entendieras el porque le resta 400
Reply
#7

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
el array VehiclesName contiene los nombres de los vehнculos empezando por el 0 al 212 y si por ejemplo el usuario pone el vehнculo ID 400, quedarнa VehiclesName[400-400] entonces VehiclesName[0] y si llamas a VehiclesName[0] te darб su primer array que es "Landstalker" y por ende el vehнculo ID 400 es el Landstalker, tratй de que me entendieras el porque le resta 400
Muchas gracias groove reitero, si no me da el comando aviso, pero muchas gracias a todos

EDIT: me funciono todo correctamente, muchisimas gracias a todos, tienen mis respetos personales
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)