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