SA-MP Forums Archive
fatal error 102: table overflow: "staging buffer" help ASAP - 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: fatal error 102: table overflow: "staging buffer" help ASAP (/showthread.php?tid=65346)



fatal error 102: table overflow: "staging buffer" help ASAP - LordShigi - 11.02.2009

pawn Код:
if(PlayerToPoint(2.0, playerid, 2505.359,-1694.991,12.682) || PlayerToPoint(2.0, playerid, 2016.005,-2408.939,12.676) || PlayerToPoint(2.0, playerid, 2008.825,-2409.354,12.676) || PlayerToPoint(2.0, playerid, -1703.099,409.712,6.309))
                {
                if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 562 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 565 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 559 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 561 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 560 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 575 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 534 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 567 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 536 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 535 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 576 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 411 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 579 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 597 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 602 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 496 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 518 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 527 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 589 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 597 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 419 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 533 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 526 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 474 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 545 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 517 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 410 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 600 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 436 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 580 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 439 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 549 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 491 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 445 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 604 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 507 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 585 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 587 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 466 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 492 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 546 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 551 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 516 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 467 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 426 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 547 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 405 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 409 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 550 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 566 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 540 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 421 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 529 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 431 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 438 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 437 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 420 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 552 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 416 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 433 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 427 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 490 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 528 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 407 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 544 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 470 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 598 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 596 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 597 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 599 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 597 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 601 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 428 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 499 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 609 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 524 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 578 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 486 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 406 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 573 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 455 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 588 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 403 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 514 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 423 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 414 ||
                  GetVehicleModel(GetPlayerVehicleID(playerid)) == 443 ||
                  GetVehicleModel(GetPlayerVehicleID(playerid)) == 515 ||
                GetVehicleModel(GetPlayerVehicleID(playerid)) == 456 ||
                GetVehicleModel(GetPlayerVehicleID(playerid)) == 422 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 482 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 530 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 418 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 572 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 413 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 440 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 543 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 583 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 478 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 554 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 402 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 542 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 603 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 475 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 568 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 504 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 457 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 483 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 508 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 429 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 541 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 415 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 480 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 434 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 506 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 451 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 555 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 477 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 400 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 404 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 489 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 479 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 442 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 458 ||
                    GetVehicleModel(GetPlayerVehicleID(playerid)) == 558)
                {
                    ShowMenuForPlayer(TuningMenu, playerid);
                    TogglePlayerControllable(playerid,0);
                    }
                    else
                    {

This are the lines around the error.I get this error.
Код:
D:\Igre\Rockstar Games\samp server 2.X\gamemodes\gf.pwn(10553) : fatal error 102: table overflow: "staging buffer"

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
I think that that error is becouse of too long statement. But how can i fix it without loosing the function of it


Re: fatal error 102: table overflow: "staging buffer" help ASAP - [RP]Rav - 11.02.2009

well, you can break it up into pieces, firstly what I'd do is generalise some code (fancy words )

Код:
if(PlayerToPoint(2.0, playerid, 2505.359,-1694.991,12.682) || PlayerToPoint(2.0, playerid, 2016.005,-2408.939,12.676) || PlayerToPoint(2.0, playerid, 2008.825,-2409.354,12.676) || PlayerToPoint(2.0, playerid, -1703.099,409.712,6.309))
{
   if (!IsPlayerInAnyVehicle(playerid))
      return 1; // safety first

   new model = GetVehicleModel(GetPlayerVehicleID(playerid));

   if (model == || model == || model == .....)
      // do something

   if (model == || model == || model == .....)
      // do something

   if (model == || model == || model == .....)
      // do something

}
or you can put the vehicle models into an array, and loop through it

Код:
new AllowedCarModels[] = { 400, 401, 402, 403, 404 ..... 602 };

....

for (new i = 0; i < sizeof(AllowedCarModels); i++)
   if (model == AllowedCarModels[i])
   {
      // groovy code
   }



Re: fatal error 102: table overflow: "staging buffer" help ASAP - LordShigi - 11.02.2009

So i Just do it like this?

pawn Код:
//Beginning of the script
new AllowedCarModels[] = {all car IDs writen in the first post};

// Command
if(PlayerToPoint(2.0, playerid, 2505.359,-1694.991,12.682) || PlayerToPoint(2.0, playerid, 2016.005,-2408.939,12.676) || PlayerToPoint(2.0, playerid, 2008.825,-2409.354,12.676) || PlayerToPoint(2.0, playerid, -1703.099,409.712,6.309))
{
   for (new i = 0; i < sizeof(AllowedCarModels); i++)
      if (model == AllowedCarModels[i])
      {
          ShowMenuForPlayer(TuningMenu, playerid);
          TogglePlayerControllable(playerid,0);
      }



Re: fatal error 102: table overflow: "staging buffer" help ASAP - [RP]Rav - 11.02.2009

yes you do

for optimalisation I'd use

Код:
if(PlayerToPoint(2.0, playerid, 2505.359,-1694.991,12.682) || PlayerToPoint(2.0, playerid, 2016.005,-2408.939,12.676) || PlayerToPoint(2.0, playerid, 2008.825,-2409.354,12.676) || PlayerToPoint(2.0, playerid, -1703.099,409.712,6.309))
{
   for (new i = 0; i < sizeof(AllowedCarModels); i++)
      if (model == AllowedCarModels[i])
      {
          ShowMenuForPlayer(TuningMenu, playerid);
	      TogglePlayerControllable(playerid,0);
          return 1;
      }
}
the "return 1;" bit stops it from looping the entire array if a match has been found, you can also use "break", if you have code underneath the loop