Questions. -
TLN - 01.03.2014
1.
When I enter a
Cluckin' Bell,
Sex Shop or
Burger Shot it works fine, but when I exit one of those stores, I get teleported infront of the first shop I created with the same interior as the shops above.
Is there anything I can do with this?
2.
I have the CJ skin in the class selection, I didn't add it, and I don't have any invalid skin id's, how can I remove it?
Re: Questions. -
Kar - 01.03.2014
For #2, find the AddPlayerClass line with 0 as the skinid and remove it.
Re: Questions. -
TLN - 01.03.2014
Quote:
Originally Posted by Kar
For #2, find the AddPlayerClass line with 0 as the skinid and remove it.
|
That's the problem, I don't have a invalid skin id
OR skin id 0 in the script.
Re: Questions. -
Vince - 01.03.2014
The only invalid skin is skinid 74. It doesn't work and will set the CJ skin instead.
As for the first problem, use virtual worlds.
Re: Questions. -
TLN - 01.03.2014
Quote:
Originally Posted by Vince
The only invalid skin is skinid 74. It doesn't work and will set the CJ skin instead.
As for the first problem, use virtual worlds.
|
I don't have skin id 74 in my script.
So should I use different virtual worlds when I enter a store?
Tested now, didn't work.
Re: Questions. -
xser - 02.03.2014
Quote:
Originally Posted by TLN
I don't have skin id 74 in my script.
So should I use different virtual worlds when I enter a store?
Tested now, didn't work.
|
For #1, When your giving each shop a different virtual world, just detect the x,y,z positions where you want them to /exit and detect there virtual worlds.
For Example:
Код:
CMD:exit(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, x, y, z) && GetPlayerVirtualWorld(playerid) == 1) // This is store 1
{
SetPlayerPos(playerid,x,y,z); // The X Y Z, where you want them to end up after they /exit for store 1.
}
if(IsPlayerInRangeOfPoint(playerid, 7.0, x, y, z) && GetPlayerVirtualWorld(playerid) == 2) // This is store 2
{
SetPlayerPos(playerid,x,y,z); // The X Y Z, where you want them to end up after they /exit for store 2.
}
return 1;
}
Re: Questions. -
TLN - 02.03.2014
I have everything like that.
This is for my first store (didn't add everything here).
pawn Код:
CMD:exit(playerid, params[])
{
SendAdminText(playerid, "/exit", params);
if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438))
{
SetPlayerPos(playerid, 2097.666992, 2224.698242, 11.023437);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
Re: Questions. -
xser - 02.03.2014
Quote:
Originally Posted by TLN
I have everything like that.
This is for my first store (didn't add everything here).
pawn Код:
CMD:exit(playerid, params[]) { SendAdminText(playerid, "/exit", params); if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438)) { SetPlayerPos(playerid, 2097.666992, 2224.698242, 11.023437); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); return 1; }
|
You're not checking the player's virtual world.
You have:
Код:
if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438))
Which should be (for store 1 anyways):
Код:
if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438) && GetPlayerVirtualWorld(playerid) == 1)
Re: Questions. -
TLN - 02.03.2014
Hm, didn't check your code properly, will try that.
EDIT
Same problem.
Re: Questions. -
xser - 02.03.2014
Quote:
Originally Posted by TLN
Hm, didn't check your code properly, will try that.
EDIT
Same problem.
|
So you're currently detecting the virtual worlds differently, correct? (Make sure your not detecting if the player's virtual world is 1 in all of them.)
Examples of the way it should be:
Store 1.
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438) && GetPlayerVirtualWorld(playerid) == 1) // Store 1.
Store 2.
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 3.0, 6.092340, -31.724231, 1003.549438) && GetPlayerVirtualWorld(playerid) == 2) // Store 2.
If that's correct, make sure your not setting the players to the same cords with SetPlayerPos in every store exit.