Spawn player problem..
#1

I have problem with spawn for players. When player die or spectate it's give him to choose skin again and every time when he die it need to select skin. How to fix that?
Reply
#2

Kindly Show your public OnPlayerDeath.
Reply
#3

Search for any ForceClassSelection code, as that will force the player to select his class again the next time he dies.
Reply
#4

I dont have forceclass selection and here's the code OnPlayerDeath:

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(GetPVarInt(playerid, "Headshotted") == 1)
    {
        SetPVarInt(playerid, "Headshotted", 0);
        GameTextForPlayer(playerid, "~r~Headshotted", 3000, 3);
        GameTextForPlayer(killerid, "~r~Headshottttt", 3000, 3);
    }
    
            #pragma unused reason
        if(killerid != INVALID_PLAYER_ID)
        {
                SetPlayerScore (killerid, GetPlayerScore (killerid) + 1);
                SetPlayerStarRang(playerid);
        }

     joined[playerid] = 0;
                        leavefunction(playerid);

                        new szString[128];
                    kills2[killerid]++;
                    format(szString,sizeof(szString),"Kills :%d",kills2[killerid]);
                    TextDrawSetString(Kill_Streak[killerid],szString);

                        SetPlayerScore(killerid,GetPlayerScore(killerid) +1);
                        SetPlayerScore(playerid,0);
                        if(GetPlayerScore(killerid) == 2)
                        {
                                SetPlayerHealth(killerid,100);
                                SetPlayerArmour(killerid,100);
                                GivePlayerWeapon(killerid, 23, 500);
                                GameTextForPlayer(killerid, "~r~LEVEL UP", 3500, 5);
                                SetPlayerArmedWeapon(playerid, 23);
                                return 1;
                        }
                        if(GetPlayerScore(killerid) == 3)
                        {
                                SetPlayerHealth(killerid,150);
                            SetPlayerArmour(killerid,150);
                            GivePlayerWeapon(killerid,24,200);
                                GameTextForPlayer(killerid, "~r~LEVEL UP", 3500, 5);
                            return 1;
                        }
                        if(GetPlayerScore(killerid) == 4)
                        {
                            SetPlayerHealth(killerid,150);
                            SetPlayerArmour(killerid,150);
                            GivePlayerWeapon(killerid, 27, 500);
                                GameTextForPlayer(killerid, "~r~LEVEL UP", 3500, 5);
                            return 1;
                        }
                        if(GetPlayerScore(killerid) == 5)
                        {
                                SetPlayerHealth(killerid,150);
                            SetPlayerArmour(killerid,150);
                                GivePlayerWeapon(killerid,28,500);
                                GameTextForPlayer(killerid, "~r~LEVEL UP", 3500, 5);
                                SetPlayerArmedWeapon(playerid, 28);
                                return 1;
                        }
                        if(GetPlayerScore(killerid) == 6)
                        {
                                GivePlayerWeapon(killerid, 32, 500);
                                SetPlayerHealth(killerid, 100);
                                SetPlayerArmour(killerid, 100);
                                GameTextForPlayer(killerid, "~r~LEVEL UP", 3500, 5);
                                SetPlayerArmedWeapon(playerid, 32);
                            return 1;
                        }
    new string[256];
    new Float: X, Float: Y, Float: Z;
	GivePlayerCash(playerid, -2000);
	HitID[playerid] = killerid;
    PlayerInfo[playerid][pDeaths] += 1;
	Kills[playerid] = 0;
	GetPlayerPos(playerid, X, Y, Z);
	PlayerKilled[playerid] = 1;
	SendDeathMessage(killerid, playerid, reason);
	if(Bounty[playerid] > 0)
	{
        Bounty[playerid] = 0;
        format(string, sizeof(string), "Този играч има награда за главата си: %d$", Bounty[playerid]);
	    SendClientMessage(killerid, COLOR_YELLOW2, string);
	    GivePlayerCash(killerid, Bounty[playerid]);
	}

	Kills[killerid]++;
	
	if(killerid != 255)
	{
	    if(PlayerInfo[killerid][pMember] != TEAM_SPECIALFORCE)
	    {
			if(GetPlayerState(killerid) == 2)
			{
			    new kickname[MAX_PLAYER_NAME];
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "BGW SERVER: %s[%d]уби %s[%d] със Drive-By и убиеца беше SLAY-ed." ,kickname,killerid,PlayerName(playerid),playerid);
				ABroadCast(COLOR_YELLOW, string, 1);
				SetPlayerHealth(killerid,0);
				return 1;
			}
		}
	}
    if(reason == 50)
	{
		new kickname[MAX_PLAYER_NAME];
		if(IsPlayerConnected(killerid))
		{
			BladeKill[killerid] += 1;
			if(BladeKill[killerid] >= 1)
			{
			    GetPlayerName(killerid, kickname, sizeof(kickname));
			    format(string, 256, "BGW SERVER: %s was kicked, reason: Excesive Blade Killing." ,kickname);
			    SendClientMessageToAll(COLOR_LIGHTRED, string);
			    SetPlayerHealth(killerid,0);
			}
		}
	}
	PlayerInfo[killerid][pKills] += 1;
	SetPlayerScore(killerid, PlayerInfo[killerid][pKills]);
	Kills[killerid]++;
	if(Kills[killerid] > 3) Bounty[killerid] += 1000 * Kills[killerid];
	new bonus = 500 * Kills[killerid];
	GivePlayerCash(killerid, bonus);
	if(Kills[killerid] == 3) format(string,sizeof(string),"~W~%s IS DOMINATING!", PlayerName(killerid));
    if(Kills[killerid] == 10) format(string,sizeof(string),"~W~%s IS ON A KILLING SPREE!", PlayerName(killerid));
    if(Kills[killerid] == 15) format(string,sizeof(string),"~W~%s HAS A MONSTER KILL!!!", PlayerName(killerid));
    if(Kills[killerid] == 21) format(string,sizeof(string),"~W~%s IS ~r~GODLIKE!", PlayerName(killerid));
    if(Kills[killerid] == 27) format(string,sizeof(string),"~W~%s IS ~R~WICKED SICK!", PlayerName(killerid));
    if(Kills[killerid] >= 40) format(string,sizeof(string),"~R~%s HOLY SHIT WITH %d KILLS!",PlayerName(killerid), Kills[killerid]);
    GameTextForAll(string, 5000, 4);
	SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid));
	if(Kills[killerid] > PlayerInfo[killerid][pSpree]) PlayerInfo[killerid][pSpree] = Kills[killerid];
    if (gTeam[killerid] != gTeam[playerid])
	{
	    new Float:x, Float:y, Float:z;
        TeamInfo[gTeam[killerid]][RivalsKilled]++;
        TeamInfo[gTeam[playerid]][HomiesDied]++;
        TeamInfo[gTeam[killerid]][TeamScore]++;
        TeamInfo[gTeam[playerid]][TeamScore]--;
		GetPlayerPos(playerid, x, y, z);
		GetPlayerPos(killerid, x, y, z);
	    for (new i = 0; i < MAX_TURFS; i++)
	    {
	        if (IsPlayerInTurf(playerid, turfs[i][zMinX], turfs[i][zMinY], turfs[i][zMaxX], turfs[i][zMaxY]) &&
			IsPlayerInTurf(killerid, turfs[i][zMinX], turfs[i][zMinY], turfs[i][zMaxX], turfs[i][zMaxY])  )
	        {
                if (turfs[i][TurfWarStarted] != 1 && !IsPlayerInAnyVehicle(killerid))
                {
                    TurfInfo[i][gTeam[killerid]][TurfKills]++;
                    if (TurfInfo[i][gTeam[killerid]][TurfKills] == ATTACK_KILLS)
                    {
                        if (turfs[i][TurfOwner] == gTeam[killerid])
						{
                            for (new a = 0; a < MAX_TEAMS; a++) TurfInfo[i][a][TurfKills] = 0;
							return 1;
                        }
                        turfs[ i ][ TurfAttacker ] = gTeam[killerid];
                        for (new b = 0; b < 500; b++)
	                    {
                            if (gTeam[b] == turfs[i][TurfAttacker])
							{
                                new msg1[256];
	                            format(msg1,sizeof(msg1), "~w~We have provoked a turfwar ~w~in ~y~%s ( %s ) ~w~against the ~r~%s",
								turfs[i][turfName], turfs[i][cityName], TeamInfo[turfs[i][TurfOwner]][TeamName]);
                                new Text:txt1 = TextDrawCreate(139.0, 350.0, msg1 );
                                TextDrawFont(txt1, 1);
                                TextDrawLetterSize(txt1, 0.29, 1.0);
                                TextDrawSetShadow(txt1, 0);
                                TextDrawSetOutline(txt1, 1);
                                TextDrawColor(txt1, COLOR_WHITE);
                                TimeTextForPlayer(b, txt1, 6000);
                                GangZoneFlashForPlayer(b, turfs[i][turfID], COLOR_FLASH );
                            }
                            else if (gTeam[b] == turfs[ i ][ TurfOwner ])
							{
                                new msg2[256];
	                            format(msg2,sizeof(msg2), "~r~The ~y~%s ~r~have attacked our turf in ~y~%s ( %s )!",
                                TeamInfo[turfs[i][TurfAttacker]][TeamName], turfs[i][turfName], turfs[i][cityName]);
                                new Text:txt2 = TextDrawCreate(139.0, 364.0, msg2);
                                TextDrawFont(txt2, 1);
                                TextDrawLetterSize(txt2, 0.29, 1.0);
                                TextDrawSetShadow(txt2, 0);
                                TextDrawSetOutline(txt2, 1);
                                TextDrawColor(txt2, COLOR_RED);
                                TimeTextForPlayer(b, txt2, 6000);
                                GangZoneFlashForPlayer(b, turfs[i][turfID], COLOR_FLASH);
                            }
                            else GangZoneFlashForPlayer(b, turfs[i][turfID], COLOR_FLASH2);
	                    }
	                    SetTimerEx("EndWar", ATTACK_TIME, false ,"iii", i, turfs[i][TurfAttacker], turfs[i][TurfOwner] );
	                    turfs[i][TurfWarStarted] = 1;
	                    for(new c = 0; c < MAX_TEAMS; c++) { TurfInfo[i][c][TurfKills] = 0; TurfInfo[i][c][TurfAttackKills] = 0; }
                        return 1;
                    }
                }
                else if (turfs[i][TurfWarStarted] == 1 && !IsPlayerInAnyVehicle(killerid) &&
                (turfs[i][TurfAttacker] == gTeam[killerid]) || turfs[i][TurfOwner] == gTeam[killerid])
                {
                    TurfInfo[i][gTeam[killerid]][TurfAttackKills]++;
                    return 1;
                }
	        }
	    }
	}
	if(PlayerInfo[killerid][pAdmin] < 1)
	{
	    for (new weap = 1; weap < 2; weap++)
        {
            if(GetPlayerWeapon(killerid) == weap && HaveWeapon(killerid, weap) != weap)
            {
                new weapname[32];
                GetWeaponName(weap, weapname, sizeof(weapname));
                format(string, sizeof(string), "BGW SERVER: %s was banned, reason: Weapon Hacking (%s).", PlayerName(killerid), weapname);
			    SendClientMessageToAll(COLOR_LIGHTRED, string);
			    PlayerInfo[killerid][pBanned] = 1;
			    format(string, sizeof(string), "Weapon Hacking (%s).", weapname);
			    BanEx(killerid, string);
            }
        }
	}
	return 1;
}
I find Forceclass in two places but when i remove both its bugging and dont spawn me. When i delete one again give me to choose skin..

