• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как удалить и сразу пересоздать удаленный пикап?

Статус
В этой теме нельзя размещать новые ответы.

Moc737

Новичок
Здравствуйте друзья.
При работе с пикапами у меня возникло проблема, а конкретно: я создаю в отдельном мире 5 пикапов через таймер. После закачивании таймера пикапы должны удалятся и в место них должны появляется другие пикапы (на этих же координатах).

Так вот, пикапы удалятся и в место них появляются эти обновленные пикапы (только визуально)...
Повторю: только визуально, потому что при вызове OnPlayerPickUpPickup берутся иногда данные прежних
пикапов или вовсе смешаются(берется по 2, скажем оружие или берется только данные прежнего пикапа)

Я изначально создаю пикапы в ongamemodinit и через 15 секунд начинаю с ними манипулировать

Есть идеи в чем может быть проблема ?
пример кода >
PHP:
CB: updatepickup(playerid)
{
    switch(SInfo[CtfPickupupdate])
    {
        case 0:
        {
            if(SInfo[CtfPickupupdate] == 0){
                DestroyPickup(Pickups[gun_pickup1]);
                DestroyPickup(Pickups[gun_pickup2]);
                DestroyPickup(Pickups[gun_pickup3]);
                DestroyPickup(Pickups[gun_pickup4]);
                DestroyPickup(Pickups[gun_pickup5]);
                DestroyPickup(Pickups[gun_pickup6]);
                DestroyPickup(Pickups[gun_pickup7]);
                DestroyPickup(Pickups[gun_pickup8]);
                DestroyPickup(Pickups[gun_pickup9]);
                DestroyPickup(Pickups[gun_pickup10]);
            }
            SendClientMessage(playerid,COLOR_LIGHTRED,"test1");
            SInfo[CtfPickupupdate] = 1;
        }
        case 1:
        {
            DestroyPickup(Pickups[gun_pickup6]);
            DestroyPickup(Pickups[gun_pickup7]);
            DestroyPickup(Pickups[gun_pickup8]);
            DestroyPickup(Pickups[gun_pickup9]);
            DestroyPickup(Pickups[gun_pickup10]);
            Pickups[gun_pickup1] = CreatePickup(1220,1,-3953.14111, -1042.59119, 107.61050,WORLD_CTF)
            Pickups[gun_pickup2] = CreatePickup(370,1,-3959.39453, -1045.50342, 106.78787, WORLD_CTF)
            Pickups[gun_pickup3] = CreatePickup(341,1,-3955.49048, -1041.24805, 107.17730, WORLD_CTF)
            Pickups[gun_pickup4] = CreatePickup(337,1,-3957.99243, -1043.70837, 107.55250, WORLD_CTF);
            Pickups[gun_pickup5] = CreatePickup(360,1,-3954.04224, -1045.20923, 107.49070, WORLD_CTF);
            SendClientMessage(playerid,COLOR_LIGHTRED,"test2");
            SInfo[CtfPickupupdate] = 2;
        }
        case 2:
        {
            DestroyPickup(Pickups[gun_pickup1]);
            DestroyPickup(Pickups[gun_pickup2]);
            DestroyPickup(Pickups[gun_pickup3]);
            DestroyPickup(Pickups[gun_pickup4]);
            DestroyPickup(Pickups[gun_pickup5]);
            Pickups[gun_pickup6] = CreatePickup(351,1,-3953.14111, -1042.59119, 107.61050,WORLD_CTF);
            Pickups[gun_pickup7] = CreatePickup(361,1,-3959.39453, -1045.50342, 106.78787, WORLD_CTF)
            Pickups[gun_pickup8] = CreatePickup(364,1,-3955.49048, -1041.24805, 107.17730, WORLD_CTF)
            Pickups[gun_pickup9] = CreatePickup(348,1,-3957.99243, -1043.70837, 107.55250, WORLD_CTF)
            Pickups[gun_pickup10] = CreatePickup(352,1,-3954.04224, -1045.20923, 107.49070, WORLD_CTF)
            SendClientMessage(playerid,COLOR_LIGHTRED,"test3");
            SInfo[CtfPickupupdate] = 0;
        }
    }
    return true;
}
PHP:
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == Pickups[gun_pickup1])
    {
        GivePlayerWeapon(playerid,18,30); // iz boxa vzrivnie shari
        DestroyPickup(Pickups[gun_pickup1]);
    }
    else if(pickupid == Pickups[gun_pickup2])
    {
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK); // jetpack
        DestroyPickup(Pickups[gun_pickup2]);
    }
    // ...
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу