Run time error 3: "Stack/heap collision (insufficient stack size)"
#1

Why Does It Say: [14:58:40] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[14:58:40] [debug] Stack pointer (STK) is 0x28CFA0, heap pointer (HEA) is 0x292CC4
[14:58:40] [debug] AMX backtrace:
[14:58:40] [debug] #0 ?? in public cmd_pv () from LSGW2.amx
[14:58:40] [debug] #1 native CallLocalFunction () [00472ad0] from samp-server.exe
[14:58:40] [debug] #2 ?? in public OnPlayerCommandText () from LSGW2.amx

In The Server Console When I Do This Command:
pawn Код:
COMMAND:pv(playerid, params[])
{
    new vehicleid = GetPlayerVehicleID(playerid), modelid = GetVehicleModel(vehicleid), Float:Vehiclepos[MAX_VEHICLES][4], Carcolor1, Carcolor2;
    if(PlayerDat[playerid][InGang] == 0) return SendClientMessage(playerid,Red,"[ERROR]:- {EA0000}You Are Not In A Gang");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Red,"You Aren't In Any Vehicle!");
    if(GangVehicle[vehicleid] == 0) return SendClientMessage(playerid, Red, "You Aren't In A Gang Vehicle!");
    if(!strcmp(pName(playerid),dini_Get(gFile(dini_Get(pFile(playerid),"GangName")),"GangOwner"),false))
    {
      GetVehiclePos(vehicleid, Vehiclepos[vehicleid][0], Vehiclepos[vehicleid][1], Vehiclepos[vehicleid][2]);
      GetVehicleZAngle(vehicleid, Vehiclepos[vehicleid][3]);
      GetVehicleColor(vehicleid, Carcolor1, Carcolor1);
      dini_IntSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1",vehicleid);
      dini_IntSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1Model",modelid);
      dini_FloatSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1PosX",Vehiclepos[vehicleid][0]);
      dini_FloatSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1PosY",Vehiclepos[vehicleid][1]);
      dini_FloatSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1PosZ",Vehiclepos[vehicleid][2]);
      dini_FloatSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1PosAngle",Vehiclepos[vehicleid][3]);
      dini_IntSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1Color1",Carcolor1);
      dini_IntSet(gFileId(PlayerDat[playerid][GangID]),"GangCar1Color2",Carcolor2);
      DestroyVehicle(vehicleid);
      CreateVehicle(modelid, Vehiclepos[vehicleid][0], Vehiclepos[vehicleid][1], Vehiclepos[vehicleid][2], Vehiclepos[vehicleid][3], Carcolor1, Carcolor2, 0);
      PutPlayerInVehicle(playerid, vehicleid, 0);
      SendClientMessage(playerid, 0x00F2FFFF, "Successfully Saved This Vehicle To These Positions.");
    }
    else {
    SendClientMessage(playerid,Red,"[ERROR]:- {EA0000}You Are Not A Gang Owner");
    }
    return 1;
}
Reply
#2

pawn Код:
Float:Vehiclepos[MAX_VEHICLES][4]
Why do you declare a 2D array inside the command with size of 2000? All you need is just:
pawn Код:
Float:Vehiclepos[4]
and
pawn Код:
GetVehiclePos(vehicleid, Vehiclepos[0], Vehiclepos[1], Vehiclepos[2]);
GetVehicleZAngle(vehicleid, Vehiclepos[3]);
Replace the other 2 left (in dini_FloatSet and in CreateVehicle) too.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)