[02:48:19] Filterscript 'Actor.amx' unloaded. [02:48:19] [debug] Run time error 7: "Stack underflow" [02:48:19] [debug] Stack pointer (STK) is 0x0, stack top (STP) is 0x0 [02:48:19] [debug] Server crashed due to an unknown error [02:48:19] [debug] System backtrace: [02:48:19] [debug] #0 f68350f3 in _ZN10StackTraceC1EPv () from plugins/crashdetect.so [02:48:19] [debug] #1 f682cb61 in _ZN11crashdetect20PrintSystemBacktraceEPv () from plugins/crashdetect.so [02:48:19] [debug] #2 f682f441 in _ZN11crashdetect15SystemExceptionEPv () from plugins/crashdetect.so [02:48:19] [debug] #3 f6834c42 in ?? () from plugins/crashdetect.so [02:48:19] [debug] #4 f76e6400 in ?? () [02:48:19] [debug] #5 f682bbcd in _ZN11crashdetectC1EP6tagAMX () from plugins/crashdetect.so [02:48:19] [debug] #6 f682dbdc in _ZN11crashdetect11GetInstanceEP6tagAMX () from plugins/crashdetect.so [02:48:19] [debug] #7 f6833242 in ?? () from plugins/crashdetect.so [02:48:19] [debug] #8 080a1c92 in ?? () from ./samp03svr [02:48:19] [debug] #9 080b134a in ?? () from ./samp03svr [02:48:19] [debug] #10 08071d38 in ?? () from ./samp03svr [02:48:19] [debug] #11 08071e32 in ?? () from ./samp03svr [02:48:19] [debug] #12 0807bc20 in ?? () from ./samp03svr [02:48:19] [debug] #13 080ae9fd in ?? () from ./samp03svr [02:48:19] [debug] #14 080aebc2 in ?? () from ./samp03svr [02:48:19] [debug] #15 080a9e9a in ?? () from ./samp03svr [02:48:19] [debug] #16 f7440e46 in __libc_start_main () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 [02:48:19] [debug] #17 0804b4e1 in ?? () from ./samp03svr
|
Actually, I think stack underflows are caused by removing TOO MUCH stuff from the stack, which can't normally happen if you use the compiler.
|
public OnFilterScriptInit()
{
car_dealer = CreateActor(50,2114.6985,-1178.0482,24.1448, 84.6794);
ApplyActorAnimation(car_dealer, "CAR","Fixn_Car_Loop",4.0, 1,0,0,1,10000); // fix car anim
car_dealer_label = Create3DTextLabel(actor_names[2], -1, 2116.8110,-1178.1996,23.9974, 40.0, 0, 0);
SetActorInvulnerable(car_dealer, true);
//Mapping for actor
CreateDynamicObject(3594, 2117.70337, -1175.98926, 23.71290, 0.00000, 0.00000, 0.00000);
CreateDynamicObject(1000, 2119.90503, -1179.86096, 23.05910, 0.00000, 0.00000, 40.00000);
CreateDynamicObject(1009, 2115.63818, -1180.58069, 23.08100, 0.00000, 0.00000, -40.00000);
CreateDynamicObject(1010, 2119.54102, -1178.49902, 23.06220, 0.00000, 0.00000, 0.00000);
CreateDynamicObject(1034, 2116.17700, -1173.26392, 23.78080, 0.00000, 0.00000, 180.00000);
CreateDynamicObject(1169, 2114.65649, -1179.17090, 23.36750, 0.00000, 0.00000, 120.00000);
// textdraws below only
public OnFilterScriptExit()
{
DestroyActor(car_dealer);
Delete3DTextLabel(car_dealer_label);
DestroyVehicle(car_dealer_car[0]);
return 1;
}
new car_dealer;
new Text3D:car_dealer_label;
new actor_names [] [] = { "bob", "1", "Darnell" };
new OnCarDelMission[MAX_PLAYERS];
new Text:TDEditor_TD[27];
new car_dealer_car[1];
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
//new onmission = GetPVarInt(playerid, "OnCarDelMission"); // car delivery mission pvar
if(clickedid == TDEditor_TD[16]) // Accept
{
SendClientMessage(playerid, 0xFFFFFFAA, "Find the vehicle in Dilliamore!");
/*new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(car_dealer_car[0],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(car_dealer_car[0],1,0,0,1,0,0,1);*/
//new car_dealer_car[0] = CreateTempCar(475, 720.9147,-441.7868,16.1391,89.7415, 3, 3, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
car_dealer_car[0] = CreateVehicle(475, 720.9147,-441.7868,16.1391,89.7415, 3, 3, -1);
MissionHide(playerid);
CancelSelectTextDraw(playerid);
OnCarDelMission[playerid] = 1;
for(new i=0; i < MAX_PLAYERS; i++)
{
if(i == playerid && OnCarDelMission[playerid] == 1) continue;
SetVehicleParamsForPlayer(car_dealer_car[0],i,1,0);
}
}
if(clickedid == TDEditor_TD[17]) // Decline
{
SendClientMessage(playerid, -1, "You declined a mission");
MissionHide(playerid);
CancelSelectTextDraw(playerid);
}
if(clickedid == TDEditor_TD[26]) // Close
{
CancelSelectTextDraw(playerid);
CarMissionCompleteHide(playerid);
}
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
//new onmission = GetPVarInt(forplayerid, "OnCarDelMission"); // car delivery mission pvar
if(vehicleid == car_dealer_car[0])
{
if(OnCarDelMission[forplayerid] == 1) //If player is in mission.
{
SetVehicleParamsForPlayer(car_dealer_car[0], forplayerid, 1, 0); //Unlocks the vehicle.
}
else
{
SetVehicleParamsForPlayer(car_dealer_car[0], forplayerid, 1, 1); //Locks the vehicle.
}
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) // Player entered a vehicle as a driver
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == car_dealer_car[0])
{
SendClientMessage(playerid, 0xFFFFFFAA, "Great you have found the vehicle, deliver the vehicle back to Darnell.");
SetPlayerCheckpoint(playerid, 2120.2507,-1185.5532,24.0585, 4);
return 1;
}
}
return 1;
}
MissionHide(playerid)
{
TextDrawHideForPlayer(playerid, TDEditor_TD[0]);
TextDrawHideForPlayer(playerid, TDEditor_TD[1]);
TextDrawHideForPlayer(playerid, TDEditor_TD[2]);
TextDrawHideForPlayer(playerid, TDEditor_TD[3]);
TextDrawHideForPlayer(playerid, TDEditor_TD[4]);
TextDrawHideForPlayer(playerid, TDEditor_TD[5]);
TextDrawHideForPlayer(playerid, TDEditor_TD[6]);
TextDrawHideForPlayer(playerid, TDEditor_TD[7]);
TextDrawHideForPlayer(playerid, TDEditor_TD[8]);
TextDrawHideForPlayer(playerid, TDEditor_TD[9]);
TextDrawHideForPlayer(playerid, TDEditor_TD[10]);
TextDrawHideForPlayer(playerid, TDEditor_TD[11]);
TextDrawHideForPlayer(playerid, TDEditor_TD[12]);
TextDrawHideForPlayer(playerid, TDEditor_TD[13]);
TextDrawHideForPlayer(playerid, TDEditor_TD[14]);
TextDrawHideForPlayer(playerid, TDEditor_TD[15]);
TextDrawHideForPlayer(playerid, TDEditor_TD[16]);
TextDrawHideForPlayer(playerid, TDEditor_TD[17]);
return 1;
}