SA-MP Forums Archive
Filterscript activate only on specific vw. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Filterscript activate only on specific vw. (/showthread.php?tid=652503)



Filterscript activate only on specific vw. - Zeus666 - 13.04.2018

Hi, how can I set a mapping to be shown only if a player is in specific virtualworld?


Re: Filterscript activate only on specific vw. - Sithis - 13.04.2018

Assuming you are using Incognito's streamer, you can specify the world(s) in the CreateDynamicObject function.

PHP код:
CreateDynamicObject(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzworldid = -1interiorid = -1playerid = -1Float:streamdistance STREAMER_OBJECT_SDFloat:drawdistance STREAMER_OBJECT_DDareaid = -1priority 0



Re: Filterscript activate only on specific vw. - Zeus666 - 13.04.2018

Quote:
Originally Posted by Sithis
Посмотреть сообщение
Assuming you are using Incognito's streamer, you can specify the world(s) in the CreateDynamicObject function.

PHP код:
CreateDynamicObject(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzworldid = -1interiorid = -1playerid = -1Float:streamdistance STREAMER_OBJECT_SDFloat:drawdistance STREAMER_OBJECT_DDareaid = -1priority 0

Im using

PHP код:
CreateObject(193631174.2612, -1354.587038.01530.00000.000090.0000); //wall011 
Shall I do something like ?

PHP код:
CMD:enter(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,2.01172.7439,-1323.3291,15.4013))
    {
        
SendClientMessage(playerid, -1"{FFCC33} All Saints General Hospital.   ");
        
SetPlayerPos(playerid1179.7336, -1308.015240.5419);
          
SetPlayerInterior(playerid0);
                
CreateObject(193631174.2612, -1354.587038.01530.00000.000090.0000);
        
SetPlayerVirtualWorld(playerid1);
    }




Re: Filterscript activate only on specific vw. - Sithis - 13.04.2018

You can't set a world on regular objects. I can suggest you start using a streamer. It will perform much better and has much more options.


Re: Filterscript activate only on specific vw. - Mugala - 13.04.2018

yeah use Streamer or just CreatePlayerObject (when player enters in virtual world)


Re: Filterscript activate only on specific vw. - FaLLenGirL - 24.04.2018

Yes, you can like Sithis said. Here's an example:

PHP код:
After you set your map, and your coords at that map you must put that
map objects in the virtual world that you choose 
for your map in that commandhere '/entermap'.
So if you have some objects like (examples):
CreateDynamicObject1697, -984.5000000, -659.2000100260.031.76700000.00.0, .worldid 10 );
CreateDynamicObject1697, -988.9660000, -659.2000100260.031.76100000.00.0, .worldid 10 );
CreateDynamicObject1697, -980.0332000, -659.1992200260.031.76100000.00.0, .worldid 10 );
CreateDynamicObject1697, -975.5673800, -659.1992200260.031.76100000.00.0, .worldid 10 );
CreateDynamicObject1697, -971.1015600, -659.1992200260.031.76100000.00.0, .worldid 10 );
that .worldid is the tag of the world ID from the "CreateDynamicObject" function, you just have to
add to your end of the object the world like you see in the code above
, or you can simply put the
world without the tag 
".worldid"ExCreateDynamicObject1697, -984.5000000, -659.2000100260.031.76700000.00.010 );
CMD:entermapplayeridparams[ ] ) // you must make a command from your map, like you want (this is an example).
{
    
SetPlayerVirtualWorldplayerid10 // you must set the world ID, it not requires the interior ID if you don't set it in the object code, but if you set the interior ID different from the original value you must set it in the comand with "SetPlayerInterior( playerid, Int ID );"
    
SetPlayerPosplayeridxy); // x, y, z = your spawn coords at that map.
    
return 1;

[!] To do this for the entire map, you have to add to the end of all objects from
that map the world ID, with or without the tag (.worldid).
[!] Also, you must know that if you are using static objects like "CreateObject" you have a limit of 1000 objects total. If you exceed that limit your objects will not be shown on your server. So, it's more than okay if you'll use "CreateDynamicObject" instead the "CreateObject", because the dynamic objects don't have limits.