Faction restricted vehicles help
#1

pawn Код:
new LSPDvehicles[] =
{
    596, 597, 598, 599, 601, 497, 528, 490, 430
};

new LSFDvehicles[] =
{
    416, 544, 407, 563
};

new taxivehicles[] =
{
    420, 431, 437, 438
};
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    //get vehicle id
    new vid;
    new factionrequired[10];
    vid = GetVehicleModel(vehicleid);
    //check for factions
    for(new i = 0; i <= 7; i++)
    {
        if(vid == LSPDvehicles[i])
        {
            factionrequired = "LSPD";
        } else if(vid == LSFDvehicles[i])
        {
            factionrequired = "LSFD";
        } else if(vid == taxivehicles[i])
        {
            factionrequired = "taxi";
        } else {
            factionrequired = "none";
        }
    }
   
    new test[128];
    format(test, sizeof(test), "FactionRequired: %s - Faction: %s", factionrequired, pInfo[playerid][Faction]);
    SendClientMessage(playerid, -1, test);
   
    if(!strcmp(pInfo[playerid][Faction], factionrequired, true, 20))
    {
        SendClientMessage(playerid, -1, "allowed");
    } else {
        SendClientMessage(playerid, -1, "not allowed");
    }
    return 1;
}
Anyone know why when I enter a vehicle, I don't get any messages at all when it should be sending two client message?
Reply
#2

Bumpppppp
Reply
#3

This should work for you, basically your 'strcmp' function was using the cell length parameter, which does not equal 20 in this case... I won't explain it now, but research it a little and you'll understand.

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    //get vehicle id
    new vid;
    new factionrequired[5] = "None";
    vid = GetVehicleModel(vehicleid);
    //check for factions
    for(new i = 0; i < sizeof(LSPDvehicles); i++)
    {
        if(vid == LSPDvehicles[i])
        {
            factionrequired = "LSPD";
            break;
        }
        else if(vid == LSFDvehicles[i])
        {
            factionrequired = "LSFD";
            break;
        }
        else if(vid == taxivehicles[i])
        {
            factionrequired = "taxi";
            break;
        }
    }

    new test[128];
    format(test, sizeof(test), "FactionRequired: %s - Faction: %s", factionrequired, pInfo[playerid][Faction]);
    SendClientMessage(playerid, -1, test);

    if(strcmp(pInfo[playerid][Faction], factionrequired, true) == 0)
    {
        SendClientMessage(playerid, -1, "allowed");
    }
    else
    {
        SendClientMessage(playerid, -1, "not allowed");
        ClearAnimations(playerid);
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)