• Пожалуйста, создайте название темы отражающее ее смысл
  • Для ускорения решения Вашего вопроса заполните обязательные поля и подробно опишите возникшую проблему

Помощь время жизни презента

alan191

Участник
Сообщения
121
Реакции
2
Баллы
18
добрый день
как увеличить время жизни презента на карте?
время между спавнами 4 минуты! как сделать что бы презент если не подобрал еще никто жил 2 минуты
как я понял за это отвечает это:
Код:
- ручные презенты удаляются по времени, заданному при его спавне через натив
        native CmsSpawnPresentById(idKey, Float:origin[]={0.0, 0.0, 0.0}, bool:noanons = false, owner = 0, Float:flTime = 0.0)
только куда вписать эти 2 минуты именно
 
Последнее редактирование:
alan191, для этого нужно заблокировать стандартный спавн и сделать его данным нативом. Приложите свой код в формате с++
 
alan191, для этого нужно заблокировать стандартный спавн и сделать его данным нативом. Приложите свой код в формате с++
Код:
#include <amxmodx>
#include < fakemeta >
#include <gamecms_present>
#include <fun>
#include <cstrike>
#include <colorchat>
#include <reapi>

//Если основной плагин презентов не стартанул, останавливаем
public OnPresentCoreStopped()
    pause("d");
    
public plugin_cfg()
{
    CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk");
    CmsAddPresent(301, "Автомат M4A1", -1, 0, 0, "sunduk");
    CmsAddPresent(302, "Игровые 1000$", -1, 0, 0, "sunduk");
    CmsAddPresent(303, "Слонобой AWP", -1, 0, 0, "sunduk");
    //и т.д...
}

//событие попытки поднять презент
public OnTakePresent(id, itemId, iEntity)
{
    switch(itemId)
    {
        case 300:
        {
            if(rg_give_item(id, "weapon_ak47", GT_DROP_AND_REPLACE))
            {
                rg_set_user_bpammo(id, CSW_AK47, 90);
                ColorChat(id, print_chat, "^4[info] ^1Вы получили оружие AK47")
                return 2;
            }
        }
        case 301:
        {
            if(rg_give_item(id, "weapon_m4a1", GT_DROP_AND_REPLACE))
            {
                rg_set_user_bpammo(id, CSW_M4A1, 90);
                ColorChat(id, print_chat, "^4[info] ^1Вы получили оружие M16")
                return 2;
            }
        }
        case 302:
        {
               cs_set_user_money(id, min(cs_get_user_money(id) + 1000, 16000));
               ColorChat(id, print_chat, "^4[info] ^1Вы получили деньги")
               return 2;
        }
        case 303:
        {
            if(rg_give_item(id, "weapon_awp", GT_DROP_AND_REPLACE))
            {
                rg_set_user_bpammo(id, CSW_AWP, 90);
                ColorChat(id, print_chat, "^4[info] ^1Вы получили AWP")
                return 2;
        }

    }
  
    return PLUGIN_CONTINUE;
}
 
alan191, у вас все проще, если презент создаете сами
C++:
/*    @flTTL - время "жизни" модели, после которого она будет удалена, секунд
*        0.0 - удалится по общим правилам
*        -1.0 - не удалять, пока не поднимут презент
native CmsAddPresent(prUnic, prName[], prLimit=0, prAccess=0, prMinPlayers=0, prModel[]="",    prSubModel=0, Float:flTTL = 0.0)
*/
CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk", .flTTL = 4.0 * 60.0); //4 минуты * 60 секунд
 
alan191, у вас все проще, если презент создаете сами
C++:
/*    @flTTL - время "жизни" модели, после которого она будет удалена, секунд
*        0.0 - удалится по общим правилам
*        -1.0 - не удалять, пока не поднимут презент
native CmsAddPresent(prUnic, prName[], prLimit=0, prAccess=0, prMinPlayers=0, prModel[]="",    prSubModel=0, Float:flTTL = 0.0)
*/
CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk", .flTTL = 4.0 * 60.0); //4 минуты * 60 секунд
Код:
flTTL = 4.0 * 60.0); //4 минуты * 60 секунд
4 минуты как я понимаю это интервал а 60 секунд время жизни
 
alan191,
C++:
@flTTL - время "жизни" модели, после которого она будет удалена, секунд
4 минуты- это время, через которое презент будет удален. Т.к. время указывается в секндах, то пишете 4.0 * 60.0 или 240.0
Добавлено:

а.. вам еще 2 минуты надо) тогда 6.0*60.0

Принцип параметра такой, что при указании времени, презент не будет удален в общем цикле (в вашем случе через 4 минуты). Если поставите время ему 10 минут, то он простоит 2 цикла по 4 минуты + 2 минуты. В то время, как другие презенты появятся и удалятся через каждые 4 минуты.
 
zhorzh78, ошибка при компилировании
Код:
example.sma(15) : error 017: undefined symbol "flTTL"
example.sma(15) : error 001: expected token: ";", but found ")"
example.sma(15) : error 029: invalid expression, assumed zero
example.sma(15) : fatal error 107: too many error messages on one line

