[HELP] Accessing element at index 682 past array upper bound 681
#1

There its some bug, when you first time join in the server and at spawn place your player skin its changing and bugged you cant move maybe 10sec then you can and it work or you are bugged, so i run the debug with pawno and also i use the crashdetect plugin.

Here its some screenshots made about the bug changing skin or like almost killing the graphics(Missing objects etc stuff):
http://imgur.com/a/VNdmw


pawn Код:
[15:30:11] [debug]  Accessing element at index 682 past array upper bound 681
[15:30:11] [debug] AMX backtrace:
[15:30:11] [debug] #0 00005758 in ?? (0x43f98000, 0x42ce0000, 0x42d70000, 0x404ccccd, 0xff0000ff, 0x42c80000) from PBRP.amx
[15:30:11] [debug] #1 003ce4f8 in ?? (0x00000000) from PBRP.amx
[15:30:11] [debug] #2 00072e78 in ?? (0x00000000) from PBRP.amx
[15:30:11] [debug] #3 0000b5f4 in public OnPlayerSpawn (0x00000000) from PBRP.amx


OnPlayerSpawn:
pawn Код:
public OnPlayerSpawn(playerid)
{
    TogglePlayerSpectating(playerid, false);
    // Anti F4 Bug - Logging/Registering
   TextDrawHideForPlayer(playerid, Logintext0);
   TextDrawHideForPlayer(playerid, Logintext1);
   TextDrawHideForPlayer(playerid, Logintext2);
   TextDrawHideForPlayer(playerid, Logintext3);
   TextDrawHideForPlayer(playerid, Logintext4);
   TextDrawHideForPlayer(playerid, Logintext5);
   TextDrawHideForPlayer(playerid, Logintext6);
   StopAudioStreamForPlayer(playerid);
    if(!PlayerInfo[playerid][pLoggedIn] && !IsPlayerNPC(playerid))
    {
        if(IsPlayerNPC(playerid)) return 1;
        SetPlayerPos(playerid, 1975.203002, 3779.311523, -50.243506);
        SetPlayerCameraPos(playerid, 1975.203002, 3779.311523, 100.243506);
        SetPlayerCameraLookAt(playerid, 1975.203002, 3779.311523, -0.243506);
        SetSpawnInfo( playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
        new file[128];
        format(file, sizeof(file), "users/%s.ini", RPNU(playerid));
        // Player isn't banned
        if(dini_Int(file, "AdminAccount") == 1)
        {
            format(file, sizeof(file), "users/%s.ini",RPNU(playerid));
            SetPlayerName(playerid, dini_Get(file, "OldName"));
            format(file, sizeof(file), "users/%s.ini", RPNU(playerid));
            SSSShowDialog(playerid, 2);
        }
        if(!dini_Exists(file))
        {
            SSSShowDialog(playerid, 1);
            return 1;
        }
        else
        {
            SSSShowDialog(playerid, 2);
        }
        return 1;
    }
    // Actual Spawning
    TextDrawShowForPlayer(playerid, randommsg);
    if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
    {
      new npcname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
      if(!strcmp(npcname, "GOD", true)) //Checking if the NPC's name is GOD
      { //Putting the NPC into the vehicle we created for it.
        return 1;
      }
      return 1;
    }
    if(PlayerInfo[playerid][pLoggedIn] && PlayerInfo[playerid][pSpawn])
    {
        FalseBan[playerid] = 0;
        SetTimerEx("FalseBanFix", 6000, false, "i", playerid);
        SpawnChar(playerid);
    }
    if (!GetPVarInt(playerid, "color")) SetPVarInt(playerid, "color", 18643);
    return 1;
}
Reply
#2

I was thinking the problem its somewhere here:
pawn Код:
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
    {
      new npcname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
      if(!strcmp(npcname, "GOD", true)) //Checking if the NPC's name is GOD
      { //Putting the NPC into the vehicle we created for it.
        return 1;
      }
      return 1;
    }
But the problem its not here i tried to change MAX_PLAYER_NAME with MAX_PLAYERS.
Reply
#3

Bump, i really need to fix this..Cheers!
Reply
#4

I can't really see what which is missing or what which is wrong in the code by first glimpse.
However, i would recommend you to add debug messages under each level of code; and echo it into the logfile. Then you can see where it stops / what code which is causing it to crash.

Try removing one part at a time and recompile + test it aswell. This should get you one step closer to find out maybe what's wrong, and this will also make it easier for us to failcheck what you did in the exact code.

If you need more details about what i mean, don't be afraid to ask.

Good luck!
Reply
#5

You mean only at "OnPlayerSpawn" and how it will look? To add an part in the whole code its not possible because its 40,000 lines, so no way to searching also this makes problem, i mean to change the spawning code like now its SpawnChar(playerid); to change it with another spawn code?

Here its stock of SpawnChar code:
pawn Код:
stock SpawnChar(playerid)
{
    if(IsPlayerLoggedIn(playerid))
    {
        // Legit Loyalty
        if(!PlayerInfo[playerid][pLoyal] && PlayerInfo[playerid][pHours] < 24) {PlayerInfo[playerid][pLoyal] = 1;}
        // Safe Admin
        // Tutorial
        TogglePlayerControllable(playerid, 1);
        // Family Strikes
        if(PlayerInfo[playerid][pFam])
        {
            new idx = PlayerInfo[playerid][pFam];
            if(FamInfo[idx][fStrikes] >= 3)
            {
                PlayerInfo[playerid][pFam] = 0;
                PlayerInfo[playerid][pFamRank] = 0;
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your family has been disbanded due to having 3 strikes, you have been autokicked from the family.");
            }
        }
        // Website
        //C4
        PreloadAnimLib(playerid, "BOMBER");
        PreloadAnimLib(playerid, "PED");
        Pspawned[playerid] = 1;
        //neons
        neon[playerid] = 1;
        topened[playerid] = 0;
        CarHop[playerid] = 0;
        SpeedHack[playerid] = 0;
        sellgunlowmats[playerid] = 0;
        sellgunmedmats[playerid] = 0;
        sellgunhighmats[playerid] = 0;
        blowgun[playerid] = 0;
        // Time
        TextDrawShowForPlayer(playerid, TimeTD);
        TextDrawShowForPlayer(playerid, ReklamiT0);
        TextDrawShowForPlayer(playerid, ReklamiT1);
        TextDrawShowForPlayer(playerid, ReklamiT2);
        TextDrawShowForPlayer(playerid, ReklamiT3);
        // Name Color & Level & Wanted Level
        SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
        SetPlayerColor(playerid, TRANSPARENT_WHITE);
        SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
        // Download bar
        Download[playerid] = CreateProgressBar(499.00, 103.00, 107.50, 3.20, -16776961, 100.0);
        SetProgressBarMaxValue(Download[playerid], 100);
        SetProgressBarColor(Download[playerid], COLOR_GREEN);
        // Custom Int
        if(GetPVarInt(playerid, "IsInArena") >= 0)
        {
            SpawnPaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
            SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
            return 1;
        }
        if(PlayerInfo[playerid][pSpawnFreeze])
        {
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
        }
        // Business, House and Gates Checking
        if(PlayerInfo[playerid][pBiz] != 0 && strcmp(RPNU(playerid), BizInfo[PlayerInfo[playerid][pBiz]][bOwner]) || PlayerInfo[playerid][pBiz] != 0 && !strlen(BizInfo[PlayerInfo[playerid][pBiz]][bOwner]))
        {
            PlayerInfo[playerid][pBiz] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je prodao tvoji biznis dok ti nisi bio tu.");
        }
        if(PlayerInfo[playerid][pHouse] != 0 && strcmp(RPNU(playerid),  HouseInfo[PlayerInfo[playerid][pHouse]][hOwner]) || PlayerInfo[playerid][pHouse] != 0 && !strlen(HouseInfo[PlayerInfo[playerid][pHouse]][hOwner]))
        {
            PlayerInfo[playerid][pHouse] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je prodao tvoja kuca dok ti nisi bio tu.");
        }
        new idx; idx = PlayerInfo[playerid][pGate][0]; // Gate slot 1
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][0] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(1) dok ti nisi bio tu.");
        }
        idx = PlayerInfo[playerid][pGate][1]; // Gate slot 2
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][1] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(2) dok ti nisi bio tu.");
        }
        idx = PlayerInfo[playerid][pGate][2]; // Gate slot 3
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][2] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(3) dok ti nisi bio tu..");
        }
        // Spawning
        if(PlayerInfo[playerid][pX] == 0 && PlayerInfo[playerid][pY] == 0 && PlayerInfo[playerid][pZ] == 0 && SpawnPlayer(playerid))
        {
            SetPlayerPos(playerid, 1960.7507,-2178.1753,13.5469); // THE SPAWN D
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
        }
        else
        {
            SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
            SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
            SetCameraBehindPlayer(playerid);
            SetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
            // HP and Armor
            if(PlayerInfo[playerid][pHealth] <= 0) PlayerInfo[playerid][pHealth] = 1;
            SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
            SetPlayerArmour(playerid, PlayerInfo[playerid][pArmor]);
        }
        // Skin
        SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
        // Guns
        for(new i = 0; i < 13; i++)
        {
          if(PlayerInfo[playerid][pWeapon][i]) GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][i], PlayerInfo[playerid][pWeaponAmmo][i]);
        }
        //HOs
        if(PlayerInfo[playerid][pHospital] == 1)
        {
        Hospital[playerid] = random(2);
        if(Hospital[playerid] == 0) // AllSaints
        {
                SetPlayerPos(playerid, 1177.5485,-1323.5773,11.0761);
                SetPlayerCameraPos(playerid,1223.2250,-1289.4913,31.9257);
                SetPlayerCameraLookAt(playerid,1177.5485,-1323.5773,14.0761);
        }
        else if(Hospital[playerid] == 1) // County General
        {
                SetPlayerPos(playerid, 2034.0833,-1404.6536,14.2539);
                SetPlayerCameraPos(playerid,1997.1254,-1457.8685,34.8850);
                SetPlayerCameraLookAt(playerid,2034.0833,-1404.6536,17.2539);
                }
                ResetDodWeapons(playerid);
                PlayerInfo[playerid][pFacDuty] = 0;
                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
                TogglePlayerControllable(playerid, 0);
                HospitalTime[playerid] = 30;
                if(PlayerInfo[playerid][pVIP] >= 2) HospitalTime[playerid] = 1;
                HospitalCountDown[playerid] = SetTimerEx("HospitalTimer", 1000, false, "d", playerid);
        }
        if(!PlayerInfo[playerid][pPrison])
        {
                if(eventdeath[playerid] == 1)
                {
                    SetPlayerPos(playerid, eX, eY, eZ);
                    SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
                    SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
                    PlayerInfo[playerid][pHospital] = 0;
                    SetPlayerHealth(playerid, eHP);
                    SetPlayerArmour(playerid, eARMOR);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** Tebe su ubili u eventa, vise sreca naredni event. ***");
                    GunsBeingRemoved[playerid] = 1;
                    ResetPlayerWeapons(playerid);
                    GunsBeingRemoved[playerid] = 1;
                    for(new w = 0; w < 13; w++)
                    {
                        GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][w], PlayerInfo[playerid][pWeaponAmmo][w]);
                    }
                    eventdeath[playerid] = 0;
                    return 1;
                }
                if(dueldeath[playerid] == 1)
                {
                    SetPlayerPos(playerid, eX, eY, eZ);
                    SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
                    SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
                    PlayerInfo[playerid][pHospital] = 0;
                    SetPlayerHealth(playerid, eHP);
                    SetPlayerArmour(playerid, eARMOR);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** Ti si zagubio ovaj duel, vise sreca naredni duel. ***");
                    GunsBeingRemoved[playerid] = 1;
                    ResetPlayerWeapons(playerid);
                    GunsBeingRemoved[playerid] = 1;
                    for(new w = 0; w < 13; w++)
                    {
                        GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][w], PlayerInfo[playerid][pWeaponAmmo][w]);
                    }
                    eventdeath[playerid] = 0;
                    // playerb
                    return 1;
                }
                if(DayNoDrops == 1)
                {
                    for (new i = 0; i < 13; i++)
                    {
                        GiveDodWeapon(playerid, DNDW[1][0], 7);
                        GiveDodWeapon(playerid, DNDW[2][0], 7);
                        GiveDodWeapon(playerid, DNDW[3][0], 7);
                        GiveDodWeapon(playerid, DNDW[4][0], 7);
                        GiveDodWeapon(playerid, DNDW[5][0], 7);
                        GiveDodWeapon(playerid, DNDW[6][0], 7);
                        GiveDodWeapon(playerid, DNDW[7][0], 7);
                        GiveDodWeapon(playerid, DNDW[8][0], 7);
                        GiveDodWeapon(playerid, DNDW[9][0], 7);
                        GiveDodWeapon(playerid, DNDW[10][0], 7);
                        GiveDodWeapon(playerid, DNDW[11][0], 7);
                        GiveDodWeapon(playerid, DNDW[12][0], 7);
                }
            }
        }
        // LSPD Duty
        if(PlayerInfo[playerid][pFacDuty] && PlayerInfo[playerid][pFac] == 1)
        {
            SetPlayerColor(playerid, TRANSPARENT_BLUE);
        }
        // LSPD-Prison
        if(PlayerInfo[playerid][pPrison] == 1)
        {
            ResetDodWeapons(playerid);
            SetPlayerColor(playerid, TRANSPARENT_ORANGE);
            SetPlayerInterior(playerid, 1);
            new RandomCell = random(sizeof(RandomPrison));
            SetPlayerFacingAngle(playerid, RandomPrison[RandomCell][3]);
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
            SetPlayerPos(playerid, RandomPrison[RandomCell][0], RandomPrison[RandomCell][1], RandomPrison[RandomCell][2]);
            SetCameraBehindPlayer(playerid);
        }
        // Admin-Prison
        if(PlayerInfo[playerid][pPrison] == 2)
        {
            ResetDodWeapons(playerid);
            SetPlayerColor(playerid, TRANSPARENT_ORANGE);
            SetPlayerInterior(playerid, 2);
            SetPlayerVirtualWorld(playerid, 1);
            new RandomCell = random(sizeof(RandomPrison));
            SetPlayerFacingAngle(playerid, RandomPrison[RandomCell][3]);
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
            SetPlayerPos(playerid, RandomPrison[RandomCell][0], RandomPrison[RandomCell][1], RandomPrison[RandomCell][2]);
            SetCameraBehindPlayer(playerid);
        }
