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

Помощь Помощь по плагину presents_coins

Статус
В этой теме нельзя размещать новые ответы.
Если хотите открыть тему, нажмите кнопку Жалоба в первом сообщении.

Newell

Участник
Сообщения
6
Реакции
0
Баллы
1
Помогите сделать в плагине presents_coins_on_death.1.1 выдачу не денег на сайт а опыта Army Ranks Ultimate

ну или хотя-бы пример - чтобы можно было что-то самому намудрить там.
 
Исходный код
C++:
#include <amxmodx>
#include <gamecms5>
#include <gamecms_present>
#include <reapi>

#define PLUGIN "GameCMS_Present Coins Addon"
#define VERSION "1.1"
#define AUTHOR "zhorzh78"

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

new Float:fMoney = 0.05;     //сумма денег за монетку (на баланс сайта)
new const g_szSound[] = "money.wav"; //звук при поднятии из папки sound/

new bool:g_API;
new coinPresentT, coinPresentCT;
                        
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
 
register_event("DeathMsg", "EventDeathMessage", "a");
}

public plugin_precache()
{
precache_sound(g_szSound);
}

//Если основной плагин презентов не стартанул, останавливаем
public OnPresentCoreStopped()
pause("d");

//Проверяем, загружен ли API для выдачи денег
public OnAPIPluginLoaded(Handle:sqlTuple)
{
//добавляем презент "монета"
//указываем модель монеты "exp2_blue" без .mdl
coinPresentCT = CmsAddPresent(500, "монета", -1, -3, 0, "exp2_blue", 0); // выпадает у кт , подбирает тт
coinPresentT = CmsAddPresent(501, "монета", -1, -3, 0, "exp2_red", 0); // выпадает у тт , подбирает кт
g_API = true;
}
 

//Событие смерти игрока
public EventDeathMessage(killer, victim)
{
new killer = read_data(1);
new victim = read_data(2);

//если умер сам, не спавним монету
if(killer == victim)
 return;

new Floatrigin[3], sorigin[3]
get_user_origin(victim, sorigin, 0)

origin[0] = float(sorigin[0]);
origin[1] = float(sorigin[1]);
origin[2] = float(sorigin[2]);
 
//презент создаем только для киллера или для всех (зависит от настройки)
//спавним презент без стандартного уведомления в чат о его появлении (параметр true блокирует уведомление)
//зададим время до удаления монетки 15.0 сек
new iTeam = get_user_team(killer);
if(iTeam == 1 && coinPresentCT)
CmsSpawnPresentById(500, origin, true, -1, 15.0)
else if(iTeam == 2 && coinPresentT)
CmsSpawnPresentById(501, origin, true, -2, 15.0)
  
}

//событие попытки поднять презент
public OnTakePresent(id, itemId, iEntity)
{
//если API загружен и игрок- владелец монеты (киллер) (проверку игрока проверяет Core)
if(g_API)
{
if(itemId == 500 || itemId == 501)
{
rh_emit_sound2(iEntity, id, CHAN_AUTO, g_szSound);

if(cmsapi_add_user_money(id, fMoney))
{
client_print_color(id, 0, "%L Ты получил награду %.2f рублей", LANG_SERVER, "CMS_PRESENT_PREFIX_CHAT", fMoney);
//вернем "2" для разрешения поднять монетку и блокировки стандартного сообщения о поднятии
//т.к. задали свое сообщение
return 2;
}
}
 }

return 0;
}

public client_disconnected(id)
CmsRemovePresent(0, id)
Статус
В этой теме нельзя размещать новые ответы.
Если хотите открыть тему, нажмите кнопку Жалоба в первом сообщении.
Назад
Сверху