PDA

Просмотр полной версии : [Вопрос] Пикапы.



newbie01
15.02.2016, 13:35
1. Как сделать так что бы пикап появлялся только в определенном виртуальном мире или интерьере. Например если я создам пикап входа в мэрию зайду в мэрию и обратно через собейт тпхнусь на улицу к мэрии там будут стоять эти пикапы.

2. Как сделать так что бы при создании пикапа которые вызывает диалог он открывался не так часто. То есть я подхожу к пикапу открывается диалог потом я диалог закрываю и он опять же резко открывается пока я стою на этом пикапе, надо сделать что бы был некий интервал открытия диалога.

3. Что надо сделать что бы использовать один и тот же интерьер (к примеру мэрии) но что бы это были разные вирт. миры

4. Как получать координаты камеры (именно камеры а не персонажа через /save) что бы например сделать вид камеры при старте.

Profyan
15.02.2016, 14:19
1.CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0) - virtualworld меняйте на свой.
2.Используйте динамические зоны,реализованные в streamer:

Создаете динамическую зону(шар): CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1);Можете создать переменную и присвоить ей значение,возвращаемое этой функцией. Т.е. id созданной нами динамической зоны:


new variable;
public OnGameModeInit()
{
variable = CreateDynamicSphere(0.0, 0.0, 0.0, 1.0); // создали зону в координатах 0.0 0.0 0.0 и с размером 1.0
return 1;
}

Далее в колбеке OnPlayerEnterDynamicArea(playerid, STREAMER_TAG_AREA areaid) проверяете, в какую зону зашел игрок.
Можете проверить через координаты,а можете через значение переменной:

public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(areaid == variable)
{
//действия
}
return 1;
}

3.Просто нужно указывать игроку определенный вирт.мир: SetPlayerVirtualWorld(playerid,worldid);
4.Есть такой FS cameditor.С помощью него вы можете летать камерой и создавать записи(летящая камера).