Код:
public ShowIntro(playerid)
 {
   SetPVarInt(playerid, "Intro", GetPVarInt(playerid, "Intro") + 1);
   new iteration = GetPVarInt(playerid, "Intro");
   switch(iteration)
   {
    case 1:
    {
        for(new i; i < 11; i++)
        {
                SendClientMessage(playerid, -1, "");
        }
        TextDrawShowForPlayer(playerid, Intro[0]);
    }
    case 2:
    {
        TextDrawShowForPlayer(playerid, Intro[1]);
    }
    case 3:
    {
              TextDrawShowForPlayer(playerid, Intro[2]);
    }
    case 4:
    {
        TextDrawHideForPlayer(playerid, Intro[2]);
        TextDrawShowForPlayer(playerid, Intro[3]);
    }
    case 5:
    {
        TextDrawHideForPlayer(playerid, Intro[3]);
        TextDrawShowForPlayer(playerid, Intro[4]);
    }
    case 6:
    {
        TextDrawHideForPlayer(playerid, Intro[4]);
        TextDrawShowForPlayer(playerid, Intro[5]);
    }
    case 7:
    {
        TextDrawHideForPlayer(playerid, Intro[5]);
        TextDrawShowForPlayer(playerid, Intro[6]);
    }
    case 8:
    {
        TextDrawHideForPlayer(playerid, Intro[6]);
        TextDrawShowForPlayer(playerid, Intro[7]);
    }
    case 9:
    {
        TextDrawHideForPlayer(playerid, Intro[7]);
        TextDrawShowForPlayer(playerid, Intro[8]);
    }
    case 10:
    {
        TextDrawShowForPlayer(playerid, Intro[9]);
    }
    case 11:
    {
        TextDrawShowForPlayer(playerid, Intro[10]);
    }
    case 12:
    {
        TextDrawShowForPlayer(playerid, Intro[11]);
    }
   }
   if(GetPVarInt(playerid, "Intro") < 10)
   {
    SetTimerEx("ShowIntro", 300, 0, "d", playerid);
   }
   else if(9 < GetPVarInt(playerid, "Intro") < 13)
   {
          SetTimerEx("ShowIntro", 2000, 0, "d", playerid);
   }
   else
   {
        for(new i; i < sizeof(Intro); i++)
        {
        TextDrawHideForPlayer(playerid, Intro[i]);
    }
    TogglePlayerSpectating(playerid, false);
    ForceClassSelection(playerid);
   }
   return 1;
 }
Код:
	TogglePlayerSpectating(playerid, true);
    ForceClassSelection(playerid);
    SetPVarInt(playerid, "Intro", 0);
    SetTimerEx("ShowIntro", 1000, 0, "d", playerid);
Reply
#5

Help please?
Reply
#6

Not only could be "Forceclass", you might have a function declared in your script in a different way that equal the force to select another skin, this is the only thing that i see here, it could be, try removing this line and try.

PHP код:
leavefunction(playerid
Reply
#7

I delete it but still have the problem.
Reply
#8

Help?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)