Problem with moving icons and interior
#1

Hello, I just started on a new project on an older script, but everytime I try to enter the moved icon, I get into nowhere. but /exit does still work and I get TP'ed back out.

Screenshot from the bug: http://i712.photobucket.com/albums/w...a-mp-006-1.png


Код:
forward LoadInts();
public LoadInts()
{
	new arrCoords[14][64];
	new strFromFile2[256];
	new File: file = fopen("interiors.cfg", io_read);
	if (file)
	{
		new idx;
		while (idx < sizeof(IntInfo))
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			IntInfo[idx][iEntrancex] = floatstr(arrCoords[0]);
			IntInfo[idx][iEntrancey] = floatstr(arrCoords[1]);
			IntInfo[idx][iEntrancez] = floatstr(arrCoords[2]);
			IntInfo[idx][iExitx] = floatstr(arrCoords[3]);
			IntInfo[idx][iExity] = floatstr(arrCoords[4]);
			IntInfo[idx][iExitz] = floatstr(arrCoords[5]);
			strmid(IntInfo[idx][iDiscription], arrCoords[6], 0, strlen(arrCoords[6]), 255);
			IntInfo[idx][iWorld] = strval(arrCoords[7]);
			IntInfo[idx][iInt] = strval(arrCoords[8]);
			IntInfo[idx][iType] = strval(arrCoords[9]);
			IntInfo[idx][iIcon] = strval(arrCoords[10]);
			IntInfo[idx][iIconT] = strval(arrCoords[11]);
			IntInfo[idx][iPick] = strval(arrCoords[12]);
			IntInfo[idx][iPickT] = strval(arrCoords[13]);
			idx++;
		}
	}
	fclose(file);
	return 1;
}
Here is my line:

Код:
1554.8467,-1675.7209,16.1953,1553.9495,-1675.8167,16.1953,~w~Police Department,0,10,0,0,0,1,1318
Any idea on how to solve this problem?

Thanks!


Код:
//===============================[Enter]=================================================

