Vehicle Help
#1

pawn Код:
stock ToggleBonnet(vehicleid, toggle)
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, toggle, objective);
}
pawn Код:
CMD:bonnet(playerid, params[])
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!vehicleid || IsBicycle(vehicleid))
        return SendClientMessage(playerid, COLOR_RED, "You are not in your vehicle!");
    new id = GetVehicleID(vehicleid);
    if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
    if(GetPlayerVehicleAccess(playerid, id) < 2)
        return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
    ToggleBonnet(vehicleid, VEHICLE_PARAMS_ON);
    return 1;
}
Anybody know why this opens the boot, and not the cars bonnet?

A bit stuck, and out of idea's.
Reply
#2

Shouldn't this line:
pawn Код:
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, toggle, objective);}
Be setting the toggle on the 'Bonnet' and not the 'Boot'??

pawn Код:
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, toggle, boot, objective);}
Reply
#3

pawn Код:
stock ToggleBonnet(vehicleid, toggle)
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, toggle, boot, objective);
}
Reply
#4

Yeah that fixed it! My mistake.

Thanks.

Could you also give me a hand on this one, I'm getting errors. With ZCMD.

pawn Код:
CMD:vplate(playerid, params[])
{
    new inputtext;
    if(sscanf(params, "d", inputtext)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /vplate [text]");
    new id = GetPlayerVehicleID(playerid);
    new vehicleid = VehicleID[id];
    strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
    SaveVehicle(id);
    SetVehicleNumberPlate(vehicleid, inputtext);
    SetVehicleToRespawn(vehicleid);
    new msg[128];
    format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
    SendClientMessage(playerid, COLOR_WHITE, msg);
    return 1;
}
errors:


C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1614) : error 035: argument type mismatch (argument 2)
C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1614) : error 035: argument type mismatch (argument 2)
C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1616) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#5

Please show what line(s) are 1614 and 1616.
Reply
#6

strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[])); (1614)

SetVehicleNumberPlate(vehicleid, inputtext); (1616)

I think it's something to do with inputtext, but don't know what?
Reply
#7

pawn Код:
CMD:vplate(playerid, params[])
{
    new inputtext;
    if(sscanf(params, "d", inputtext)) return SendClientMessage(playerid, -1, "USAGE: /vplate [text]");
    new id = GetPlayerVehicleID(playerid);
    new vehicleid = VehicleID[id];
    strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]), 255);
    SaveVehicle(id);
    SetVehicleNumberPlate(id, inputtext);
    SetVehicleToRespawn(vehicleid);
    new msg[128];
    format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
    SendClientMessage(playerid, -1, msg);
    return 1;
}
Hope this will work
Reply
#8

C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1614) : error 035: argument type mismatch (argument 2)
C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1614) : error 035: argument type mismatch (argument 2)
C:\Users\matthew\Desktop\V2 NG LS;RP\filterscripts\avs.pwn(1616) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#9

Try this:
pawn Код:
CMD:vplate(playerid, params[])
{    
    new plate[15];
    if(sscanf(params, "s[15]", plate)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /vplate [text]");    
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You must be the driver of a vehicle to use this command.");
    new id = GetPlayerVehicleID(playerid);
    strmid(VehicleNumberPlate[id], plate, 0, strlen(plate));    
    SetVehicleNumberPlate(id, plate);    
    SaveVehicle(id);    
    new msg[128];    
    format(msg, sizeof(msg), "You have changed your vehicle's number plate to %s", plate);    
    SendClientMessage(playerid, COLOR_WHITE, msg);    
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)