Admin car
#1

~~~~~~
Reply
#2

Код:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
{
    new model = GetVehicleModel(vehicleid);

    switch(model)
    {
      case 520,432,425,477,464,465,501,601,441 /*Change into your models*/ : {RemovePlayerFromVehicle(playerid);    format(string,sizeof(string),"~r~ That is a forbidden vehicle ~r~",pname); GameTextForPlayer(playerid,string,12000,3); }

    }
    return 1;
}
Just add your admin things inside.
Reply
#3

^^^^^^^^
Reply
#4

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid) == 579)) //Checking if the player is the driver of a Huntley
    {
        if(!IsPlayerAdmin(playerid)) //Checking if the player isn't an Admin
        {
            RemovePlayerFromVehicle(playerid); //Removing the player from the vehicle
            SendClientMessage(playerid,0xFF0000FF,"Admins only!");
        }
    }
    return 1;
}
Try this. Just add your models.
Reply
#5

~~~~~~~~~~
Reply
#6

You just setted it so if the player is in any vehicle on update he will get banned.

Код:
if(GetVehicleModel(vehicleid) == 432 || GetVehicleModel(vehicleid) == 520 || GetVehicleModel(vehicleid) == 425 || GetVehicleModel(vehicleid) == 441 || GetVehicleModel(vehicleid) == 464 || GetVehicleModel(vehicleid) == 465 ||
            GetVehicleModel(vehicleid) == 501 || GetVehicleModel(vehicleid) == 564 || GetVehicleModel(vehicleid) == 594 || GetVehicleModel(vehicleid) == 447 || GetVehicleModel(vehicleid) == 449 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510 || GetVehicleModel(vehicleid) == 537 || GetVehicleModel(vehicleid) == 538 ||
            GetVehicleModel(vehicleid) == 539 || GetVehicleModel(vehicleid) == 577 || GetVehicleModel(vehicleid) == 592 || GetVehicleModel(vehicleid) == 601 || GetVehicleModel(vehicleid) == 604 || GetVehicleModel(vehicleid) == 605)
            {
                AnticheatBan(playerid);
            }
You dont need that. Remove that.

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
This will detect if he/she also tp's into a vehicle. WIth OnPlayerUpdate it will lag the shit out.
Reply
#7

^^^^^^^^
Reply
#8

I really wish people would do a bit more research before developing things so they can get a broad spectrum of the available libraries they could put to use... /endrant

Use foreach for this, it's easier, and cleaner.

pawn Код:
#include <foreach>

new
    Iterator:AdminVehicle<MAX_VEHICLES>,
    Iterator:AdminSpawnedVehicles<MAX_VEHICLES>;
   
CMD:acar(playerid, params[])
{
    #pragma unused params
    new id;
    if(!IsCnRAdmin(playerid)) return UnknownCMD(playerid);
    if(sscanf(params, "ii", id)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /acar (VehicleID)");
    if(Dead[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Dead.");
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Must Not Be In A Vehicle To Use This Command.");
    if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command In An Interior.");
    if(IsSpecing[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Spectating.");
    if(id < 400 || id > 611) return SendClientMessage(playerid, COLOR_RED, "Invalid Vehicle ID. Vehicles Are Between 400 And 611.");
    new Float:x, Float:y, Float:z, Float:angle;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, angle);
   
   
    Iter_Add(AdminVehicle, new vehid = CreateVehicle(id, x, y, z, angle, 0, 0, 30));
   
   
    PutPlayerInVehicle(playerid, vehid, 0);
    AdminCMD(playerid, "ACAR");
    new log[128];
    format(log, sizeof log, "Admin %s Has Spawned Himself A Car.", PlayerName(playerid));
    LogToFile("acar", log);
    return 1;
}

CMD:veh(playerid, params[])
{
    if(isDead[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Dead.");
    if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command In An Interior.");
    if(IsCaged[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Caged.");
    new carName[32];
    if(sscanf(params, "s[32]", carName)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /veh (Vehicle Name)");
    if(BlockVeh == 1) return  SendClientMessage(playerid, COLOR_RED, "This Command Is DISABLED.");
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Are Already In A Vehicle.");
    if(ReturnVehicleID(carName) == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_RED, "Invalid Vehicle Model.");
    if(IsVehicleForbidden(ReturnVehicleID(carName)) && !IsCnRAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Must Be An Admin To Spawn This Vehicle.");
    new Float:pPos[4], vid;
    GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
    GetPlayerFacingAngle(playerid, pPos[3]);
       
    if(IsCnRAdmin(playerid)) Iter_Add(AdminSpawnedVehicles, vid = CreateVehicle(ReturnVehicleID(carName), pPos[0], pPos[1], pPos[2] + 1.00, pPos[3], 0, 0, 60));
    else vid = CreateVehicle(ReturnVehicleID(carName), pPos[0], pPos[1], pPos[2] + 1.00, pPos[3], 0, 0, 60);
       
    PutPlayerInVehicle(playerid, vid, 0);
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid)
{
    if(!IsCnRAdmin(playerid)) if(Iter_Contains(AdminVehicle, vehicleid)) RemovePlayerFromVehicle(playerid, vehicleid);
    else
    {
        if(Iter_Contains(AdminSpawnedVehicles, vehicleid)) RemovePlayerFromVehicle(playerid, vehicleid);
    }
    return 1;
}
Reply
#9

^^^^^^^^
Reply
#10

Put both commands in the GM then. And yes, the /veh command will allow non-admins to spawn cars.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)