OciXCrom From rank system transfer of experience points between players
-
erra1881
Извън линия - Потребител
- Мнения: 28
- Регистриран на: 14 Юни 2021, 14:11
- Се отблагодари: 2 пъти
OciXCrom From rank system transfer of experience points between players
Hello, I've been using OciXCrom's level system since the beginning, but for this system, I need a sub-plugin that allows players to transfer exp between themselves.
-
zolfeca
Извън линия - Администратор
- Мнения: 417
- Регистриран на: 10 Окт 2016, 23:48
- Се отблагодари: 24 пъти
- Получена благодарност: 92 пъти
OciXCrom From rank system transfer of experience points between players
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <cstrike>
#include <crxranks>
#define PLUGIN "Points Donate"
#define VERSION "1.0"
#define AUTOR "iceeedR"
#if defined client_disconnected
#define client_disconnect client_disconnected
#endif
#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32
#endif
/* Edit by OciXCrom: made the plugin donate points from Custom Shop instead of money */
new const Prefix[] = "Allied Donators"
new DonateTarget[MAX_PLAYERS +1]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTOR);
register_clcmd("say /donate", "DonateCmd")
register_clcmd("plugin_donate", "DonateHandler")
}
public client_disconnect(id)
{
DonateTarget[id] = 0 // just for secure
}
public DonateCmd(id)
{
new szItem[64]
formatex(szItem, charsmax(szItem), "\y[\w%s\d - \rDonate Menu \y ]", Prefix)
new iMenu = menu_create(szItem, "donate_handler")
new iPlayers[MAX_PLAYERS], iNum
get_players(iPlayers, iNum, "e", (cs_get_user_team(id) == CS_TEAM_T) ? "TERRORIST" : "CT")
for(new i, szTempid[10], iPlayer;i < iNum;i++)
{
iPlayer = iPlayers[i]
if(iPlayer != id)
{
num_to_str(iPlayer, szTempid, charsmax(szTempid))
get_user_name(iPlayer, szItem, charsmax(szItem))
menu_additem(iMenu, szItem, szTempid)
}
}
menu_display(id, iMenu)
return PLUGIN_HANDLED
}
public donate_handler(id, iMenu, iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy(iMenu)
return PLUGIN_HANDLED
}
new iData[6], szItemName[MAX_PLAYERS * 2], iAccess, iCallback
menu_item_getinfo(iMenu, iItem, iAccess, iData, charsmax(iData), szItemName, charsmax(szItemName), iCallback)
DonateTarget[id] = str_to_num(iData)
if(!DonateTarget[id])
{
client_print_color(id, print_team_default, "%s This player does not exist.", Prefix)
menu_display(id, iMenu)
DonateTarget[id] = 0
return PLUGIN_HANDLED
}
client_cmd(id, "messagemode plugin_donate")
client_print_color(id, print_team_default, "%s Type how much you want to give.", Prefix)
return PLUGIN_HANDLED
}
public DonateHandler(id)
{
new szValue[8]
read_argv(1, szValue, charsmax(szValue))
new iValue = str_to_num(szValue)
new iPlayerXP = crxranks_get_user_xp(id)
if( iPlayerXP < iValue || iValue <= 0)
{
client_print_color(id, print_team_default, "%s You do not have enough XP.", Prefix)
return PLUGIN_CONTINUE
}
crxranks_give_user_xp( DonateTarget[id], iValue)
crxranks_give_user_xp( id, iValue * -1)
new szNameGiver[MAX_PLAYERS]
get_user_name( id, szNameGiver, charsmax( szNameGiver))
new szNameReceiver[MAX_PLAYERS]
get_user_name(DonateTarget[id], szNameReceiver, charsmax(szNameReceiver))
new iPlayers[MAX_PLAYERS], iNum
get_players(iPlayers, iNum, "e", (cs_get_user_team(id) == CS_TEAM_T) ? "TERRORIST" : "CT")
for(new i;i < iNum;i++)
{
client_print_color(iPlayers[i], print_team_default, "%s^x04 %s^x01 donated^x04 $%i^x01 for^x04 %s.", Prefix, szNameGiver, iValue, szNameReceiver)
}
client_cmd(DonateTarget[id], "spk ^"items/9mmclip1.wav^"")
DonateTarget[id] = 0
return PLUGIN_HANDLED
}
-
erra1881
Извън линия - Потребител
- Мнения: 28
- Регистриран на: 14 Юни 2021, 14:11
- Се отблагодари: 2 пъти
OciXCrom From rank system transfer of experience points between players
Can you review this for everyone, not just teammates?zolfeca написа: ↑20 Авг 2021, 13:08Код за потвърждение: Избери целия код
#include <amxmodx> #include <amxmisc> #include <cromchat> #include <cstrike> #include <crxranks> #define PLUGIN "Points Donate" #define VERSION "1.0" #define AUTOR "iceeedR" #if defined client_disconnected #define client_disconnect client_disconnected #endif #if !defined MAX_PLAYERS const MAX_PLAYERS = 32 #endif /* Edit by OciXCrom: made the plugin donate points from Custom Shop instead of money */ new const Prefix[] = "Allied Donators" new DonateTarget[MAX_PLAYERS +1] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTOR); register_clcmd("say /donate", "DonateCmd") register_clcmd("plugin_donate", "DonateHandler") } public client_disconnect(id) { DonateTarget[id] = 0 // just for secure } public DonateCmd(id) { new szItem[64] formatex(szItem, charsmax(szItem), "\y[\w%s\d - \rDonate Menu \y ]", Prefix) new iMenu = menu_create(szItem, "donate_handler") new iPlayers[MAX_PLAYERS], iNum get_players(iPlayers, iNum, "e", (cs_get_user_team(id) == CS_TEAM_T) ? "TERRORIST" : "CT") for(new i, szTempid[10], iPlayer;i < iNum;i++) { iPlayer = iPlayers[i] if(iPlayer != id) { num_to_str(iPlayer, szTempid, charsmax(szTempid)) get_user_name(iPlayer, szItem, charsmax(szItem)) menu_additem(iMenu, szItem, szTempid) } } menu_display(id, iMenu) return PLUGIN_HANDLED } public donate_handler(id, iMenu, iItem) { if(iItem == MENU_EXIT) { menu_destroy(iMenu) return PLUGIN_HANDLED } new iData[6], szItemName[MAX_PLAYERS * 2], iAccess, iCallback menu_item_getinfo(iMenu, iItem, iAccess, iData, charsmax(iData), szItemName, charsmax(szItemName), iCallback) DonateTarget[id] = str_to_num(iData) if(!DonateTarget[id]) { client_print_color(id, print_team_default, "%s This player does not exist.", Prefix) menu_display(id, iMenu) DonateTarget[id] = 0 return PLUGIN_HANDLED } client_cmd(id, "messagemode plugin_donate") client_print_color(id, print_team_default, "%s Type how much you want to give.", Prefix) return PLUGIN_HANDLED } public DonateHandler(id) { new szValue[8] read_argv(1, szValue, charsmax(szValue)) new iValue = str_to_num(szValue) new iPlayerXP = crxranks_get_user_xp(id) if( iPlayerXP < iValue || iValue <= 0) { client_print_color(id, print_team_default, "%s You do not have enough XP.", Prefix) return PLUGIN_CONTINUE } crxranks_give_user_xp( DonateTarget[id], iValue) crxranks_give_user_xp( id, iValue * -1) new szNameGiver[MAX_PLAYERS] get_user_name( id, szNameGiver, charsmax( szNameGiver)) new szNameReceiver[MAX_PLAYERS] get_user_name(DonateTarget[id], szNameReceiver, charsmax(szNameReceiver)) new iPlayers[MAX_PLAYERS], iNum get_players(iPlayers, iNum, "e", (cs_get_user_team(id) == CS_TEAM_T) ? "TERRORIST" : "CT") for(new i;i < iNum;i++) { client_print_color(iPlayers[i], print_team_default, "%s^x04 %s^x01 donated^x04 $%i^x01 for^x04 %s.", Prefix, szNameGiver, iValue, szNameReceiver) } client_cmd(DonateTarget[id], "spk ^"items/9mmclip1.wav^"") DonateTarget[id] = 0 return PLUGIN_HANDLED }
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 1 Отговори
- 756 Преглеждания
-
Последно мнение от Lethality
-
- 2 Отговори
- 2471 Преглеждания
-
Последно мнение от truex_88
-
- 1 Отговори
- 2529 Преглеждания
-
Последно мнение от OciXCrom
-
- 2 Отговори
- 1035 Преглеждания
-
Последно мнение от Mr.!mP@$!bl3
-
- 4 Отговори
- 2521 Преглеждания
-
Последно мнение от iv69
-
- 2 Отговори
- 1503 Преглеждания
-
Последно мнение от AfterLife
-
- 2 Отговори
- 805 Преглеждания
-
Последно мнение от Stilex
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 22 госта