2-3 seconds lag when someone joins or disconnect
#1

As title says, my server gets stucked for 2-3 seconds if someone joins or quit, this are the OnPlayerConnect and OnPlayerDisconnect callbacks, maybe you guys can help me fixing this:

pawn Код:
public OnPlayerConnect(playerid)
{
    SendDeathMessage(INVALID_PLAYER_ID,playerid, 200);

    StealingA69Prot[playerid] = 0;
    CapturingABAP[playerid] = 0;
    CapturingA69[playerid] = 0;
    CapturingHQ[playerid] = 0;
    CapturingBS[playerid] = 0;
    CapturingSFB[playerid] = 0;
    SpeedWarnings[playerid] = 0;
    pSpawned[playerid] = 0;
    pAlive[playerid] = 0;
    pCheck[playerid] = 0;
    IsTakingOverTurf[playerid] = 0;
    RhinoKills[playerid] = 0;
    HydraKills[playerid] = 0;
    HunterKills[playerid] = 0;
    SeaSparrowKills[playerid] = 0;
    RustlerKills[playerid] = 0;
    cowit[playerid] = 0;
    killstreak[playerid] = 0;
   
    //==============Map Icons================================
    SetPlayerMapIcon(playerid,6, 388.7785,2481.7974,16.4844, 5, 0, MAPICON_GLOBAL); //Abandoned Airport
    SetPlayerMapIcon(playerid,7, 160.7681,1903.1256,18.7615, 6, 0, MAPICON_GLOBAL); //Area69
    SetPlayerMapIcon(playerid,8, 397.7717,858.3791,20.0455, 11, 0, MAPICON_GLOBAL); //Hunter Quarry
    SetPlayerMapIcon(playerid,9, -2498.7642,2359.2964,14.1182, 18, 0, MAPICON_GLOBAL); //Bayside
    SetPlayerMapIcon(playerid,10, -1400.9016,660.2661,34.5781, 20, 0, MAPICON_GLOBAL); //Red Gant Bridge
   
    GangZoneShowForPlayer(playerid, Zone[AbandonedAp], COLOR_BLUE);
    GangZoneShowForPlayer(playerid, Zone[Area69], COLOR_RED);
    GangZoneShowForPlayer(playerid, Zone[HunterQuarry], COLOR_ORANGE);
    GangZoneShowForPlayer(playerid, Zone[Bayside], COLOR_LIGHTGREEN);
    GangZoneShowForPlayer(playerid, Zone[SFBridge], COLOR_BLUE);

    TextDrawSetString(Sprite0, Sprites[random(sizeof(Sprites))]);
    TextDrawShowForPlayer(playerid,Sprite0);
   
    TextDrawShowForPlayer(playerid, WebSiteTxd);
    TextDrawShowForPlayer(playerid, ScoreLeftTxd[playerid]);
   
    TextDrawShowForPlayer(playerid, Servt);

    RemoveBuildingForPlayer(playerid, 16362, 613.757812, 1692.390625, 9.109379, 27.887399);
    RemoveBuildingForPlayer(playerid, 1686, 603.336242, 1706.605102, 7.644559, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 606.646728, 1701.573730, 7.099120, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 610.009216, 1696.605834, 7.436709, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 613.262023, 1691.897583, 7.692870, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 616.643493, 1687.614624, 7.525199, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 619.869567, 1682.369873, 7.867209, 3.550774);
    RemoveBuildingForPlayer(playerid, 1686, 623.418029, 1677.466186, 7.932300, 3.550774);
    RemoveBuildingForPlayer(playerid, 16360, 641.843750, 1681.992187, 6.187500, 8.389793);

    RemoveBuildingForPlayer(playerid, 3362, 264.851562, 2893.164062, 8.937500, 7.234267);

    RemoveBuildingForPlayer(playerid, 3406, 258.156250, 2935.585937, -1.304690, 8.538468);

    RemoveBuildingForPlayer(playerid, 3406, 258.156250, 2926.781250, -1.296869, 8.538468);

    RemoveBuildingForPlayer(playerid, 3269, 230.523437, 2641.484375, 15.476559, 21.306108);

    RemoveBuildingForPlayer(playerid, 3271, 257.398437, 2614.617187, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 3271, 284.265625, 2641.484375, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 3270, 311.132812, 2614.617187, 15.476559, 21.630561);

    RemoveBuildingForPlayer(playerid, 3270, 338.007812, 2587.742187, 15.476559, 21.630561);

    RemoveBuildingForPlayer(playerid, 3271, 284.265625, 2587.742187, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 3271, 230.523437, 2587.742187, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 3269, 203.656250, 2614.617187, 15.476559, 21.306108);

    RemoveBuildingForPlayer(playerid, 3270, 176.789062, 2587.742187, 15.476559, 21.630561);

    RemoveBuildingForPlayer(playerid, 3269, 123.046882, 2587.742187, 15.476559, 21.306108);

    RemoveBuildingForPlayer(playerid, 3271, 149.914062, 2614.617187, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 3271, 176.789062, 2641.484375, 15.476559, 22.746503);

    RemoveBuildingForPlayer(playerid, 16012, -264.671875, 2596.570312, 61.820308, 27.246706);

    RemoveBuildingForPlayer(playerid, 956, -253.342880, 2600.154296, 63.545059, 3.317396);

    RemoveBuildingForPlayer(playerid, 955, -254.088989, 2598.555908, 63.383651, 3.335291);

    RemoveBuildingForPlayer(playerid, 16776, -237.023437, 2662.835937, 62.609378, 19.627531);

    RemoveBuildingForPlayer(playerid, 672, -243.031250, 2688.304687, 62.484378, 11.469558);

    RemoveBuildingForPlayer(playerid, 669, -232.164062, 2685.273437, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -202.570312, 2687.968750, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 1340, -198.102661, 2659.254394, 62.788520, 4.136054);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -206.632812, 2672.242187, 61.843750, 12.053597);

    RemoveBuildingForPlayer(playerid, 1223, -251.431686, 2647.537597, 63.626770, 4.867216);

    RemoveBuildingForPlayer(playerid, 16010, -569.617187, 2593.531250, 56.406250, 44.209087);

    RemoveBuildingForPlayer(playerid, 3285, -1464.343750, 2656.500000, 56.648441, 9.337607);

    RemoveBuildingForPlayer(playerid, 672, -1454.273437, 2640.140625, 55.828128, 11.469558);

    RemoveBuildingForPlayer(playerid, 669, -1457.867187, 2648.992187, 55.242191, 12.053597);

    RemoveBuildingForPlayer(playerid, 11461, -1466.031250, 2637.593750, 54.390628, 13.230206);

    RemoveBuildingForPlayer(playerid, 3173, -1447.234375, 2653.304687, 54.820308, 9.886816);

    RemoveBuildingForPlayer(playerid, 3170, -1446.453125, 2639.351562, 54.804691, 10.085197);

    RemoveBuildingForPlayer(playerid, 700, -1441.789062, 2647.328125, 55.226558, 11.084518);

    RemoveBuildingForPlayer(playerid, 3169, -1448.132812, 2690.781250, 54.726558, 9.895243);

    RemoveBuildingForPlayer(playerid, 3173, -1463.765625, 2692.859375, 54.820308, 9.886816);

    RemoveBuildingForPlayer(playerid, 700, -1454.890625, 2698.203125, 55.226558, 11.084518);

    RemoveBuildingForPlayer(playerid, 669, -1449.523437, 2705.476562, 55.242191, 12.053597);

    RemoveBuildingForPlayer(playerid, 672, -1466.992187, 2705.945312, 55.828128, 11.469558);

    RemoveBuildingForPlayer(playerid, 669, -1437.523437, 2691.898437, 55.242191, 12.053597);

    RemoveBuildingForPlayer(playerid, 11547, -1328.718750, 2677.507812, 52.210941, 12.683402);

    RemoveBuildingForPlayer(playerid, 1686, -1326.632812, 2685.121582, 50.581901, 3.550774);

    RemoveBuildingForPlayer(playerid, 1686, -1328.417358, 2680.010498, 51.536029, 3.550774);

    RemoveBuildingForPlayer(playerid, 1686, -1329.182006, 2674.782470, 51.031181, 3.550774);

    RemoveBuildingForPlayer(playerid, 1686, -1329.754638, 2669.691406, 50.215290, 3.550774);

    RemoveBuildingForPlayer(playerid, 11546, -1320.687500, 2700.953125, 49.265628, 11.028882);

    RemoveBuildingForPlayer(playerid, 16385, -122.742187, 1122.750000, 18.734380, 27.064142);

    RemoveBuildingForPlayer(playerid, 1308, -133.614105, 1137.713012, 20.917490, 8.530843);

    RemoveBuildingForPlayer(playerid, 1294, -136.808776, 1142.736083, 24.445100, 7.969655);

    RemoveBuildingForPlayer(playerid, 1345, -149.851562, 1133.765625, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1447, -155.008193, 1137.261108, 19.285400, 4.954127);

    RemoveBuildingForPlayer(playerid, 1447, -158.943206, 1137.261108, 20.173250, 4.954127);

    RemoveBuildingForPlayer(playerid, 669, -120.875000, 1110.421875, 18.679689, 12.053597);

    RemoveBuildingForPlayer(playerid, 1294, -118.476272, 1104.547241, 23.893409, 7.969655);

    RemoveBuildingForPlayer(playerid, 16070, -174.210937, 1120.453125, 24.406250, 29.030132);

    RemoveBuildingForPlayer(playerid, 1294, -164.130432, 1142.840820, 22.032030, 7.969655);

    RemoveBuildingForPlayer(playerid, 1308, -161.530578, 1161.672485, 30.141099, 8.530843);

    RemoveBuildingForPlayer(playerid, 1308, -161.689804, 1161.444580, 30.373090, 8.530843);

    RemoveBuildingForPlayer(playerid, 1294, -185.100738, 1138.655395, 22.201179, 7.969655);

    RemoveBuildingForPlayer(playerid, 1294, -187.162612, 1158.815063, 27.659450, 7.969655);

    RemoveBuildingForPlayer(playerid, 1294, -201.281646, 1141.654174, 25.190460, 7.969655);

    RemoveBuildingForPlayer(playerid, 16060, -192.046875, 1147.390625, 17.695310, 65.823989);

    RemoveBuildingForPlayer(playerid, 1294, -185.129577, 1123.592895, 23.033880, 7.969655);

    RemoveBuildingForPlayer(playerid, 1345, -160.265625, 1122.539062, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1308, -166.984146, 1107.934570, 22.746999, 8.530843);

    RemoveBuildingForPlayer(playerid, 16064, -161.171875, 1179.531250, 22.492189, 37.308399);

    RemoveBuildingForPlayer(playerid, 1345, -149.820312, 1164.109375, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1345, -170.171875, 1169.054687, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1345, -162.093750, 1175.140625, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1692, -174.242187, 1177.898437, 22.781250, 7.067902);

    RemoveBuildingForPlayer(playerid, 1308, -161.650497, 1161.916381, 25.567729, 8.530843);

    RemoveBuildingForPlayer(playerid, 1308, -160.480636, 1187.490600, 28.585350, 8.530843);

    RemoveBuildingForPlayer(playerid, 1308, -160.411987, 1187.340332, 27.203180, 8.530843);

    RemoveBuildingForPlayer(playerid, 1308, -132.053726, 1187.837768, 26.857860, 8.530843);

    RemoveBuildingForPlayer(playerid, 1294, -122.103736, 1183.439453, 21.811229, 7.969655);

    RemoveBuildingForPlayer(playerid, 1294, -133.166580, 1192.418945, 23.283739, 7.969655);

    RemoveBuildingForPlayer(playerid, 669, -127.000000, 1173.421875, 18.679689, 12.053597);

    RemoveBuildingForPlayer(playerid, 700, -126.171867, 1159.070312, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 1294, -136.557357, 1154.922241, 24.614709, 7.969655);

    RemoveBuildingForPlayer(playerid, 1294, -164.365158, 1154.922241, 23.666980, 7.969655);

    RemoveBuildingForPlayer(playerid, 16065, -219.375000, 1176.656250, 22.164060, 38.388645);

    RemoveBuildingForPlayer(playerid, 1345, -218.031250, 1164.921875, 19.539060, 3.510628);

    RemoveBuildingForPlayer(playerid, 1308, -228.932220, 1155.890869, 24.404529, 8.530843);

    RemoveBuildingForPlayer(playerid, 669, -232.812500, 1139.406250, 18.812500, 12.053597);

    RemoveBuildingForPlayer(playerid, 3286, -230.203125, 1185.773437, 23.351560, 7.711699);

    RemoveBuildingForPlayer(playerid, 769, -232.359375, 1174.476562, 18.578130, 18.055278);

    RemoveBuildingForPlayer(playerid, 1294, -200.958221, 1158.727416, 21.884330, 7.969655);

    RemoveBuildingForPlayer(playerid, 1294, -184.851165, 1173.660034, 23.244579, 7.969655);

    RemoveBuildingForPlayer(playerid, 700, -239.859375, 1148.960937, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 1352, -109.886528, 1188.066040, 21.995859, 4.579100);

    RemoveBuildingForPlayer(playerid, 11427, -793.156250, 1557.039062, 33.234378, 12.075402);

    RemoveBuildingForPlayer(playerid, 1308, -789.955566, 1547.311279, 28.904260, 8.530843);

    RemoveBuildingForPlayer(playerid, 11437, -775.593750, 1555.679687, 26.093750, 4.529256);

    RemoveBuildingForPlayer(playerid, 1308, -772.859130, 1527.195068, 26.842939, 8.530843);

    RemoveBuildingForPlayer(playerid, 11434, -743.968750, 1592.117187, 30.859380, 22.235107);

    RemoveBuildingForPlayer(playerid, 649, -853.148437, 1550.757812, 22.429689, 4.975738);

    RemoveBuildingForPlayer(playerid, 1308, -853.650817, 1556.145019, 25.711410, 8.530843);

    RemoveBuildingForPlayer(playerid, 11469, -861.757812, 1525.750000, 21.585939, 18.761302);

    RemoveBuildingForPlayer(playerid, 11470, -860.382812, 1526.562500, 30.460939, 10.474589);

    RemoveBuildingForPlayer(playerid, 652, -868.828125, 1504.265625, 19.867189, 12.086935);

    RemoveBuildingForPlayer(playerid, 1522, -858.148193, 1535.057739, 22.282150, 3.456696);

    RemoveBuildingForPlayer(playerid, 955, -862.235046, 1536.929687, 22.371389, 3.335291);

    RemoveBuildingForPlayer(playerid, 11422, -888.203125, 1664.539062, 29.015630, 46.390541);

    RemoveBuildingForPlayer(playerid, 3268, 276.656250, 1955.765625, 16.632810, 27.481317);

    RemoveBuildingForPlayer(playerid, 3268, 276.656250, 1989.546875, 16.632810, 27.481317);

    RemoveBuildingForPlayer(playerid, 3268, 276.656250, 2023.757812, 16.632810, 27.481317);

    RemoveBuildingForPlayer(playerid, 3283, -314.187500, 2720.640625, 62.210941, 9.726812);

    RemoveBuildingForPlayer(playerid, 1308, -307.947540, 2707.492187, 64.391403, 8.530843);

    RemoveBuildingForPlayer(playerid, 3242, -1493.835937, 2688.992187, 56.648441, 9.251562);

    RemoveBuildingForPlayer(playerid, 1308, -1485.855346, 2680.578125, 57.335639, 8.530843);

    RemoveBuildingForPlayer(playerid, 652, -752.898437, 1614.304687, 25.859380, 12.086935);

    RemoveBuildingForPlayer(playerid, 774, -82.968750, 1022.781250, 18.632810, 26.725738);

    RemoveBuildingForPlayer(playerid, 1308, -92.961273, 987.494140, 21.257350, 8.530843);

    RemoveBuildingForPlayer(playerid, 1447, -315.354675, 814.569335, 16.047380, 4.954127);

    RemoveBuildingForPlayer(playerid, 1447, -315.350555, 810.471679, 14.381050, 4.954127);

    RemoveBuildingForPlayer(playerid, 1447, -315.351898, 804.832275, 14.980420, 4.954127);

    RemoveBuildingForPlayer(playerid, 1447, -315.353057, 798.635070, 15.881859, 4.954127);

    RemoveBuildingForPlayer(playerid, 3337, -303.679687, 811.593750, 13.679690, 5.001899);

    RemoveBuildingForPlayer(playerid, 16770, -326.570312, 821.054687, 14.953129, 12.025771);

    RemoveBuildingForPlayer(playerid, 16769, -324.085937, 832.093750, 13.226559, 19.895101);

    RemoveBuildingForPlayer(playerid, 773, -310.765625, 822.054687, 12.812500, 18.251205);

    RemoveBuildingForPlayer(playerid, 1493, -316.512359, 830.261901, 14.699080, 3.456696);

    RemoveBuildingForPlayer(playerid, 16564, -318.765625, 1046.468750, 18.734380, 29.834249);

    RemoveBuildingForPlayer(playerid, 669, -342.679687, 1024.289062, 18.789060, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -353.687500, 1049.765625, 18.789060, 12.053597);

    RemoveBuildingForPlayer(playerid, 700, -351.968750, 1062.171875, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 669, -342.078125, 1078.460937, 18.789060, 12.053597);

    RemoveBuildingForPlayer(playerid, 700, -334.453125, 1085.992187, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 669, -321.703125, 1005.273437, 18.789060, 12.053597);

    RemoveBuildingForPlayer(playerid, 700, -313.742187, 1010.250000, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 700, -301.820312, 1001.656250, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 1294, -309.795959, 1013.266540, 20.585960, 7.969655);

    RemoveBuildingForPlayer(playerid, 669, -294.968750, 1000.914062, 18.789060, 12.053597);

    RemoveBuildingForPlayer(playerid, 769, -287.828125, 976.132812, 17.421880, 18.055278);

    RemoveBuildingForPlayer(playerid, 700, -289.062500, 1074.976562, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 773, -291.257812, 1085.093750, 17.656250, 18.251205);

    RemoveBuildingForPlayer(playerid, 774, -372.742187, 1066.281250, 17.250000, 26.725738);

    RemoveBuildingForPlayer(playerid, 774, -245.750000, 1111.281250, 17.945310, 26.725738);

    RemoveBuildingForPlayer(playerid, 669, -228.382812, 1111.875000, 18.828130, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -239.335937, 1070.281250, 18.781250, 12.053597);

    RemoveBuildingForPlayer(playerid, 700, -240.062500, 1050.632812, 19.015630, 11.084518);

    RemoveBuildingForPlayer(playerid, 669, -258.828125, 1036.125000, 18.773439, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -228.828125, 1050.750000, 18.812500, 12.053597);

    RemoveBuildingForPlayer(playerid, 669, -225.312500, 1127.210937, 18.804689, 12.053597);
   
   
    RemoveBuildingForPlayer(playerid, 11313, -1935.8594, 239.5313, 35.3516, 0.25); // SF - TransFender
    RemoveBuildingForPlayer(playerid, 10575, -2716.3516, 217.4766, 5.3828, 0.25);  // SF - Wheel Arch Angels
    RemoveBuildingForPlayer(playerid, 9093, 2386.6563, 1043.6016, 11.5938, 0.25); // LV - TransFender
    RemoveBuildingForPlayer(playerid, 5779, 1041.3516, -1025.9297, 32.6719, 0.25); // LS - TransFender
    RemoveBuildingForPlayer(playerid, 5340, 2644.8594, -2039.2344, 14.0391, 0.25); // LS - Loco Low Co.

    //Los Santos and Countryside
    RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 956, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
    RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);

    RemoveBuildingForPlayer(playerid, 956, 1634.1487,-2238.2810,13.5077, 20.0); //Snack vender @ LS Airport
    RemoveBuildingForPlayer(playerid, 956, 2480.9885,-1958.5117,13.5831, 20.0); //Snack vender @ Sushi Shop in Willowfield
    RemoveBuildingForPlayer(playerid, 955, 1729.7935,-1944.0087,13.5682, 20.0); //Sprunk machine @ Unity Station
    RemoveBuildingForPlayer(playerid, 955, 2060.1099,-1898.4543,13.5538, 20.0); //Sprunk machine opposite Tony's Liqour in Willowfield
    RemoveBuildingForPlayer(playerid, 955, 2325.8708,-1645.9584,14.8270, 20.0); //Sprunk machine @ Ten Green Bottles
    RemoveBuildingForPlayer(playerid, 955, 1153.9130,-1460.8893,15.7969, 20.0); //Sprunk machine @ Market
    RemoveBuildingForPlayer(playerid, 955,1788.3965,-1369.2336,15.7578, 20.0); //Sprunk machine in Downtown Los Santos
    RemoveBuildingForPlayer(playerid, 955, 2352.9939,-1357.1105,24.3984, 20.0); //Sprunk machine @ Liquour shop in East Los Santos
    RemoveBuildingForPlayer(playerid, 1775, 2224.3235,-1153.0692,1025.7969, 20.0); //Sprunk machine @ Jefferson Motel
    RemoveBuildingForPlayer(playerid, 956, 2140.2566,-1161.7568,23.9922, 20.0); //Snack machine @ pick'n'go market in Jefferson
    RemoveBuildingForPlayer(playerid, 956, 2154.1199,-1015.7635,62.8840, 20.0); //Snach machine @ Carniceria El Pueblo in Las Colinas
    RemoveBuildingForPlayer(playerid, 956, 662.5665,-551.4142,16.3359, 20.0); //Snack vender at Dillimore Gas Station
    RemoveBuildingForPlayer(playerid, 955, 200.2010,-107.6401,1.5513, 20.0); //Sprunk machine @ Blueberry Safe House
    RemoveBuildingForPlayer(playerid, 956, 2271.4666,-77.2104,26.5824, 20.0); //Snack machine @ Palomino Creek Library
    RemoveBuildingForPlayer(playerid, 955, 1278.5421,372.1057,19.5547, 20.0); //Sprunk machine @ Papercuts in Montgomery
    RemoveBuildingForPlayer(playerid, 955, 1929.5527,-1772.3136,13.5469, 20.0); //Sprunk machine @ Idlewood Gas Station

    //San Fierro
    RemoveBuildingForPlayer(playerid, 1302, -2419.5835,984.4185,45.2969, 20.0); //Soda machine 1 @ Juniper Hollow Gas Station
    RemoveBuildingForPlayer(playerid, 1209, -2419.5835,984.4185,45.2969, 20.0); //Soda machine 2 @ Juniper Hollow Gas Station
    RemoveBuildingForPlayer(playerid, 956, -2229.2075,287.2937,35.3203, 20.0); //Snack vender @ King's Car Park
    RemoveBuildingForPlayer(playerid, 955, -1349.3947,493.1277,11.1953, 20.0); //Sprunk machine @ SF Aircraft Carrier
    RemoveBuildingForPlayer(playerid, 956, -1349.3947,493.1277,11.1953, 20.0); //Snack vender @ SF Aircraft Carrier
    RemoveBuildingForPlayer(playerid, 955, -1981.6029,142.7232,27.6875, 20.0); //Sprunk machine @ Cranberry Station
    RemoveBuildingForPlayer(playerid, 955, -2119.6245,-422.9411,35.5313, 20.0); //Sprunk machine 1/2 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2097.3696,-397.5220,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2068.5593,-397.5223,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2039.8802,-397.5214,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2011.1403,-397.5225,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2005.7861,-490.8688,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2034.5267,-490.8681,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2063.1875,-490.8687,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium
    RemoveBuildingForPlayer(playerid, 955, -2091.9780,-490.8684,35.5313, 20.0); //Sprunk machine 3 @ SF Stadium

    //Las Venturas
    RemoveBuildingForPlayer(playerid, 956, -1455.1298,2592.4138,55.8359, 20.0); //Snack vender @ El Quebrados GONE
    RemoveBuildingForPlayer(playerid, 955, -252.9574,2598.9048,62.8582, 20.0); //Sprunk machine @ Las Payasadas GONE
    RemoveBuildingForPlayer(playerid, 956, -252.9574,2598.9048,62.8582, 20.0); //Snack vender @ Las Payasadas GONE
    RemoveBuildingForPlayer(playerid, 956, 1398.7617,2223.3606,11.0234, 20.0); //Snack vender @ Redsands West GONE
    RemoveBuildingForPlayer(playerid, 955, -862.9229,1537.4246,22.5870, 20.0); //Sprunk machine @ The Smokin' Beef Grill in Las Barrancas GONE
    RemoveBuildingForPlayer(playerid, 955, -14.6146,1176.1738,19.5634, 20.0); //Sprunk machine @ Fort Carson GONE
    RemoveBuildingForPlayer(playerid, 956, -75.2839,1227.5978,19.7360, 20.0); //Snack vender @ Fort Carson GONE
    RemoveBuildingForPlayer(playerid, 955, 1519.3328,1055.2075,10.8203, 20.0); //Sprunk machine @ LVA Freight Department GONE
    RemoveBuildingForPlayer(playerid, 956, 1659.5096,1722.1096,10.8281, 20.0); //Snack vender near Binco @ LV Airport GONE
    RemoveBuildingForPlayer(playerid, 955, 2086.5872,2071.4958,11.0579, 20.0); //Sprunk machine @ Sex Shop on The Strip
    RemoveBuildingForPlayer(playerid, 955, 2319.9001,2532.0376,10.8203, 20.0); //Sprunk machine @ Pizza co by Julius Thruway (North)
    RemoveBuildingForPlayer(playerid, 955, 2503.2061,1244.5095,10.8203, 20.0); //Sprunk machine @ Club in the Camels Toe
    RemoveBuildingForPlayer(playerid, 956, 2845.9919,1294.2975,11.3906, 20.0); //Snack vender @ Linden Station

    //Interiors: 24/7 and Clubs
    RemoveBuildingForPlayer(playerid, 1775, 496.0843,-23.5310,1000.6797, 20.0); //Sprunk machine 1 @ Club in Camels Toe
    RemoveBuildingForPlayer(playerid, 1775, 501.1219,-2.1968,1000.6797, 20.0); //Sprunk machine 2 @ Club in Camels Toe
    RemoveBuildingForPlayer(playerid, 1776, 501.1219,-2.1968,1000.6797, 20.0); //Snack vender @ Club in Camels Toe
    RemoveBuildingForPlayer(playerid, 1775, -19.2299,-57.0460,1003.5469, 20.0); //Sprunk machine @ Roboi's type 24/7 stores
    RemoveBuildingForPlayer(playerid, 1776, -35.9012,-57.1345,1003.5469, 20.0); //Snack vender @ Roboi's type 24/7 stores
    RemoveBuildingForPlayer(playerid, 1775, -17.0036,-90.9709,1003.5469, 20.0); //Sprunk machine @ Other 24/7 stores
    RemoveBuildingForPlayer(playerid, 1776, -17.0036,-90.9709,1003.5469, 20.0); //Snach vender @ Others 24/7 stores
   
    new joinMsg[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(joinMsg, sizeof(joinMsg), "3[%d]3 +++ %s has joined the server.", playerid, name);
    IRC_GroupSay(gGroupID, IRC_CHANNEL, joinMsg);
   
    new plrIP[16];
    new Year, Month, Day, Hour, Minute, Second;
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    GetPlayerName(playerid, name, sizeof(name));
    new string[150];
    format(string, sizeof(string), "%s (%d) has joined (%s) - %02d/%02d/%02d - %02d:%02d:%02d", name,playerid,plrIP,Day,Month,Year,Hour,Minute,Second);
    JoinsLog(string);
   
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    new IP[16];
    new ipschan[150];
    GetPlayerIp(playerid, IP, sizeof(IP));
    format(ipschan, sizeof(ipschan), "4** %s (%d) IP: %s - %02d/%02d/%02d - %02d:%02d:%02d", name,playerid,IP,Day,Month,Year,Hour,Minute,Second);
    printf("%s (%d) IP: %s - %02d/%02d/%02d - %02d:%02d:%02d",name,playerid,IP,Day,Month,Year,Hour,Minute,Second);
    dini_Set("/Logs/playerips.txt",name,IP);
    IRC_GroupSay(gGroupID, IRC_IPCHANNEL, ipschan);

    for( new i = 0; i <= 50; i ++ ) SCM(playerid,pink, "" );
    new welcome[120];
    format(welcome,sizeof(welcome),"{53C506}** {FFFFFF}Welcome to {F70505}%s {FFFFFF}- Owner: {F70505}%s",BUILD,OWNER);
    SCM(playerid, -1, welcome);
    SCM(playerid,pink, "** Please take time out to read /rules - /help - /cmds and /thelp for taking turfs!");
    SCM(playerid,0xFF8080FF, "** NOTICE: If you see anyone hacking please report it using /report [id] [reason]");
    SCM(playerid,-1, "** {53C506}> Enjoy your stay and have fun! :)");
   
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string), "/Users/%s.ini", plname);

    if (dini_Exists(string))
    {
    ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_INPUT,"Login","This account is registered, please input your password to login.","Login","Quit");
    }
    else
    {
    ShowPlayerDialog(playerid, 1246, DIALOG_STYLE_INPUT,"Register","Please insert your password to create a new account.","Register","Quit");
    }
    return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
   
    pSpawned[playerid] = 0;
    pCheck[playerid] = 0;
    pAlive[playerid] = 0;
    IsTakingOverTurf[playerid] = 0;
    CapturingABAP[playerid] = 0;
    CapturingA69[playerid] = 0;
    CapturingHQ[playerid] = 0;
    CapturingBS[playerid] = 0;
    CapturingSFB[playerid] = 0;
    RhinoKills[playerid] = 0;
    HydraKills[playerid] = 0;
    HunterKills[playerid] = 0;
    SeaSparrowKills[playerid] = 0;
    RustlerKills[playerid] = 0;
    killstreak[playerid] = 0;
    StealingA69Prot[playerid] = 0;
   
    new reasonMsg[30];
    switch(reason)
    {
        case 0: reasonMsg = "crashed/timeout";
        case 1: reasonMsg = "quit";
        case 2: reasonMsg = "been kicked/banned";
    }
    new Float:health;
    GetPlayerHealth(playerid,health);
    new Float:armour;
    GetPlayerArmour(playerid, armour);
    new msg[128];
    new name[24];
    GetPlayerName(playerid, name, 24);
    format(msg,sizeof(msg),"3[%d]3 --- %s has %s 3with %.0f HP and %.0f armour.", playerid, name,reasonMsg,health,armour);
    IRC_GroupSay(gGroupID, IRC_CHANNEL, msg);
   
    new file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
   
    if(pInfo[playerid][Logged] == 1)
    {
        dini_IntSet(file, "Admin",pInfo[playerid][Admin]);
        dini_IntSet(file, "Cash", GetPlayerMoney(playerid));
        dini_IntSet(file, "Vip",pInfo[playerid][Vip]);
        dini_IntSet(file, "Scores",GetPlayerScore(playerid));
        dini_IntSet(file, "Deaths",pInfo[playerid][Deaths]);
        dini_IntSet(file, "Nopm",pInfo[playerid][Nopm]);
        dini_IntSet(file, "Muted",pInfo[playerid][Muted]);
        dini_IntSet(file, "Vip",pInfo[playerid][Vip]);
        dini_IntSet(file, "Banned",pInfo[playerid][Banned]);
        dini_IntSet(file, "Cookies",pInfo[playerid][Cookies]);
        dini_IntSet(file, "Warn",pInfo[playerid][Warn]);
        dini_IntSet(file, "Jailed",pInfo[playerid][Jailed]);
        dini_IntSet(file, "AdminActions",pInfo[playerid][AdminActions]);
        dini_IntSet(file, "Rank",pInfo[playerid][Rank]);
        dini_IntSet(file, "TempBan",pInfo[playerid][TempBan]);
        dini_IntSet(file, "VipTime",pInfo[playerid][VipTime]);
        dini_IntSet(file, "KillAsUsaTeam",pInfo[playerid][KillAsUsaTeam]);
        dini_IntSet(file, "KillAsGermanyTeam,",pInfo[playerid][KillAsGermanyTeam]);
        dini_IntSet(file, "KillAsItalyTeam",pInfo[playerid][KillAsItalyTeam]);
        dini_IntSet(file, "KillAsJapanTeam",pInfo[playerid][KillAsJapanTeam]);
        dini_IntSet(file, "KillAsMercTeam",pInfo[playerid][KillAsMercTeam]);
        dini_IntSet(file, "Class",pInfo[playerid][Class]);
        dini_IntSet(file, "PrototypesStolen",pInfo[playerid][PrototypesStolen]);
        dini_IntSet(file, "MoneyEarned",pInfo[playerid][MoneyEarned]);
        dini_IntSet(file, "MoneySpent",pInfo[playerid][MoneySpent]);
    }
   
    pInfo[playerid][Logged] = 0;
   
    if(pInfo[playerid][Jailed] == 1)
    {
    new pname[MAX_PLAYER_NAME];
    new ok[128];
    GetPlayerName(playerid, pname, 24);
    format(msg, sizeof(msg), "%s (%d) has left while jailed.", pname, playerid);
    format(ok, sizeof(ok), "1,7%s (%d) has left while jailed.", pname, playerid);
    SCMTA(COLOR_LIGHTBLUE, msg);
    IRC_Say(gGroupID, IRC_CHANNEL, ok);
    IRC_Say(gGroupID, IRC_ACHANNEL, ok);
    KillTimer(JailTimer[playerid]);
    pInfo[playerid][Jailed] = 1;
    }
   
    if(ireconnect[playerid] == 1)
    {
            new unbanningip[16], string[128];
            GetPVarString(playerid, "reconnect", unbanningip, 16);
            format(string,sizeof(string),"unbanip %s", unbanningip);
            SendRconCommand(string);
            printf(string);
            SendRconCommand("reloadbans");
            ireconnect[playerid] = 0;
    }
    return 1;
}
Reply
#2

