Pawno Crash?
#9

These two errors mean you have these callbacks more than once in the same script.

Code:
C:\Users\***\\Documents\GT Testing\gamemodes\GranTrucking.pwn(2088) : error 021: symbol already defined: "OnPlayerStateChange"
C:\Users\***\Documents\GT Testing\gamemodes\GranTrucking.pwn(2174) : error 021: symbol already defined: "OnPlayerKeyStateChange"
So basically, you have more than one OnPlayerStateChange, and more than one OnPlayerKeyStateChange. You need to delete whatever one has the least code in it, and move it to the other one. Currently you have something like this:

pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

//Located somewhere else in your script:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
    new vid, Name[24], Msg[128], engine, lights, alarm, doors, bonnet, boot, objective;
    switch (newstate)
    {
        case PLAYER_STATE_DRIVER:
        {
            vid = GetPlayerVehicleID(playerid);
            GetPlayerName(playerid, Name, sizeof(Name));
            if (AVehicleData[vid][Owned] == true)
            {
                if (strcmp(AVehicleData[vid][Owner], Name, false) != 0)
                {
                    RemovePlayerFromVehicle(playerid);
                    GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective);
                    format(Msg, 128, TXT_SpeedometerCannotUseVehicle, AVehicleData[vid][Owner]);
                    SendClientMessage(playerid, 0xFFFFFFFF, Msg);
                }
                if (AVehicleData[vid][Clamped] == true)
                {
                    RemovePlayerFromVehicle(playerid);
                    GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective);
                    format(Msg, 128, TXT_SpeedometerClampedVehicle);
                    SendClientMessage(playerid, 0xFFFFFFFF, Msg);
                    format(Msg, 128, TXT_SpeedometerClampedVehicle2);
                    SendClientMessage(playerid, 0xFFFFFFFF, Msg);
                }
            }
            if (APlayerData[playerid][PlayerClass] != ClassPolice)
            {
                if (AVehicleData[vid][StaticVehicle] == true)
                {
                    switch (GetVehicleModel(vid))
                    {
                        case VehiclePoliceLSPD, VehiclePoliceSFPD, VehiclePoliceLVPD, VehicleHPV1000, VehiclePoliceRanger:
                        {
                            RemovePlayerFromVehicle(playerid);
                            GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
                            SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective);
                            SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Error: {FFFFFF}You can not use a police vehicle!");
                        }
                    }
                }
            }
            if (APlayerData[playerid][PlayerClass] != ClassPilot)
            {
                if (AVehicleData[vid][StaticVehicle] == true)
                {
                    switch (GetVehicleModel(vid))
                    {
                        case VehicleShamal, VehicleNevada, VehicleStuntPlane, VehicleDodo, VehicleMaverick, VehicleCargobob:
                        {
                            // Force the player out of the vehicle
                            RemovePlayerFromVehicle(playerid);
                            // Turn off the lights and engine
                            GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
                            SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective);
                            // Let the player know he cannot use a cop car
                            SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Error: {FFFFFF}You can not use a pilot vehicle!");
                        }
                    }
                }
            }
        }
    }
    new vehicleid = GetPlayerVehicleID(playerid);

    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(VehicleEngine[vehicleid] == 0)
        {
            TogglePlayerControllable(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Note: {FFFFFF}Your vehicle is not started!");
            SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Press SHIFT to start the engine.");
        }
        else if(VehicleEngine[vehicleid] == 1)
        {
            TogglePlayerControllable(playerid, 1);
            SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Engine is currently running..");
        }
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    switch (APlayerData[playerid][PlayerClass])
    {
        case ClassPolice:
        {
            if(((newkeys & KEY_HANDBRAKE) && !(oldkeys & KEY_HANDBRAKE)) && (GetPlayerVehicleID(playerid) == 0))
                Police_FineNearbyPlayers(playerid);
            if(((newkeys & KEY_ACTION) && !(oldkeys & KEY_ACTION)) && (GetPlayerVehicleID(playerid) != 0))
                Police_WarnNearbyPlayers(playerid);
        }
        case ClassAssistance:
        {
            if(((newkeys & KEY_HANDBRAKE) && !(oldkeys & KEY_HANDBRAKE)) && (GetPlayerVehicleID(playerid) == 0))
            {
                Assistance_FixVehicle(playerid);
            }
            if(((newkeys & KEY_ACTION) && !(oldkeys & KEY_ACTION)) && (GetPlayerVehicleID(playerid) != 0))
            {
                Assistance_FixOwnVehicle(playerid);
            }
        }
    }
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == VehicleTowTruck)
    {
        if(newkeys & KEY_FIRE)
        {
            new closest = GetClosestVehicle(playerid);
            if(VehicleToPlayer(playerid, closest) < 10)
                AttachTrailerToVehicle(closest, GetPlayerVehicleID(playerid));
        }
    }
    new vehicleid = GetPlayerVehicleID(playerid);

    if(IsPlayerInAnyVehicle(playerid))
    {
        if(VehicleEngine[vehicleid] == 0)
        {
            if(newkeys == KEY_JUMP)
            {
                VehicleEngine[vehicleid] = 2;
                SetTimerEx("StartEngine", 3000, 0, "i", playerid);
                SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Starting {FFFFFF}engine..");
            }
        }
        if(newkeys == KEY_SECONDARY_ATTACK)
        {
            RemovePlayerFromVehicle(playerid);
            TogglePlayerControllable(playerid, 1);
        }
    }
    return 1;
}
So you need to remove the first two empty callbacks, so that you are only left with the callbacks that contain code.
Reply


Messages In This Thread
Pawno Crash? - by NathNathii - 08.05.2013, 23:55
Re: Pawno Crash? - by vvhy - 09.05.2013, 02:45
Re: Pawno Crash? - by Skyrise - 09.05.2013, 03:09
Re: Pawno Crash? - by NathNathii - 09.05.2013, 11:37
Re: Pawno Crash? - by MrTinder - 09.05.2013, 14:00
Re: Pawno Crash? - by NathNathii - 09.05.2013, 17:24
Re: Pawno Crash? - by NathNathii - 09.05.2013, 23:12
Re: Pawno Crash? - by NathNathii - 16.05.2013, 13:00
Re: Pawno Crash? - by Threshold - 16.05.2013, 13:11

Forum Jump:


Users browsing this thread: 2 Guest(s)