PlayerSpawn
#1

So guys i got a problem with spawn location.
I just moved the newbie spawn to a new location , if a player register it's spawning him at the right place.
But if theen he is killed , or fpked , or he connect again , he is spawning at the old location.
I tried to put SetPlayerPos(X Y Z ) under OnPlayerSpawn , i added AddPlayerClass under OnGameModeInit but still not working. Pleaze guys if you can help me , i tried everything (
Reply
#2

Well, you gotta post the code, so we can check it.
Reply
#3

here is OnPlayerSpawn
pawn Код:
public OnPlayerSpawn(playerid)
{

    SetPlayerPos(playerid,1207.5043,-1751.5234,13.5938,359.1806 );
    SetPlayerFacingAngle(playerid,360);
    if (PowerEnabled[playerid]) SetPlayerHealth(playerid, 0x107FFF);
    SetPlayerVirtualWorld(playerid,0);
    PlayerInfo[playerid][pVirWorld] = 0;
    InitLockDoors(playerid);
    STDPlayer[playerid] = 0;
    gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
    if (gTeam[playerid] == 4) //medic / criminal reset team
    {
        gTeam[playerid] = 3;
    }
    if(AdminDuty[playerid] == 1)
    {
        SendClientMessage(playerid, COLOR_LIGHTRED, "** Inainte de asta erai on duty, acum esti off **");
        AdminDuty[playerid] = 0;
    }
    if(gPlayerLogged[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_LIGHTRED, "** This server requires a Login BEFORE spawn (Kicked) **");
        KickPlayer[playerid] = 1;
    }
    if(PlayerInfo[playerid][pJailed] == 1)
    {
    SetPlayerInterior(playerid, 10);
    SetPlayerPos(playerid,223.2281,114.4777,999.0156);
    TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTRED, "Sentinta incompleta, inapoi la inchisoare.");
        return 1;
    }
    if(PlayerInfo[playerid][pJailed] == 2)
    {
            SetPlayerInterior(playerid, 0);
            SetPlayerPos(playerid,268.5777,1857.9351,9.8133);
            TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
            SetPlayerWorldBounds(playerid, 337.5694,101.5826,1940.9759,1798.7453); //285.3481,96.9720,1940.9755,1799.0811
            return 1;
    }
    if(gTeam[playerid] == 11 && PlayerInfo[playerid][pLeader] < 1)
    {
        MedicBill[playerid] = 0;
        new rand = random(sizeof(CIV));
        SendClientMessage(playerid, COLOR_LIGHTRED, "You are not an Approved Leader, you are now a Civilian !");
        PlayerInfo[playerid][pTeam] = 3;
        gTeam[playerid] = 3;
        SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
        PlayerInfo[playerid][pModel] = CIV[rand];
        SpawnPlayer(playerid);
    }
    if(gTeam[playerid] == 5)
    {
        if(PlayerInfo[playerid][pMember] < 1)
        {
            MedicBill[playerid] = 0;
            new rand = random(sizeof(CIV));
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Family Member, you are now a Civilian !");
            PlayerInfo[playerid][pTeam] = 3;
            gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
            PlayerInfo[playerid][pModel] = CIV[rand];
            SpawnPlayer(playerid);
        }
    }
    if(gTeam[playerid] == 10)
    {
        if(PlayerInfo[playerid][pMember] != 8)
        {
            MedicBill[playerid] = 0;
            new rand = random(sizeof(CIV));
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Member of this Agency, you are now a Civilian !");
            PlayerInfo[playerid][pTeam] = 3;
            gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
            PlayerInfo[playerid][pModel] = CIV[rand];
            SpawnPlayer(playerid);
        }
    }
    if(gTeam[playerid] == 2 && PlayerInfo[playerid][pMember] > 3)
    {
        MedicBill[playerid] = 0;
        new rand = random(sizeof(CIV));
        SendClientMessage(playerid, COLOR_LIGHTRED, "You haven't applied for being an Officer / FBI / National Guard, you are now a Civilian !");
        PlayerInfo[playerid][pTeam] = 3;
        gTeam[playerid] = 3;
        SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
        PlayerInfo[playerid][pModel] = CIV[rand];
        SpawnPlayer(playerid);
    }
    if(gTeam[playerid] == 3)
    {
        if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0)
        {
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are part of a Family/Force, you've been forced to the right Class + Char !");
            MedicBill[playerid] = 0;
            new model = PlayerInfo[playerid][pChar];
            if(PlayerInfo[playerid][pClubMember] == 1) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pClubMember] == 2) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pClubLeader] == 1) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pClubLeader] == 2) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = model; }
            if(PlayerInfo[playerid][pMember] == 1) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 2) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 3) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 4) { SetSpawnInfo(playerid, 1, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 1; gTeam[playerid] = 1; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 5) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 6) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 7) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 8) { SetSpawnInfo(playerid, 10, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 10; gTeam[playerid] = 10; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 9) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 10) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 11) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pMember] == 12) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pMember] == 13) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pMember] == 14) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 15) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 16) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 17) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 18) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 1) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 2) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 3) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 4) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 5) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 6) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 7) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 8) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 9) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 10) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 11) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 12) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 13) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 14) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 15) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 16) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 17) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 18) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 19) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //SetSpawnInfo(playerid, team, model,0.0,0.0,0.0,0,0,0,0,0,0,0);
            SpawnPlayer(playerid);
        }
    }
    if(PlayerInfo[playerid][pChar] > 0) { SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]); }
    else { SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); }
    SetPlayerWeapons(playerid);
    SetPlayerSpawn(playerid,1207.5043,-1751.5234,13.5938,359.1806);
    SetPlayerToTeamColor(playerid);
    PlayerFixRadio(playerid);
    for(new i = 0; i < sizeof(Turfs); i++)
    {
        GangZoneShowForPlayer(playerid, i, TurfInfo[i][zColor]);
        GangZoneShowForPlayer(playerid, gzmafia, 0xFF0000C7);
        GangZoneShowForPlayer(playerid, gztriads, 0x562C2CD2);
        GangZoneShowForPlayer(playerid, gzlsv, 0xFFFF00CC);
        GangZoneShowForPlayer(playerid, gzvla, 0x5BB9E6CA);
        GangZoneShowForPlayer(playerid, gzballas, 0x8000FFC9);
        GangZoneShowForPlayer(playerid, gzgrove, 0x00FF00D0);
    }
    if(warzone == 1)
    {
        GangZoneFlashForPlayer(playerid,warloc1,COLOR_THEMAFIA);
    }
    else if(warzone == 2)
    {
        GangZoneFlashForPlayer(playerid,warloc2,COLOR_THEMAFIA);
    }
    else if(warzone == 3)
    {
        GangZoneFlashForPlayer(playerid,warloc3,COLOR_THEMAFIA);
    }
    if(MapIconsShown[playerid] != 1)
    {
        MapIconsShown[playerid] = 1;
        for(new i = 0; i < sizeof(BizzInfo); i++)
        {
            SetPlayerMapIcon(playerid,i + 1,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ],36,COLOR_LIGHTRED);
        }
        for(new i = 0; i < sizeof(SBizzInfo); i++)
        {
            SetPlayerMapIcon(playerid,i + 20,SBizzInfo[i][sbEntranceX],SBizzInfo[i][sbEntranceY],SBizzInfo[i][sbEntranceZ],36,COLOR_LIGHTRED);
        }
    }
    return 1;
}
And here is OnGameModeInit wheere AddPlayerClass is :
pawn Код:
// Zones
    for(new i = 0; i < sizeof(TurfInfo); i++)
    {
        Turfs[i] = GangZoneCreate(TurfInfo[i][zMinX],TurfInfo[i][zMinY],TurfInfo[i][zMaxX],TurfInfo[i][zMaxY]);
        gzmafia = GangZoneCreate(420,-1692,522,-1554);
        gztriads = GangZoneCreate(907.5406,-1487.2268, 780.4085,-1577.7014);
        gzlsv = GangZoneCreate(2727.268310, -2056.083007, 2807.268310, -1904.082885);
        gzvla = GangZoneCreate(640.206726, -1322.824340, 784.206726, -1218.824340);
        gzballas = GangZoneCreate(2106.614746, -1526.381713, 2202.614746, -1398.381713);
        gzgrove = GangZoneCreate(2438.761718, -1734.158325, 2622.761718, -1630.158325);
    }
    // Player Class's
    for(new i = 0; i <= sizeof(Peds)-1; i++)
    {
        AddPlayerClass(Peds[i][0],1207.5043,-1751.5234,13.5938,359.1806,-1,-1,-1,-1,-1,-1);
    }
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
        AddStaticVehicleEx(HouseInfo[h][hVec], HouseCarSpawns[h][0], HouseCarSpawns[h][1], HouseCarSpawns[h][2], HouseCarSpawns[h][3], HouseInfo[h][hVcol1], HouseInfo[h][hVcol2], 60000);
        gCarLock[h+1] = 1;
    }
    //SPAWNNEWBIE
    AddStaticVehicle(560,1198.3324,-1728.0236,13.2731,270.5909,3,3);//Sultan
    AddStaticVehicle(560,1197.5447,-1731.0188,13.2757,269.7390,6,6); //Sultan2
    AddStaticVehicle(560,1197.4479,-1733.8403,13.2784,269.3480,2,2); //Sultan3
    AddStaticVehicle(462,1236.7892,-1734.1870,13.1872,2.0135,10,10); //Scuter1
    AddStaticVehicle(560,1197.4479,-1733.8403,13.2784,269.3480,3,3); //Scuter2
    AddStaticVehicle(462,1240.2988,-1733.8008,13.1879,0.5648,10,10); //3
    AddStaticVehicle(462,1241.9209,-1734.0221,13.1883,0.7483,10,10); //4
    AddStaticVehicle(462,1243.5867,-1734.0833,13.1894,353.8954,10,10); //5
    AddStaticVehicle(462,1244.9501,-1734.0972,13.1900,355.1778,10,10); //6
    AddStaticVehicle(462,1246.3589,-1734.1719,13.1912,355.4088,10,10); //7
    AddStaticVehicle(462,1247.5754,-1734.2362,13.1929,2.8720,10,10); //8
    AddStaticVehicle(462,1249.2345,-1734.1776,13.1895,357.6689,10,10); //9
    AddStaticVehicle(562,1245.8823,-1724.8351,13.2137,0.4882,100,199); //Elegy
    AddStaticVehicle(562,1190.3885,-1762.8851,13.2334,359.9790,0,0); // Elegy2
    AddStaticVehicle(451,1211.7505,-1693.2350,13.2831,180.2400,1,1); //Turismo


    //SPAWNNEWBIE
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)