The problem is dini.
dini is very slow.Convert account saving to Y_INI.
The problem is not on OnPlayerConnect is on OnPlayerLogin(when the server loads the data using dini) and OnPlayerDisconnect(when the server saves the data using dini)
My advice:Convert account saving into Y_INI.
Reply
#3

Quote:
Originally Posted by Aly
Посмотреть сообщение
The problem is dini.
dini is very slow.Convert account saving to Y_INI.
The problem is not on OnPlayerConnect is on OnPlayerLogin(when the server loads the data using dini) and OnPlayerDisconnect(when the server saves the data using dini)
My advice:Convert account saving into Y_INI.
Are you serious

My script has almost 25k lines, where 20k just for account system.

Hope you're joking..
Reply
#4

Unfortunately I'm not joking.I had once the same problem.
Now it's up to you.
Reply
#5

Quote:
Originally Posted by Aly
Посмотреть сообщение
Unfortunately I'm not joking.I had once the same problem.
Now it's up to you.
You don't even know how many times i rescripted and converted from dini to Y_INI, always got problem with that. Non saving files, resetting players accounts and more.

There must be another way..
Reply
#6

Are you saving the accounts on every command?
Reply
#7

Quote:
Originally Posted by Aly
Посмотреть сообщение
Are you saving the accounts on every command?
No, just:

