Several Errors
#1

I've got a friend who's using a script and it's flooding the server logs with debug messages like there's no tomorrow!

Here's a sample:
Код:
[22:23:44] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[22:23:44] [debug] Stack pointer (STK) is 0x663B0C, heap pointer (HEA) is 0x663B34
[22:23:44] [debug] AMX backtrace:
[22:23:44] [debug] #0 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #1 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #2 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #3 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #4 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #5 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #6 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #7 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #8 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #9 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #10 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #11 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #12 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #13 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #14 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #15 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #16 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #17 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #18 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #19 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #20 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #21 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #22 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #23 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #24 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #25 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #26 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #27 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #28 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #29 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #30 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #31 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #32 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #33 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #34 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #35 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #36 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #37 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #38 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #39 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #40 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #41 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #42 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #43 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #44 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #45 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #46 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #47 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #48 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #49 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #50 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #51 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #52 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #53 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #54 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #55 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #56 ???????? in public OnVehicleSpawn ()
[22:23:44] [debug] #57 native SetVehicleToRespawn () [080caab0] from samp03svr
[22:23:44] [debug] #58 ???????? in public OnVehicleSpawn ()
That's just a snippet of it.
Here's the code:
pawn Код:
public OnVehicleSpawn(vehicleid)
{
    VSpawned[vehicleid] = 1;
    HoodStatus[vehicleid] = 0;
    TrunkStatus[vehicleid] = 0;
    VehicleEngine[vehicleid] = 0;
    VehicleWindows[vehicleid] = 0;
    CarRadio[vehicleid] = 0;
    if(VehicleOwned[vehicleid] != SCRIPT_CARS)
    {
        if(VehSpawned[vehicleid] == 0)
        {
            VehicleOwned[vehicleid] = SCRIPT_CARS;
            DestroyVehicle(vehicleid);
            VehSpawned[vehicleid] = 0;
        }
        else
        {
            VehSpawned[vehicleid] = 0;
        }
    }
    new string[128];
    new Float:carpos_x,Float:carpos_y,Float:carpos_z;
    format(string, 128, "SA - %d",vehicleid);
    SetVehicleNumberPlate(vehicleid, string);
    GetVehiclePos(vehicleid,carpos_x,carpos_y,carpos_z);
    SetVehicleToRespawn(vehicleid);
    SetVehiclePos(vehicleid,carpos_x,carpos_y,carpos_z);
    DestroyObject(UCL[vehicleid]);
    DestroyObject(VehicleNeon1[vehicleid]);
    DestroyObject(VehicleNeon2[vehicleid]);
    VehicleNeon1[vehicleid] = 0;
    VehicleNeon2[vehicleid] = 0;
    UCL[vehicleid] = 0;
    return 1;
}
I'm a LITTLE familiar with some aspects of PAWN and learning as I'm going, but require some assistance on understanding what exactly is going on here. Whenever "SetVehicleToRespawn" is used in the script, it's causing some debug messages to FLOOD the logs.
Can anyone shed some light on this?
Reply
#2

You're making a infinite loop there I think. It's going like this:
Vehicle spawns > SetVehicleToRespawn called > OnVehicleSpawn called > SetVehicleToRespawn called e.t.c.
Remove the SetVehicleToRespawn from the OnVehicleSpawn callback, or make sure it's just called once:
pawn Код:
new svtrcalled = 0;
public OnVehicleSpawn(vehicleid)
{
    VSpawned[vehicleid] = 1;
    HoodStatus[vehicleid] = 0;
    TrunkStatus[vehicleid] = 0;
    VehicleEngine[vehicleid] = 0;
    VehicleWindows[vehicleid] = 0;
    CarRadio[vehicleid] = 0;
    if(VehicleOwned[vehicleid] != SCRIPT_CARS)
    {
        if(VehSpawned[vehicleid] == 0)
        {
            VehicleOwned[vehicleid] = SCRIPT_CARS;
            DestroyVehicle(vehicleid);
            VehSpawned[vehicleid] = 0;
        }
        else
        {
            VehSpawned[vehicleid] = 0;
        }
    }
    new string[128];
    new Float:carpos_x,Float:carpos_y,Float:carpos_z;
    format(string, 128, "SA - %d",vehicleid);
    SetVehicleNumberPlate(vehicleid, string);
    GetVehiclePos(vehicleid,carpos_x,carpos_y,carpos_z);
    if(svtrcalled == 0)
    {
        svtrcalled = 1;
        SetVehicleToRespawn(vehicleid);
    }
    SetVehiclePos(vehicleid,carpos_x,carpos_y,carpos_z);
    DestroyObject(UCL[vehicleid]);
    DestroyObject(VehicleNeon1[vehicleid]);
    DestroyObject(VehicleNeon2[vehicleid]);
    VehicleNeon1[vehicleid] = 0;
    VehicleNeon2[vehicleid] = 0;
    UCL[vehicleid] = 0;
    return 1;
}
With the code above, it will be only called once for each vehicle.
Reply
#3

I see what you mean.
I'm going to give this a shot. Thanks for the help!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)