PDA

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



Vasya_Pupkin
02.09.2016, 17:51
Всем привет.
Столкнулся с такой проблемой нельзя поднять обьект который находится в интерьере и виртуальном мире(если они больше 0)
А если выкинуть на улице то он подбирается

Выбрасываем предмет

for(new i; i != MAX_OBJECTS_DROP; i ++) {
if(_objectInfo[i][objDrop][0] == 0 && _objectInfo[i][objDrop][1] == 0) {
_objectInfo[i][objDrop][0] = _invPlayer[playerid][invSlot][GetPVarInt(playerid,"selectSlot")];
_objectInfo[i][objDrop][1] = _invPlayer[playerid][invSlotKol][GetPVarInt(playerid,"selectSlot")];
_objectInfo[i][objPos][0] = x;
_objectInfo[i][objPos][1] = y;
_objectInfo[i][objPos][2] = z;
MeAction(playerid,"âûêèíóë(-à) ÷òî-òî íà çåìëþ",1);
ApplyAnimation(playerid,"WUZI", "Wuzi_grnd_chk",4.0, 0, 1, 1, 0, 0, 1);
switch(_itemsInfo[_invPlayer[playerid][invSlot][GetPVarInt(playerid,"selectSlot")]][invObject]) {
case 0 .. 299,2219,2355,2353: _objectInfo[i][objObject] = CreateDynamicObject(2386, _objectInfo[i][objPos][0],_objectInfo[i][objPos][1],_objectInfo[i][objPos][2]-1, 0.0, 0.0, 0.0);
default: _objectInfo[i][objObject] = CreateDynamicObject(_itemsInfo[_invPlayer[playerid][invSlot][GetPVarInt(playerid,"selectSlot")]][invObject], _objectInfo[i][objPos][0],_objectInfo[i][objPos][1],_objectInfo[i][objPos][2]-1, 80.0, 0.0, 0.0);
}
_objectInfo[i][objText] = CreateDynamic3DTextLabel(_itemsInfo[_invPlayer[playerid][invSlot][GetPVarInt(playerid,"selectSlot")]][invName],0xFFFFFF50, _objectInfo[i][objPos][0],_objectInfo[i][objPos][1],_objectInfo[i][objPos][2] - 1,2.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
count = true;
break;
}
}


Подбираем

for(new i; i != MAX_OBJECTS_DROP; i ++)
{
if(_objectInfo[i][objDrop][0] == 0) continue;
if(IsPlayerInRangeOfPoint(playerid, 1.0,_objectInfo[i][objPos][0],_objectInfo[i][objPos][1],_objectInfo[i][objPos][2]))
{
DestroyDynamicObject(_objectInfo[i][objObject]);
GivePlayerItem(playerid, _objectInfo[i][objDrop][0], _objectInfo[i][objDrop][1]);
DestroyDynamic3DTextLabel(_objectInfo[i][objText]);
_objectInfo[i][objDrop][0] = 0;
_objectInfo[i][objDrop][1] = 0;
_objectInfo[i][objPos][0] = 0.0;
_objectInfo[i][objPos][1] = 0.0;
_objectInfo[i][objPos][2] = 0.0;
break;
}
}

DeimoS
02.09.2016, 19:28
То бишь, не работает система поднятия (объект не находит) или предмет даётся игроку, но объект не удаляется?

Vasya_Pupkin
02.09.2016, 23:12
обьект в интерьере виден но в инвентарь не ложится и не удаляется,
но если выбросить обьект на улице то он появляется в инвентаря и обьект удаляется с земли.

vovandolg
03.09.2016, 01:38
Какая версия стримера у тебя и не ковырял ли ты инклуд его?

DeimoS
03.09.2016, 17:41
обьект в интерьере виден но в инвентарь не ложится и не удаляется,
но если выбросить обьект на улице то он появляется в инвентаря и обьект удаляется с земли.

Ну значит косяк где-то системе объектов твоей.
Логируй координаты объекта и координаты игрока.

Vasya_Pupkin
03.09.2016, 18:15
Всем спасибо решил )
вставил его в отдельную кнопку и заработало
ну и все[ i] на [p] заменил (но это вроде не чего не меняет)

if(newkeys & KEY_CROUCH)
{
for(new p; p != MAX_OBJECTS_DROP; p ++)
{
if(_objectInfo[p][objDrop][0] == 0) continue;
if(IsPlayerInRangeOfPoint(playerid, 1.0,_objectInfo[p][objPos][0],_objectInfo[p][objPos][1],_objectInfo[p][objPos][2]))
{
DestroyDynamicObject(_objectInfo[p][objObject]);
GivePlayerItem(playerid, _objectInfo[p][objDrop][0], _objectInfo[p][objDrop][1]);
DestroyDynamic3DTextLabel(_objectInfo[p][objText]);
_objectInfo[p][objDrop][0] = 0;
_objectInfo[p][objDrop][1] = 0;
_objectInfo[p][objPos][0] = 0.0;
_objectInfo[p][objPos][1] = 0.0;
_objectInfo[p][objPos][2] = 0.0;
break;
}
}
}

Тему можно закрывать.