OnPlayerConnect/Disconnect

And i have a timer which auto saves the stats every 5 minutes.

Quote:
Originally Posted by SuperViper
Посмотреть сообщение
IRC and dini probably contribute to this problem a lot.
Never had problems with both, the issue started like 1 month ago.
Reply
#8

Quote:
Originally Posted by Face9000
Посмотреть сообщение
No, just:

OnPlayerConnect/Disconnect

And i have a timer which auto saves the stats every 5 minutes.
It saves the stats for all the players online?
And at that time there's no lag?

About those 20k lines he's over reacting, I don't think so.
Reply
#9

Quote:
Originally Posted by HurtLocker
Посмотреть сообщение
Seriously, if 20k lines have to do with dini, then there is no doubt that this is the problem and you can't get rid of it unless you switch to y_ini. Using even a reasonable amount of dini functions in gm makes the server lag, imagine 20k lines of dini stuff for goodness sake!
The dini functions are well scripted, and they don't save ALL account stats with 20k lines. I use some part of dini just for commands (like /offlinestats, /warns, !warns and so on) (The commands that just require offline access to files).

Quote:
Originally Posted by Aly
Посмотреть сообщение
It saves the stats for all the players online?
And at that time there's no lag?
Yes, saving the stats of all online players, no lag at all.
Reply
#10

Quote:
Originally Posted by Face9000
Посмотреть сообщение
The dini functions are well scripted, and they don't save ALL account stats with 20k lines. I use some part of dini just for commands (like /offlinestats, /warns, !warns and so on) (The commands that just require offline access to files).



Yes, saving the stats of all online players, no lag at all.
How many players you have usually?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)