PDA

Просмотр полной версии : [Вопрос] Зона для игрока



weather
03.03.2016, 01:17
Здравствуйте, подскажите как это реализовать.


CreatedynamicRentangle,

Как можно доступность зоны сделать для 1 человека. И потом удаление?

И вообще можно ли?

SliM
03.03.2016, 04:49
конечно возможно, в последнем аргументе нужно указать ид игрока.

CreateDynamicRectangle(x, y, xx, xy, виртуальный мир, интерьер, playerid);
а удаление можно реализовать при помощи того же PVar'a, записав в него предварительно ид созданной арены и как только игрок в нее войдет удалить, ну или когда там это нужно.

weather
03.03.2016, 08:23
Спасибо!

А функция какая для удаления?

Daniel_Cortez
03.03.2016, 09:32
Спасибо!

А функция какая для удаления?
Что мешает открыть streamer.inc и найти самостоятельно?

VVWVV
03.03.2016, 14:55
Есть неплохая документация (https://github.com/samp-incognito/samp-streamer-plugin/wiki) от создателя данного плагина.

weather
03.03.2016, 16:51
Есть функция, native DestroyDynamicArea(STREAMER_TAG_AREA areaid);,

Но как для определенного игрока же удалять?)

SliM
04.03.2016, 09:51
ну например так:
создадим динам. арену

public OnPlayerSpawn (playerid)
{
SetPVarInt (playerid, "private_area",
CreateDynamicRectangle (x, y, xx, xy, вирт. мир, интерьер, playerid)
);
return 1;
}
удалим динам. арену

public OnPlayerEnterDynamicArea (playerid, areaid)
{
if (areaid == GetPVarInt (playerid, "private_area"))
{
//событие - игрок вошел в арену
DestroyDynamicArea (areaid);
DeletePVar (playerid, "private_area");
}
return 1;
}
или так

public OnPlayerLeaveDynamicArea (playerid, areaid)
{
if (areaid == GetPVarInt (playerid, "private_area"))
{
//событие - игрок покинул арену
DestroyDynamicArea (areaid);
DeletePVar (playerid, "private_area");
}
return 1;
}
или просто в любом участке

DestroyDynamicArea (GetPVarInt (playerid, "private_area"));
DeletePVar (playerid, "private_area");

weather
04.03.2016, 20:29
Спасибо Slim.
Если я по такому же принципу создам гангзону, будет отлично работать?!