/*      if(PlayerInfo[playerid][Dead] == 1)
        {
         MalaArenaS[playerid] = 1;
         PBArena[playerid] = 1;
         PlayerInfo[playerid][pArena] = 1;
         PlayerInfo[playerid][Dead] = 1;
         ResetDodWeapons(playerid);
         SetPlayerInterior(playerid, 0);
         SetPlayerVirtualWorld(playerid, 7652);
         SetPlayerTeam(playerid, MALASPEC);
         SetPlayerColor(playerid, COLOR_YELLOW);
         SetPlayerSkin(playerid, 285);
         SetPlayerHealth(playerid, 100);
         SetPlayerArmour(playerid, 100);
         GiveDodWeapon(playerid, 26, cellmax);
         GiveDodWeapon(playerid, 28, cellmax);
         GiveDodWeapon(playerid, 24, cellmax);
         GiveDodWeapon(playerid, 34, cellmax);
         new rand = random(sizeof(gSpawnMA));
         SetPlayerFacingAngle(playerid, gSpawnMA[rand][2]);
         SetPlayerPos(playerid, gSpawnMA[rand][0], gSpawnMA[rand][1], gSpawnMA[rand][2]); // Mala Arena Specijalac
        }
        if(PlayerInfo[playerid][Dead] == 2)
        {
         MalaArenaT[playerid] = 1;
         PBArena[playerid] = 1;
         PlayerInfo[playerid][pArena] = 1;
         PlayerInfo[playerid][Dead] = 2;
         ResetDodWeapons(playerid);
         SetPlayerInterior(playerid, 0);
         SetPlayerVirtualWorld(playerid, 7652);
         SetPlayerColor(playerid, COLOR_RED);
         SetPlayerTeam(playerid, MALATER);
         SetPlayerSkin(playerid, 223);
         SetPlayerHealth(playerid, 100);
         SetPlayerArmour(playerid, 100);
         GiveDodWeapon(playerid, 26, cellmax);
         GiveDodWeapon(playerid, 28, cellmax);
         GiveDodWeapon(playerid, 24, cellmax);
         GiveDodWeapon(playerid, 34, cellmax);
         new rand = random(sizeof(gSpawnMT));
         SetPlayerFacingAngle(playerid, gSpawnMT[rand][2]);
         SetPlayerPos(playerid, gSpawnMT[rand][0], gSpawnMT[rand][1], gSpawnMT[rand][2]); // Mala Arena Terorista
        }*/

        // Bank Robbery
        if(PlayerInfo[playerid][pFac] == 1 && RobberyStarted)
        {
            TextDrawShowForPlayer(playerid, Textdraw0);
            TextDrawShowForPlayer(playerid, Textdraw1);
            if(BankRobbersCount == 2) {TextDrawShowForPlayer(playerid, Textdraw2);}
            else if(BankRobbersCount == 3) {TextDrawShowForPlayer(playerid, Textdraw3);}
            else if(BankRobbersCount == 4) {TextDrawShowForPlayer(playerid, Textdraw4);}
            else if(BankRobbersCount == 5) {TextDrawShowForPlayer(playerid, Textdraw5);}
        }
        if(PlayerPaintballing[playerid] == 1)
        {
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
            GunsBeingRemoved[playerid] = 1;
            ResetPlayerWeapons(playerid);
            SetPlayerHealth(playerid, 100);
            SetPlayerArmour(playerid, 100);
            new rand = random(sizeof(PaintballSpawns));
            SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
            for (new i = 0; i < 13; i++)
            {
                GiveDodWeapon(playerid, pbGuns[2][0], 99999);
                GiveDodWeapon(playerid, pbGuns[3][0], 99999);
                GiveDodWeapon(playerid, pbGuns[4][0], 99999);
                GiveDodWeapon(playerid, pbGuns[5][0], 99999);
                GiveDodWeapon(playerid, pbGuns[6][0], 99999);
            }
            SetCameraBehindPlayer(playerid);
        }
    }
    return 1;
}
Here its where player spawn after registration:
pawn Код:
GiveDodMoney(playerid, 1500);
            PlayerInfo[playerid][pTutorial] = 1;
            SetPlayerVirtualWorld(playerid, 0);
            SetPlayerInterior(playerid, 0);
            SetSpawnInfo(playerid, 0, 101, 1960.7507, -2178.1753, 13.5469, 0, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
Reply
#6

This is usually caused when u enter a array size bigger than its size declared...
Do you have any array of size 681?
Reply
#7

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
This is usually caused when u enter a array size bigger than its size declared...
Do you have any array of size 681?
You mean example: new array[681]; ?
Also i have an problem when the player spawn to the server...
Reply
#8

What's the problem here:
pawn Код:
stock SpawnChar(playerid)
{
    if(IsPlayerLoggedIn(playerid))
    {
        // Legit Loyalty
        if(!PlayerInfo[playerid][pLoyal] && PlayerInfo[playerid][pHours] < 24) {PlayerInfo[playerid][pLoyal] = 1;}
        // Safe Admin
        // Tutorial
        TogglePlayerControllable(playerid, 1);
        // Family Strikes
        if(PlayerInfo[playerid][pFam])
        {
            new idx = PlayerInfo[playerid][pFam];
            if(FamInfo[idx][fStrikes] >= 3)
            {
                PlayerInfo[playerid][pFam] = 0;
                PlayerInfo[playerid][pFamRank] = 0;
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your family has been disbanded due to having 3 strikes, you have been autokicked from the family.");
            }
        }
        // Website
        //C4
        PreloadAnimLib(playerid, "BOMBER");
        PreloadAnimLib(playerid, "PED");
        Pspawned[playerid] = 1;
        //neons
        neon[playerid] = 1;
        topened[playerid] = 0;
        CarHop[playerid] = 0;
        SpeedHack[playerid] = 0;
        sellgunlowmats[playerid] = 0;
        sellgunmedmats[playerid] = 0;
        sellgunhighmats[playerid] = 0;
        blowgun[playerid] = 0;

        // Time
        TextDrawShowForPlayer(playerid, TimeTD);
        TextDrawShowForPlayer(playerid, ReklamiT0);
        TextDrawShowForPlayer(playerid, ReklamiT1);
        TextDrawShowForPlayer(playerid, ReklamiT2);
        TextDrawShowForPlayer(playerid, ReklamiT3);
        // Name Color & Level & Wanted Level
        SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
        SetPlayerColor(playerid, TRANSPARENT_WHITE);
        SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
        // Download bar
        Download[playerid] = CreateProgressBar(499.00, 103.00, 107.50, 3.20, -16776961, 100.0);
        SetProgressBarMaxValue(Download[playerid], 100);
        SetProgressBarColor(Download[playerid], COLOR_GREEN);
        // Custom Int
        if(PlayerInfo[playerid][pSpawnFreeze])
        {
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
        }
        // Business, House and Gates Checking
        if(PlayerInfo[playerid][pBiz] != 0 && strcmp(RPNU(playerid), BizInfo[PlayerInfo[playerid][pBiz]][bOwner]) || PlayerInfo[playerid][pBiz] != 0 && !strlen(BizInfo[PlayerInfo[playerid][pBiz]][bOwner]))
        {
            PlayerInfo[playerid][pBiz] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je prodao tvoji biznis dok ti nisi bio tu.");
        }
        if(PlayerInfo[playerid][pHouse] != 0 && strcmp(RPNU(playerid),  HouseInfo[PlayerInfo[playerid][pHouse]][hOwner]) || PlayerInfo[playerid][pHouse] != 0 && !strlen(HouseInfo[PlayerInfo[playerid][pHouse]][hOwner]))
        {
            PlayerInfo[playerid][pHouse] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je prodao tvoja kuca dok ti nisi bio tu.");
        }
        new idx; idx = PlayerInfo[playerid][pGate][0]; // Gate slot 1
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][0] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(1) dok ti nisi bio tu.");
        }
        idx = PlayerInfo[playerid][pGate][1]; // Gate slot 2
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][1] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(2) dok ti nisi bio tu.");
        }
        idx = PlayerInfo[playerid][pGate][2]; // Gate slot 3
        if(idx && !GateInfo[idx][gModel])
        {
            PlayerInfo[playerid][pGate][2] = 0;
            SendClientMessage(playerid, COLOR_WHITE, " Admin je izbrisao tvoja vrata dok sa ID:(3) dok ti nisi bio tu..");
        }
        // Spawning
        if(PlayerInfo[playerid][pX] == 0 && PlayerInfo[playerid][pY] == 0 && PlayerInfo[playerid][pZ] == 0 && SpawnPlayer(playerid))
        {
            SetPlayerPos(playerid, 1960.7507,-2178.1753,13.5469); // THE SPAWN D
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
        }
        else
        {
            SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
            SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
            SetCameraBehindPlayer(playerid);
            SetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
            // HP and Armor
            if(PlayerInfo[playerid][pHealth] <= 0) PlayerInfo[playerid][pHealth] = 1;
            SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
            SetPlayerArmour(playerid, PlayerInfo[playerid][pArmor]);
        }
        // Skin
        SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
        // Guns
        for(new i = 0; i < 13; i++)
        {
            if(PlayerInfo[playerid][pWeapon][i]) GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][i], PlayerInfo[playerid][pWeaponAmmo][i]);
        }
        // Hospital
        if(!PlayerInfo[playerid][pPrison])
        {
            if(PlayerInfo[playerid][pHospital])
            {
                if(eventdeath[playerid] == 1)
                {
                    SetPlayerPos(playerid, eX, eY, eZ);
                    SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
                    SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
                    PlayerInfo[playerid][pHospital] = 0;
                    SetPlayerHealth(playerid, eHP);
                    SetPlayerArmour(playerid, eARMOR);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** Tebe su ubili u eventa, vise sreca naredni event. ***");
                    GunsBeingRemoved[playerid] = 1;
                    ResetPlayerWeapons(playerid);
                    GunsBeingRemoved[playerid] = 1;
                    for(new w = 0; w < 13; w++)
                    {
                        GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][w], PlayerInfo[playerid][pWeaponAmmo][w]);
                    }
                    eventdeath[playerid] = 0;
                    return 1;
                }
                if(dueldeath[playerid] == 1)
                {
                    SetPlayerPos(playerid, eX, eY, eZ);
                    SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
                    SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
                    PlayerInfo[playerid][pHospital] = 0;
                    SetPlayerHealth(playerid, eHP);
                    SetPlayerArmour(playerid, eARMOR);
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** Ti si zagubio ovaj duel, vise sreca naredni duel. ***");
                    GunsBeingRemoved[playerid] = 1;
                    ResetPlayerWeapons(playerid);
                    GunsBeingRemoved[playerid] = 1;
                    for(new w = 0; w < 13; w++)
                    {
                        GiveDodWeapon(playerid, PlayerInfo[playerid][pWeapon][w], PlayerInfo[playerid][pWeaponAmmo][w]);
                    }
                    eventdeath[playerid] = 0;
                    // playerb
                    return 1;
                }
                Hospital[playerid] = random(2);
                if(Hospital[playerid] == 0) // AllSaints
                {

                    SetPlayerPos(playerid, 1177.5485,-1323.5773,11.0761);
                    SetPlayerCameraPos(playerid,1223.2250,-1289.4913,31.9257);
                    SetPlayerCameraLookAt(playerid,1177.5485,-1323.5773,14.0761);
                }
                else if(Hospital[playerid] == 1) // County General
                {
                    SetPlayerPos(playerid, 2034.0833,-1404.6536,14.2539);
                    SetPlayerCameraPos(playerid,1997.1254,-1457.8685,34.8850);
                    SetPlayerCameraLookAt(playerid,2034.0833,-1404.6536,17.2539);
                }
                ResetDodWeapons(playerid);
                PlayerInfo[playerid][pFacDuty] = 0;
                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
                TogglePlayerControllable(playerid, 0);
                HospitalTime[playerid] = 30;
                if(PlayerInfo[playerid][pVIP] >= 2) HospitalTime[playerid] = 1;
                HospitalCountDown[playerid] = SetTimerEx("HospitalTimer", 1000, false, "d", playerid);
                if(DayNoDrops == 1)
                {
                    for (new i = 0; i < 13; i++)
                    {
                        GiveDodWeapon(playerid, DNDW[1][0], 7);
                        GiveDodWeapon(playerid, DNDW[2][0], 7);
                        GiveDodWeapon(playerid, DNDW[3][0], 7);
                        GiveDodWeapon(playerid, DNDW[4][0], 7);
                        GiveDodWeapon(playerid, DNDW[5][0], 7);
                        GiveDodWeapon(playerid, DNDW[6][0], 7);
                        GiveDodWeapon(playerid, DNDW[7][0], 7);
                        GiveDodWeapon(playerid, DNDW[8][0], 7);
                        GiveDodWeapon(playerid, DNDW[9][0], 7);
                        GiveDodWeapon(playerid, DNDW[10][0], 7);
                        GiveDodWeapon(playerid, DNDW[11][0], 7);
                        GiveDodWeapon(playerid, DNDW[12][0], 7);
                    }
                }
            }
        }
        // LSPD Duty
        if(PlayerInfo[playerid][pFacDuty] && PlayerInfo[playerid][pFac] == 1)
        {
            SetPlayerColor(playerid, TRANSPARENT_BLUE);
        }
        // LSPD-Prison
        if(PlayerInfo[playerid][pPrison] == 1)
        {
            ResetDodWeapons(playerid);
            SetPlayerColor(playerid, TRANSPARENT_ORANGE);
            SetPlayerInterior(playerid, 1);
            new RandomCell = random(sizeof(RandomPrison));
            SetPlayerFacingAngle(playerid, RandomPrison[RandomCell][3]);
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
            SetPlayerPos(playerid, RandomPrison[RandomCell][0], RandomPrison[RandomCell][1], RandomPrison[RandomCell][2]);
            SetCameraBehindPlayer(playerid);
        }
        // Admin-Prison
        if(PlayerInfo[playerid][pPrison] == 2)
        {
            ResetDodWeapons(playerid);
            SetPlayerColor(playerid, TRANSPARENT_ORANGE);
            SetPlayerInterior(playerid, 2);
            SetPlayerVirtualWorld(playerid, 1);
            new RandomCell = random(sizeof(RandomPrison));
            SetPlayerFacingAngle(playerid, RandomPrison[RandomCell][3]);
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("EnterExitTimer", 5000, false, "i", playerid);
            SetPlayerPos(playerid, RandomPrison[RandomCell][0], RandomPrison[RandomCell][1], RandomPrison[RandomCell][2]);
            SetCameraBehindPlayer(playerid);
        }
        if(PlayerInfo[playerid][Dead] == 1)
        {
         MalaArenaS[playerid] = 1;
         PBArena[playerid] = 1;
         PlayerInfo[playerid][pArena] = 1;
         PlayerInfo[playerid][Dead] = 1;
         ResetDodWeapons(playerid);
         SetPlayerInterior(playerid, 0);
         SetPlayerVirtualWorld(playerid, 7652);
         SetPlayerTeam(playerid, MALASPEC);
         SetPlayerColor(playerid, COLOR_YELLOW);
         SetPlayerSkin(playerid, 285);
         SetPlayerHealth(playerid, 100);
         SetPlayerArmour(playerid, 100);
         GiveDodWeapon(playerid, 26, cellmax);
         GiveDodWeapon(playerid, 28, cellmax);
         GiveDodWeapon(playerid, 24, cellmax);
         GiveDodWeapon(playerid, 34, cellmax);
         new rand = random(sizeof(gSpawnMA));
         SetPlayerFacingAngle(playerid, gSpawnMA[rand][2]);
         SetPlayerPos(playerid, gSpawnMA[rand][0], gSpawnMA[rand][1], gSpawnMA[rand][2]); // Mala Arena Specijalac
        }
        if(PlayerInfo[playerid][Dead] == 2)
        {
         MalaArenaT[playerid] = 1;
         PBArena[playerid] = 1;
         PlayerInfo[playerid][pArena] = 1;
         PlayerInfo[playerid][Dead] = 2;
         ResetDodWeapons(playerid);
         SetPlayerInterior(playerid, 0);
         SetPlayerVirtualWorld(playerid, 7652);
         SetPlayerColor(playerid, COLOR_RED);
         SetPlayerTeam(playerid, MALATER);
         SetPlayerSkin(playerid, 223);
         SetPlayerHealth(playerid, 100);
         SetPlayerArmour(playerid, 100);
         GiveDodWeapon(playerid, 26, cellmax);
         GiveDodWeapon(playerid, 28, cellmax);
         GiveDodWeapon(playerid, 24, cellmax);
         GiveDodWeapon(playerid, 34, cellmax);
         new rand = random(sizeof(gSpawnMT));
         SetPlayerFacingAngle(playerid, gSpawnMT[rand][2]);
         SetPlayerPos(playerid, gSpawnMT[rand][0], gSpawnMT[rand][1], gSpawnMT[rand][2]); // Mala Arena Terorista
        }
        // Bank Robbery
        if(PlayerInfo[playerid][pFac] == 1 && RobberyStarted)
        {
            TextDrawShowForPlayer(playerid, Textdraw0);
            TextDrawShowForPlayer(playerid, Textdraw1);
            if(BankRobbersCount == 2) {TextDrawShowForPlayer(playerid, Textdraw2);}
            else if(BankRobbersCount == 3) {TextDrawShowForPlayer(playerid, Textdraw3);}
            else if(BankRobbersCount == 4) {TextDrawShowForPlayer(playerid, Textdraw4);}
            else if(BankRobbersCount == 5) {TextDrawShowForPlayer(playerid, Textdraw5);}
        }
        if(PlayerPaintballing[playerid] == 1)
        {
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
            GunsBeingRemoved[playerid] = 1;
            ResetPlayerWeapons(playerid);
//          DestroyPickup(pbHealth);
            SetPlayerHealth(playerid, 100);
            SetPlayerArmour(playerid, 100);
            new rand = random(sizeof(PaintballSpawns));
            SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
            for (new i = 0; i < 13; i++)
            {
                GiveDodWeapon(playerid, pbGuns[2][0], 99999);
                GiveDodWeapon(playerid, pbGuns[3][0], 99999);
                GiveDodWeapon(playerid, pbGuns[4][0], 99999);
                GiveDodWeapon(playerid, pbGuns[5][0], 99999);
                GiveDodWeapon(playerid, pbGuns[6][0], 99999);
            }
            SetCameraBehindPlayer(playerid);
        }
    }
    return 1;
}
The spawn its defined as you can see the line:
pawn Код:
// Spawning
        if(PlayerInfo[playerid][pX] == 0 && PlayerInfo[playerid][pY] == 0 && PlayerInfo[playerid][pZ] == 0 && SpawnPlayer(playerid))
        {
            SetPlayerPos(playerid, 1960.7507,-2178.1753,13.5469); // THE SPAWN D
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
And what happend? When i use SpawnChar(playerid); it not spawn at the place where its defined it spawn at some different place.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)