-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrm_base_buy.sma
105 lines (91 loc) · 2.26 KB
/
rm_base_buy.sma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <amxmodx>
#include <amxmisc>
#include <rm_api>
public plugin_init()
{
register_plugin("RM_BASE_BUY","1.0","Karaulov");
register_concmd("give_rune", "fn_give_rune",ADMIN_RCON, "[player_id] [rune_name]");
register_concmd("replace_rune", "fn_give_rune2",ADMIN_RCON, "[player_id] [rune_name]");
register_concmd("buy_rune", "fn_buy_rune",ADMIN_ALL,"[rune_name]");
}
public fn_give_rune(id, level, cid)
{
if (cmd_access(id, level, cid, 3))
{
new player_id[128];
read_argv(1,player_id,charsmax(player_id));
new rune_name[128];
read_argv(2,rune_name,charsmax(rune_name));
new rune_id = rm_get_rune_by_name(rune_name);
if (rune_id != -1)
{
rm_give_rune_to_player(str_to_num(player_id),rune_id);
}
}
return PLUGIN_HANDLED;
}
public fn_give_rune2(id, level, cid)
{
if (cmd_access(id, level, cid, 3))
{
new player_id[128];
read_argv(1,player_id,charsmax(player_id));
new rune_name[128];
read_argv(2,rune_name,charsmax(rune_name));
new rune_id = rm_get_rune_by_name(rune_name);
if (rune_id != -1)
{
rm_force_drop_rune(str_to_num(player_id));
rm_give_rune_to_player(str_to_num(player_id),rune_id);
}
}
return PLUGIN_HANDLED;
}
public fn_buy_rune(id, level, cid)
{
if (cmd_access(id, level, cid, 2))
{
new rune_name[128];
read_argv(1,rune_name,charsmax(rune_name));
rm_buy_rune_by_name(id,rune_name);
}
return PLUGIN_HANDLED;
}
/*
Добавлена совместимость с AES https://dev-cs.ru/resources/362/
Пример выдачи предмета деньги GAMECMS, предмет может быть любой
<call>
plugin = rm_base_buy.amxx
name = Монетка GAMECMS
function = AES_GIVE_ITEM
points = 10
flags = rm_gamecms_money_item_name
days = 0
Пример выдачи руны невидимости
<call>
plugin = rm_base_buy.amxx
name = Руна невидимости
function = AES_REPLACE_RUNE
points = 10
flags = rm_invis_rune_name
days = 0
*/
public AES_GIVE_ITEM(id, item[])
{
new rune_id = rm_get_rune_by_name(item);
if (rune_id != -1)
{
return rm_give_rune_to_player(id,rune_id);
}
return false;
}
public AES_REPLACE_RUNE(id, rune[])
{
new rune_id = rm_get_rune_by_name(rune);
if (rune_id != -1)
{
rm_force_drop_rune(id);
return rm_give_rune_to_player(id,rune_id);
}
return false;
}