Леха
Пользователь
- Сообщения
- 179
- Решения
- 6
- Реакции
- 1
Подскажите народ как заменить в
на
чтоб получилось выдача опыта за место денег спасибо в сем за помощь
Код:
#include <amxmodx>
#include <gamecms5>
#include <gamecms_present>
#define PLUGIN "GameCMS_Present Coins Addon"
#define VERSION "1.1"
#define AUTHOR "zhorzh78"
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
new bool:g_API;
new Float:fMoney = 0.05; //сумма денег за монетку (на баланс сайта)
new bool:killerOnly = true //true- если поднять монету разрешено только киллеру (чтобы не ругались за монеты :))
//false- если поднять монету разрешено любому
new coinPresent;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("DeathMsg", "EventDeathMessage", "a");
}
//Если основной плагин презентов не стартанул, останавливаем
public OnPresentCoreStopped()
pause("d");
//Проверяем, загружен ли API для выдачи денег
public OnAPIPluginLoaded(Handle:sqlTuple)
{
//добавляем презент "монета"
//указываем модель монеты "exp2_blue" без .mdl
coinPresent = CmsAddPresent(500, "монета", -2, -3, 0, "exp2_blue", 0);
g_API = true;
}
//Событие смерти игрока
public EventDeathMessage(killer, victim)
{
if(!coinPresent)
return;
new killer = read_data(1);
new victim = read_data(2);
//если умер сам, не спавним монету
if(killer == victim)
return;
new Float:origin[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 сек
CmsSpawnPresentById(500, origin, true, killerOnly ? killer : 0, 15.0)
}
//событие попытки поднять презент
public OnTakePresent(id, itemId, iEntity)
{
//если API загружен и игрок- владелец монеты (киллер) (проверку игрока проверяет Core)
if(g_API)
{
if(itemId == 500)
{
//===== тут- для примера возврата функции
if(random_num(0, 10) == 2)
{
//вернем "3" для запрета поднятия монетки и блокирования стандартного сообщения
//т.к. задаем свое сообщение
client_print_color(id, 0, "Манетка паламалась)) тибе аблом");
return 3;
}
//===== конец примера
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)
Код:
// Добавить/Отнять дополнительный опыт игрока
// false - в случае неудачи
native ar_set_user_addxp(id, addxp)
Вместо выдачи денег выдавайте опыт