KnifeBonus

Сообщения
2,288
Реакции
1,738
Помог
31 раз(а)
Привет. Есть плагин назвал его knifebonus для своего удобства, т.к названия нет у него. Данный плагин позволяет воровать деньги при убийстве с ножа.
Нужна помощь, а конкретно кто сможет его переделать, что б вместо кражи денег можно было воровать бонусы /anew
#include <amxmodx>
#include <cstrike>
#pragma semicolon 1
#define bit_add(%0,%1) (%1 |= (1<<%0))
#define bit_sub(%0,%1) (%1 &= ~(1<<%0))
#define bit_valid(%0,%1) (%1 & (1<<%0))
// Thanks to Safety1st: Counter-Strike Support Community ... t&p=607675
#if AMXX_VERSION_NUM < 183
#define MSG_TEXT_MSG 76
#endif
new g_iValidPlayersBitsum;
public plugin_init()
{
register_event("DeathMsg", "EventDeathMsg", "a", "4=knife");
}
public client_putinserver(id)
{
bit_add(id, g_iValidPlayersBitsum);
}
public client_disconnected(id)
{
bit_sub(id, g_iValidPlayersBitsum);
}
public EventDeathMsg()
{
new pKiller = read_data(1), pVictim = read_data(2);
if(bit_valid(pKiller, g_iValidPlayersBitsum) && bit_valid(pVictim, g_iValidPlayersBitsum))
{
new szKillerName[32], szVictimName[32], iVictimMoneyNum, iVictimMoney = random_num(0, iVictimMoneyNum = cs_get_user_money(pVictim));
cs_set_user_money(pKiller, cs_get_user_money(pKiller) + iVictimMoney);
cs_set_user_money(pVictim, iVictimMoneyNum - iVictimMoney);
get_user_name(pKiller, szKillerName, charsmax(szKillerName));
get_user_name(pVictim, szVictimName, charsmax(szVictimName));
#if AMXX_VERSION_NUM < 183
PrintMsg(0, "^1Игрок ^3%s ^1зарезал игрока ^3%s ^1и получил ^4$%d", szKillerName, szVictimName, iVictimMoney);
#else
client_print_color(0, print_team_blue, "^1Игрок ^3%s ^1зарезал игрока ^3%s ^1и получил ^4$%d", szKillerName, szVictimName, iVictimMoney);
#endif
}
}
stock PrintMsg(const id, const szMessage[], any:...)
{
new szMsg[191], iPlayers[32], iPlayersNum = 1;
vformat(szMsg, charsmax(szMsg), szMessage, 3);
switch(id)
{
case 0: get_players(iPlayers, iPlayersNum, "ch");
default: iPlayers[0] = id;
}
for(new i; i < iPlayersNum; i++)
{
message_begin(MSG_ONE_UNRELIABLE, MSG_TEXT_MSG, _, iPlayers);
write_byte(iPlayers);
write_string(szMsg);
message_end();
}
}
 
Сообщения
342
Реакции
65
Помог
6 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
а как плагин должен определять у кого воровать бонусы? лезть в базу данных?
 
Сообщения
327
Реакции
289
Помог
9 раз(а)
Код:
// Добавить/Отнять количество очков /aNew
// admin - id админа, который добавляет очки (-1 не писать сообщение)
// player - id игрока, которому добавляют очки
// anew - количество добавляемых очков (отрицательное значение отнимет очки)
// Возвратит количество очков игрока. -1 в случаи не удачи
native ar_add_user_anew(admin, player, anew)

Код:
//
// Returns player bonus points
// @player - player id
//
// @return - player bonus points or -1 if player
//
native aes_get_player_bonus(player)

//
// Sets player bonus points
// @player - player id
// @bonus - bonus value
// @force - force even if track paused
//
// @return
// AES_RT_NO - on track pause or player not tracked yet
// AES_RT_YES - on success
//
native aes_set_player_bonus(player,bonus,bool:force = false)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу