SA-MP Forums Archive
Faction restricted vehicles help - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Faction restricted vehicles help (/showthread.php?tid=422407)



Faction restricted vehicles help - Nathan_Taylor - 13.03.2013

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?


Re: Faction restricted vehicles help - Nathan_Taylor - 13.03.2013

Bumpppppp


Re: Faction restricted vehicles help - Threshold - 13.03.2013

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