if(strcmp(cmd, "/enter", true) == 0)
{

//    SetTimerEx("Storeb",3000, false, "i", playerid);

	if(IsPlayerConnected(playerid))
	{
		for(new i = 0; i < sizeof(HouseInfo); i++)
		{
			if (PlayerToPoint(2.0, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
			{
				////printf("Found House :%d",i);
				if(PlayerInfo[playerid][pHousekey] == i || HouseInfo[i][hLock] == 0 || AdminDuty[playerid] == 1)
				{
    				SetPlayerFacingAngle( playerid,0);
					//TogglePlayerControllable(playerid, 0);
					SetPlayerInterior(playerid,HouseInfo[i][hInt]);
                    if(i == 28) SetPlayerVirtualWorld(playerid, 88888);
					else SetPlayerVirtualWorld(playerid, HouseInfo[i][hWorld]);
				//	Pause(playerid);
					DOO_SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
					PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
					PlayerInfo[playerid][pLocal] = i;
					HouseEntered[playerid] = i;
					Streamer_Update(playerid);
				}
				else GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
			}
		}
		for(new i = 0; i < sizeof(MotelInfo); i++)
		{
			if (PlayerToPoint(2.0, playerid,MotelInfo[i][mEntrancex], MotelInfo[i][mEntrancey], MotelInfo[i][mEntrancez]))
			{
				////printf("Found House :%d",i);
				if(PlayerInfo[playerid][pComplexkey] == i || MotelInfo[i][mLock] == 0 || AdminDuty[playerid] == 1)
				{
					SetPlayerFacingAngle( playerid,0);
					SetPlayerInterior(playerid,MotelInfo[i][mInt]);
	                SetPlayerVirtualWorld(playerid, MotelInfo[i][mWorld]);
					Pause(playerid);
					DOO_SetPlayerPos(playerid,MotelInfo[i][mExitx],MotelInfo[i][mExity],MotelInfo[i][mExitz]);
					PlayerInfo[playerid][pInt] = MotelInfo[i][mInt];
					PlayerInfo[playerid][pLocal] = i;
					MotelEntered[playerid] = i;
				//	Enter[playerid] = MotelInfo[i][mInt];
					Streamer_Update(playerid);


				}
				else
				{
					GameTextForPlayer(playerid, "~r~Locked", 5000, 1);

				}

			}

		}
		for(new i = 0; i < sizeof(BizzInfo); i++)
		{
			if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
			{
				////printf("Found House :%d",i);
				if(PlayerInfo[playerid][pPbiskey] == i || (GetPlayerPCash(playerid) >= BizzInfo[i][bEntranceCost] || BizzInfo[i][bEntranceCost]==0))
				{

					if(PlayerInfo[playerid][pPbiskey] != i && AdminDuty[playerid] != 1)
					{
						if(BizzInfo[i][bLocked] == 1)
						{
							GameTextForPlayer(playerid, "~r~Closed", 5000, 1);
							return 1;

						}
						GivePlayerPCash(playerid,-BizzInfo[i][bEntranceCost]);
						format(string, sizeof(string), "~r~-$%d~n~~w~type /exit~n~to get out", BizzInfo[i][bEntranceCost]);
						if(PlayerInfo[playerid][pLevel] >= 2)
						{
							BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost];

						}
						ExtortionBiz(i, BizzInfo[i][bEntranceCost]);
						BizzInfo[i][bProducts]--;
						OnPropUpdate();
						GameTextForPlayer(playerid, string, 5000, 3);

					}
			        SetPlayerVirtualWorld(playerid, BizzInfo[i][bWorld]);
					SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
					//Pause(playerid);
					DOO_SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
					PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
					HouseEntered[playerid] = i;
					PlayerInfo[playerid][pLocal] = i+99;
					Streamer_Update(playerid);

					//PayLog(string);

				}

			}

		}


		for(new i = 0; i < sizeof(SBizzInfo); i++)
		{
			if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
			{
				if(PlayerInfo[playerid][pPbiskey] == i || (GetPlayerPCash(playerid) >= SBizzInfo[i][sbEntranceCost] || SBizzInfo[i][sbEntranceCost]==0 ))
				{
					if(PlayerInfo[playerid][pPbiskey] != i)
					{
						if(SBizzInfo[i][sbLocked] == 1 && AdminDuty[playerid] != 1)
						{
							GameTextForPlayer(playerid, "~r~Closed", 5000, 1);
							return 1;

						}
						GivePlayerPCash(playerid,-SBizzInfo[i][sbEntranceCost]);
						SBizzInfo[i][sbProducts]--;
						if(PlayerInfo[playerid][pLevel] >= 2)
						{
							SBizzInfo[i][sbTill] += SBizzInfo[i][sbEntranceCost];

						}

						ExtortionSBiz(i, SBizzInfo[i][sbEntranceCost]);
						OnPropUpdate();
					}

				}
				else
				{
					GameTextForPlayer(playerid, "~r~You dont have the cash", 5000, 1);

				}

			}

		}
		for(new i = 0; i < sizeof(IntInfo); i++)
		{
			if (PlayerToPoint(3, playerid,IntInfo[i][iEntrancex], IntInfo[i][iEntrancey], IntInfo[i][iEntrancez]))
			{
			    if(PlayerToPoint(3, playerid, -2190.9019,-2316.8584,30.6250) && PlayerInfo[playerid][pMember] != 14)
					return 1;
				if(PlayerToPoint(3, playerid, 288.8033,1484.1688,1080.2578) && GetPlayerVirtualWorld(playerid) != 88888)
					return 1;

				if(IntInfo[i][iType] == 5)
				{
					GameTextForPlayer(playerid, "~w~type /exit~n~to get out", 5000, 3);
					SetPlayerInterior(playerid,IntInfo[i][iInt]);
					SetPlayerVirtualWorld(playerid,IntInfo[i][iWorld]);
					Pause(playerid);
					SetPlayerPos(playerid,IntInfo[i][iExitx], IntInfo[i][iExity], IntInfo[i][iExitz]);
					IntEntered[playerid] = i;
					Streamer_Update(playerid);
					return 1;
     			}
			 	GameTextForPlayer(playerid, "~w~type /exit~n~to get out", 5000, 3);
				SetPlayerInterior(playerid,IntInfo[i][iInt]);
				SetPlayerVirtualWorld(playerid,IntInfo[i][iWorld]);
				Pause(playerid);
				SetPlayerPos(playerid,IntInfo[i][iExitx], IntInfo[i][iExity], IntInfo[i][iExitz]);
				IntEntered[playerid] = i;
				Streamer_Update(playerid);
				if(IntInfo[i][iType] == 1)
				{
					SetPlayerShopName(playerid,"FDBURG");

				}
				else if(IntInfo[i][iType] == 2)
				{
					SetPlayerShopName(playerid,"FDPIZA");

				}
				else if(IntInfo[i][iType] == 3)
				{
					SetPlayerShopName(playerid,"FDCHICK");

				}
				else if(IntInfo[i][iType] == 4)
				{
					SendClientMessage(playerid,COLOR_GRAD4,"Type /buyclothes to change your clothes or /buymask if you have a mask.");


				}

			}
			for(new h = 5; h < sizeof(FamilyInfo); h++)
			{
				if(PlayerToPoint(2.0, playerid, FamilyInfo[h][FamilySpawn][0],FamilyInfo[h][FamilySpawn][1],FamilyInfo[h][FamilySpawn][2]))
				{
					if(PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pMember] != h && FamilyInfo[h][FamilyLocked] == 1 && AdminDuty[playerid] != 1)
					{
						GameTextForPlayer(playerid, "~r~Locked", 5000, 1);

					}
					else
					{
						if(FamilyInfo[h][FamilyInterior] == 0)
						{
							GameTextForPlayer(playerid, "~r~Entrance is in Construction", 5000, 1);

						}
						// Crackden
						else   if(FamilyInfo[h][FamilyInterior] == 1)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,5);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 318.6968,1117.9586,1083.8828);
							Streamer_Update(playerid);

						}
      					// Ryders
						else   if(FamilyInfo[h][FamilyInterior] == 2)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,2);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 2465.8018,-1698.3330,1013.5078);
							Streamer_Update(playerid);

						}
						// Cjs
						else  if(FamilyInfo[h][FamilyInterior] == 3)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,3);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 2496.0498,-1694.3333,1014.7422);
							Streamer_Update(playerid);

						}
						// Maddogs mansion
						else   if(FamilyInfo[h][FamilyInterior] == 4)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,5);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 1267.663208,-781.323242,1091.906250);
							Streamer_Update(playerid);

						}
						// Tiger skin brothel
						else  if(FamilyInfo[h][FamilyInterior] == 5)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,3);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 964.106994,-53.205497,1001.124572);
                            Streamer_Update(playerid);
						}
						// Pleasure dome
						else if(FamilyInfo[h][FamilyInterior] == 6)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,3);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, -2640.762939,1406.682006, 906.460937);
							Streamer_Update(playerid);

						}
						// Gang House
						else   if(FamilyInfo[h][FamilyInterior] == 7)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,5);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 2350.339843,-1181.649902,1027.976562);
							Streamer_Update(playerid);

						}
						// Colonel Furhberger's
						else   if(FamilyInfo[h][FamilyInterior] == 8)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,8);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 2807.619873,-1171.899902,1025.570312);
							Streamer_Update(playerid);

						}
						// Unused Safe House
						else  if(FamilyInfo[h][FamilyInterior] == 9)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,12);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 2324.419921,-1145.568359, 1050.710083);
							Streamer_Update(playerid);

						}
						// LS Atruim
						else  if(FamilyInfo[h][FamilyInterior] == 10)
						{
							format(string, sizeof(string), "~p~%s~n~~w~HQ", FamilyInfo[h][FamilyName]);
							GameTextForPlayer(playerid, string, 5000, 1);
							SetPlayerVirtualWorld(playerid,h);
							SetPlayerInterior(playerid,18);
							Pause(playerid);
							DOO_SetPlayerPos(playerid, 1710.433715,-1669.379272, 20.225049);
							Streamer_Update(playerid);

						}

					}
					return 1;

				}
				if (PlayerToPoint(5.0, playerid,-1869.4650,-1672.2026,21.7500))
				{
					if (GetPlayerState(playerid) == 2)
					{
						SetVehiclePos(idcar,-229.1801,2113.3921,120.0963);
			   		}
			   	 	else
				 	{
					 	DOO_SetPlayerPos(playerid, -229.1801,2113.3921,120.0963);
					 	Streamer_Update(playerid);
					}
		 		}
		 		//goes at /enter
            	if( PlayerToPoint(7.0, playerid, -1220.18383789,-2843.09472656,69.63471222))
            	{
            	    if(PlayerInfo[playerid][pMember] == 2)
            	    {
            			MoveObject(fbgate, -1220.18359375,-2843.09472656,63.33475494, 2.0);
            			SetTimer("CloseFBDoor", 5000, false);
             		}
                }
    			if (PlayerToPoint(3, playerid,1186.6999511719,-1550,13.5))
				{
					Pause(playerid);
					DOO_SetPlayerPos(playerid, 1179.6999511719,-1555.9000244141,13.60000038147);
					Streamer_Update(playerid);
				}
 				if (PlayerToPoint(3, playerid,681.5493,-459.2426,-25.6172))
				{
					Pause(playerid);
					DOO_SetPlayerPos(playerid, -82.1396,-24.0751,1052.7000);
					Streamer_Update(playerid);
				}
				if (PlayerToPoint(3, playerid,36.5828,-1529.8059,5.4303))//APSD Toll
				{
					Pause(playerid);
					DOO_SetPlayerPos(playerid, 37.7975,-1530.0250,5.4191);
					Streamer_Update(playerid);
				}
				if (PlayerToPoint(3, playerid,65.2208,-1532.9244,5.1497))//APSD Toll
				{
					Pause(playerid);
					DOO_SetPlayerPos(playerid, 64.4457,-1532.6851,5.1570);
					Streamer_Update(playerid);
				}
		}
