Something is wrong !!!
#1

Hello.

What the hell is wrong with the code ?!
When ever I use /spawn ID of player that player respawns and cannot move, few secs later his game freezes. Its not clients fault its servers ! How to fix it ? Did anyone had the same problem ?!
Reply
#2

Quote:

What the hell is wrong with the code ?!

Unfortunately, this is impossible to answer unless you actually show us it.
Reply
#3

Код:
public OnPlayerSpawn(playerid)
{
    
	if (PLAYERLIST_authed[playerid])
	{
	    StopAudioStreamForPlayer(playerid);
	    Killing_Spree_Count[playerid] = 0;
		if(!gPlayerAnimLibsPreloaded[playerid])
		{
			PreloadAnimLib(playerid,"BOMBER");
			PreloadAnimLib(playerid,"RAPPING");
			PreloadAnimLib(playerid,"SHOP");
			PreloadAnimLib(playerid,"BEACH");
			PreloadAnimLib(playerid,"SMOKING");
			PreloadAnimLib(playerid,"FOOD");
			PreloadAnimLib(playerid,"ON_LOOKERS");
			PreloadAnimLib(playerid,"DEALER");
			PreloadAnimLib(playerid,"CRACK");
			PreloadAnimLib(playerid,"CARRY");
			PreloadAnimLib(playerid,"COP_AMBIENT");
			PreloadAnimLib(playerid,"PARK");
			PreloadAnimLib(playerid,"INT_HOUSE");
			PreloadAnimLib(playerid,"FOOD");
			PreloadAnimLib(playerid,"PED");
			gPlayerAnimLibsPreloaded[playerid] = 1;
		}
	    StopPlayerHoldingObjectEx(playerid);
	    SetPVarInt(playerid, "Tazer", 0);
	    SetPVarInt(playerid, "BriefCaseTill", 0);
	    if(GetPVarInt(playerid, "SkinSelect") == 1)
		{
	        SetTimerEx("SetPlayerBack", 350, false, "dd", playerid,1);
	        new tmpid=IsPlayerInBiz(playerid);
			if(tmpid!=-1)
			{
				new filename[50],tmpbank;
				format(filename,sizeof(filename),"/Businesses/%s.txt",biz[tmpid][bizname]);
				tmpbank=dini_Int(filename,"bizcash");
				dini_IntSet(filename,"bizcash",tmpbank+1000);
				GivePlayerMoneyEx(playerid,-1000);
				PlayerTemp[playerid][spawnrdy]=0;
			}
	        return 1;
		}
		TextDrawHideForPlayer(playerid, plrwarning[playerid]);
		TextDrawHideForPlayer(playerid, jailtd[playerid]);
		TextDrawHideForPlayer(playerid, InjuredTD);
		PlayerTemp[playerid][HasRedScreen] = 0;
	    SetPVarInt(playerid, "GarageID", -1);
	    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 1);
	    TextDrawHideForPlayer(playerid, PlayerTemp[playerid][InfoBox]);
	    TextDrawHideForPlayer(playerid, LocationTD[playerid]);
	    TextDrawHideForPlayer(playerid, Harvest[playerid]);
	    TextDrawHideForPlayer(playerid, Cargo[playerid]);
	    PlayerTemp[playerid][isevent] = 0;
	    if(PlayerTemp[playerid][adminduty])
	    {
	        SendClientMessage(playerid, COLOR_LIGHTGREY, " Info: You are still on adminduty! You cannot roleplay!");
	        SetTimerEx("AdminDutyFunction", 1200, false, "d", playerid);
	    }
	    SetPlayerArmour(playerid, 0.0);
	    TextDrawShowForPlayer(playerid, PlayerTemp[playerid][Status]);
	    TextDrawShowForPlayer(playerid, LocationTD[playerid]);
    	TextDrawShowForPlayer(playerid, TextDraw__News);
    	TextDrawShowForPlayer(playerid, IMtxt);
    	TextDrawHideForPlayer(playerid, TellTD);
		new Float:px,Float:py,Float:pz;
		if(MoneyCheckEx(playerid)) return 1;
		GetPlayerPos(playerid,px,py,pz);
		PlayerPlaySound(playerid,SOUND_GOGO_TRACK_STOP,px,py,pz);
		SetPlayerHealth(playerid,100);
		for(new q; q < sizeof(Gangzones); q++)
		{
			GangZoneShowForPlayer(playerid, Gangzones[q][gID], GetFactionTurfColour(Gangzones[q][gFACTION]));
			TextDrawHideForPlayer(playerid, Gangzones[q][gDRAW]);
			if(Gangzones[q][gBLINK] == 1) GangZoneFlashForPlayer(playerid, Gangzones[q][gID], COLOR_WHITE);
		}

 		if(PlayerInfo[playerid][jailtime]>1 || PlayerInfo[playerid][jail])
	 	{
	 	    PlayerTemp[playerid][imprisoned] = 1;
		    Jail(playerid,PlayerInfo[playerid][jailtime],PlayerInfo[playerid][bail],PlayerInfo[playerid][jailreason]);
		    return 1;
		}
		else
		{
		    if(IsPlayerInPaintball(playerid))
		    {
				SetPlayerPaintBall(playerid, PlayerTemp[playerid][onpaint], PlayerTemp[playerid][pbteam]);
				return 1;
			}
			SetTimerEx("CheckCrash", 750, false, "d", playerid);
			if(PlayerInfo[playerid][housenum]==-1) DefaultSpawn(playerid);
			else HouseSpawn(playerid, PlayerInfo[playerid][housenum]);
			if(PlayerInfo[playerid][housenum]==-1)
			{
				switch(PlayerInfo[playerid][playerteam])
				{
				    case CIV, 0:
					{
						SetPlayerInterior(playerid,0);
						SetPlayerVirtualWorld(playerid,0);
						CheckCrash(playerid);
					}

				}
			}
	   		else
   			{
	   		    PlayerTemp[playerid][tmphouse]=PlayerInfo[playerid][housenum];
				new filename[MAX_STRING],hinterior;
				format(filename,sizeof(filename),"/Houses/Casa%d.txt",PlayerInfo[playerid][housenum]);
				hinterior=dini_Int(filename,"interiorpack");
				SetPlayerInterior(playerid,interiorpack[hinterior][_interior]);
				SetPlayerVirtualWorld(playerid,House[PlayerInfo[playerid][housenum]][_Hvirtual]);
				SetPlayerPos(playerid,interiorpack[hinterior][_intx],interiorpack[hinterior]             [_inty],interiorpack[hinterior][_intz]);
				CheckCrash(playerid);
				return 1;
			}
		}
	}
	else
	{
		switch(random(2))
		{
			case 0:
			{
				SetPlayerCameraPos(playerid,967.4384,2559.5483,10.7003);
				SetPlayerCameraLookAt(playerid,982.4874,2561.6409,22.5239);
				SetPlayerPos(playerid,967.4384,2559.5483,5.7003);
			}
			case 1:
			{
	  			SetPlayerCameraPos(playerid,2058.8811,971.7955,54.5982);
				SetPlayerCameraLookAt(playerid,2057.1230,1189.4883,39.5329);
				SetPlayerPos(playerid,2058.8811,971.7955,47.5982);
			}
			case 2:
			{
			    SetPlayerCameraPos(playerid,2372.1680,2141.8135,31.8135);
	  			SetPlayerCameraLookAt(playerid,2299.5005,2142.6213,28.8228);
				SetPlayerPos(playerid,2372.1680,2141.8135,27.8135);
			}
		}
		SetPlayerInterior(playerid,0);
		SetPlayerColor(playerid, COLOR_RED);
		TogglePlayerControllable(playerid,false);
		return 1;
	}
	return 0;
}
Reply
#4

And thats the /spawn player command. When ever player gets killed/respawned he freezes and eventually crashes. This is happening to everyone.
Код:
COMMAND:spawn(playerid, params[])
{
    if(!PlayerInfo[playerid][power]) return SendClientError(playerid, CANT_USE_CMD);

	new iPlayer;
	if( sscanf ( params, "u", iPlayer))  return SCP(playerid, "[PlayerID/PartOfName]");
	if(!IsPlayerConnected(iPlayer)) return SendClientError(playerid, PLAYER_NOT_FOUND);
	format(iStr,sizeof(iStr),"{FFFFFF}[ {FF0000}ADMIN{FFFFFF} ] {FF6347}* %s has been respawned by Admin %s *",RPName(iPlayer),AnonAdmin(playerid));
	SendClientMessageToAll(COLOR_RED,iStr);
	format(iStr,sizeof(iStr),"5[ Admin ] %s has been respawned by %s.", PlayerName(iPlayer), PlayerName(playerid));
	iEcho(iStr);
	SpawnPlayer(iPlayer);
	TogglePlayerControllable(iPlayer,true);
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)