PDA

Просмотр полной версии : [Вопрос] CreateDynamicSphere :).



StevenH
22.11.2015, 13:42
Всем привет. Помогите с CreateDynamicSphere, проблема в том, что:
- Даймонд: если зайти в бизнес и выйти, то скин тпшает на пикап но он не входит, пока не отбежит!!
- Мой сервер: если зайти в бизнес и выйти, то скин тпхает на пикап и ОН заного входит мгновенно!!!

Вот пример скриншота на даймонде:

Это когда вышел с бизнеса на даймонде, его не тпхает назад!
http://i.imgur.com/O0gkoLa.png


Код:


for(new b = 1; b <= TotalBusiness; b++)
{
if(areaid == BusinessInfo[b][bSphere])
{
if(BusinessInfo[b][bOwned] == 0)
{
new string[120];
SetPVarInt(playerid, "SelectBusiness", b);
format(string, sizeof(string), "{4682B4}Название:\t\t\t{FFFFFF}%s\n{4682B4}Стоимость:\t\t\t{FFFFFF}%d$\n{4682B4}Арендная плата:\t\t{FFFFFF}500$", GetNameBusiness(), BusinessInfo[b][bValue]);
ShowPlayerDialog(playerid, 13, DIALOG_STYLE_MSGBOX, "Информация о бизнесе", string, "Войти", "Купить");
}
else if(BusinessInfo[b][bOwned] == 1 /*&& BusinessInfo[b][bEnterPrice] == 0*/)
{
SetPlayerInterior(playerid, BusinessInfo[b][bInt]);
SetPlayerVirtualWorld(playerid, b);
SetPlayerPos(playerid, BusinessInfo[b][bExitX], BusinessInfo[b][bExitY], BusinessInfo[b][bExitZ]);
}
}
}

#Vito
23.11.2015, 02:50
Нужно делать небольшой таймер при входе игрока в зону, и в период этого времени не давать "воспроизводится" другим зонам.
То есть:

В OnPlayerEnterDynamicArea:

SetPVarInt(playerid, #TimerDynamicZone, gettime()+3); // Игрока 3 секунды будут игнорировать все зоны

И после проверки if(areaid == BusinessInfo[b][bSphere])
Делать еще одну проверку:

if(GetPVarInt(playerid, #TimerDynamicZone) >= gettime()) return 1;

Надеюсь, понятно объяснил)

StevenH
26.11.2015, 20:34
Нужно делать небольшой таймер при входе игрока в зону, и в период этого времени не давать "воспроизводится" другим зонам.
То есть:

В OnPlayerEnterDynamicArea:

SetPVarInt(playerid, #TimerDynamicZone, gettime()+3); // Игрока 3 секунды будут игнорировать все зоны

И после проверки if(areaid == BusinessInfo[b][bSphere])
Делать еще одну проверку:

if(GetPVarInt(playerid, #TimerDynamicZone) >= gettime()) return 1;

Надеюсь, понятно объяснил)

Забыл нажать спасибку, нажал.

Тему CLOSED!