сделал как вы указали

Код:
CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk", .flTTL = 2.0 * 120.0); время жизни 2 минуты
CmsAddPresent(301, "Автомат M4A1", -1, 0, 0, "sunduk", .flTTL = 2.0 * 120.0); время жизни 2 минуты
CmsAddPresent(302, "Игровые 1000$", -1, 0, 0, "sunduk", .flTTL = 2.0 * 120.0); время жизни 2 минуты
CmsAddPresent(303, "Слонобой AWP", -1, 0, 0, "sunduk", .flTTL = 2.0 * 120.0); время жизни 2 минуты
 
Последнее редактирование:
CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk", _ , 2.0 * 120.0); время жизни 2 минуты

 
CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk", _ , 2.0 * 120.0); время жизни 2 минуты
во всех строках ошибка где CmsAddPresent
Код:
example.sma(18) : error 088: number of arguments does not match definition
example.sma(19) : error 088: number of arguments does not match definition
example.sma(20) : error 088: number of arguments does not match definition
 
Не вижу ни вашего кода, ни проблем при компиляции
 
Код:
#include <amxmodx>
#include <fakemeta>
#include <gamecms_present>
#include <fun>
#include <cstrike>
#include <colorchat>
#include <reapi>

//Если основной плагин презентов не стартанул, останавливаем
public OnPresentCoreStopped()
    pause("d");
    
public plugin_cfg()
{
    CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    CmsAddPresent(301, "Автомат M4A1", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    CmsAddPresent(302, "Игровые 1000$", -1, 0, 0, "exp2_blue", _ , 2.0 * 120.0);
    CmsAddPresent(303, "Слонобой AWP", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    //и т.д...
}

//событие попытки поднять презент
public OnTakePresent(id, itemId, iEntity)
{
    switch(itemId)
    {
        case 300:
        {
            if(rg_give_item(id, "weapon_ak47", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_AK47, 90);
                ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4AK47")
                return 2;
            }
        }
        case 301:
        {
            if(rg_give_item(id, "weapon_m4a1", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_M4A1, 90);
                ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4M16")
                return 2;
            }
        }
        case 302:
        {
               cs_set_user_money(id, min(cs_get_user_money(id) + 1000, 16000));
               ColorChat(id, print_chat, "^4[server] ^1Вы получили деньги")
               return 2;
        }
        case 303:
        {
            if(rg_give_item(id, "weapon_awp", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_AWP, 90);
                ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4AWP")
                return 2;
        }

    }
  
    return PLUGIN_CONTINUE;
}
 
alan191, вы в ворде редактируете?)) есть же подсветка

C++:
#include <amxmodx>
#include <fakemeta>
#include <gamecms_present>
#include <fun>
#include <cstrike>
//#include <colorchat>
#include <reapi>

//Если основной плагин презентов не стартанул, останавливаем
public OnPresentCoreStopped()
    pause("d");
   
public plugin_cfg()
{
    CmsAddPresent(300, "Автомат АК-47", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    CmsAddPresent(301, "Автомат M4A1", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    CmsAddPresent(302, "Игровые 1000$", -1, 0, 0, "exp2_blue", _ , 2.0 * 120.0);
    CmsAddPresent(303, "Слонобой AWP", -1, 0, 0, "sunduk77", _ , 2.0 * 120.0);
    //и т.д...
}

//событие попытки поднять презент
public OnTakePresent(id, itemId, iEntity)
{
    switch(itemId)
    {
        case 300:
        {
            if(rg_give_item(id, "weapon_ak47", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_AK47, 90);
              //  ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4AK47")
                return 2;
            }
        }
        case 301:
        {
            if(rg_give_item(id, "weapon_m4a1", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_M4A1, 90);
            //   ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4M16")
                return 2;
            }
        }
        case 302:
        {
               cs_set_user_money(id, min(cs_get_user_money(id) + 1000, 16000));
             //  ColorChat(id, print_chat, "^4[server] ^1Вы получили деньги")
               return 2;
        }
        case 303:
        {
            if(rg_give_item(id, "weapon_awp", GT_DROP_AND_REPLACE))
            {
                cs_set_user_bpammo(id, CSW_AWP, 90);
               // ColorChat(id, print_chat, "^4[server] ^1Вы получили ^4AWP")
                return 2;
        }

    }
    }

    return PLUGIN_CONTINUE;
}
 
zhorzh78, да в нотепаде CC но он без подсветки у меня, чет всё равно не вьеду что куда
 
alan191, Дал же готовый вариант. Возьмите и сравните
 
alan191, Дал же готовый вариант. Возьмите и сравните
вы дали да, только он те же ошибки выдает
Код:
example.sma(15) : error 088: number of arguments does not match definition
example.sma(16) : error 088: number of arguments does not match definition
example.sma(17) : error 088: number of arguments does not match definition
example.sma(18) : error 088: number of arguments does not match definition
Добавлено:

через синтаксис смотрю тоже всё закрыто не знаю но всё так же
 
Последнее редактирование:
Назад
Сверху