Reply
#2

Make sure you're moving the player to the correct interior:
https://sampwiki.blast.hk/wiki/SetPlayerInterior
Reply
#3

Quote:
Originally Posted by mati233
Посмотреть сообщение
Make sure you're moving the player to the correct interior:
https://sampwiki.blast.hk/wiki/SetPlayerInterior
Nothing to do with that :/
Reply
#4

Код:
		for(new i = 0; i < sizeof(IntInfo); i++) {
			if(IsPlayerInRangeOfPoint(playerid,3.0,IntInfo[i][iEntrancex], IntInfo[i][iEntrancey], IntInfo[i][iEntrancez])) {
			    if(PlayerToPoint(3, playerid, -2190.9019,-2316.8584,30.6250) && PlayerInfo[playerid][pMember] != 14)
					return 1;
					
				if(PlayerToPoint(3, playerid, 288.8033,1484.1688,1080.2578) && GetPlayerVirtualWorld(playerid) != 88888)
					return 1;
				
			 	GameTextForPlayer(playerid, "~w~type /exit~n~to get out", 5000, 3);
				SetPlayerInterior(playerid,IntInfo[i][iInt]);
				SetPlayerVirtualWorld(playerid,IntInfo[i][iWorld]);
				DOO_SetPlayerPos(playerid,IntInfo[i][iExitx], IntInfo[i][iExity], IntInfo[i][iExitz]);
				IntEntered[playerid] = i;
				Streamer_Update(playerid);
				Pause(playerid);
				if(IntInfo[i][iType] == 1) SetPlayerShopName(playerid,"FDBURG");
				else if(IntInfo[i][iType] == 2) SetPlayerShopName(playerid,"FDPIZA"); 
				else if(IntInfo[i][iType] == 3) SetPlayerShopName(playerid,"FDCHICK"); 
				else if(IntInfo[i][iType] == 4) SendClientMessage(playerid,COLOR_GRAD4,"Type /buyclothes to change your clothes or /buymask if you have a mask.");
				else { }
			}
		}
Place that ontop of "for(new h = 5; h < sizeof(FamilyInfo); h++)" - You might have one extra "}" at the bottom of your command so you might want to delete that.
Reply
#5

Hmm, still not working :S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)