RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
Raise_the_coin 1.0.3
Raise_the_coin 1.0.3
Теги:
Скачать плагины cs
Серверные
Выпадает монета после смерти.
Необходимо собрать "n" кол-во монет для получения вознаграждения в виде опыта и бонусов, денег.
Плагин поддерживает 3 системы рангов:
Advanced Experience System
Army Ranks Ultimate
CMSStats
ОБНОВЛЕНИЯ: 1.0.3
Вчера в 11:34
Добавлена поддержка sqlite
Звук подбирания монеты, теперь слышен только подбирающему
Компилятор: 1.8.3
REapi
+ZIP
1259
Команды:
Кваров и команд нет
.sma / .sp
#include
#include
#include
//#define SQL_SUPPORT // Раскомментируйте данный define ,если хотите сохранять в БД sqlite или mysql (по умолчанию, сохранение через nVault) #define RANKS_SYSTEM 2 /* Тип интеграции со система ранга 1 - Army Ranks Ultimate 2 - Advanced Expirience System 3 - CMSStats Ranks*/ // ДАЛЬШЕ НАСТРОЕК НЕТ!!! #define CONFIG_FILE "raise_the_coin.cfg" #if defined SQL_SUPPORT #include
#else #include
#endif #if defined RANKS_SYSTEM #if RANKS_SYSTEM == 1 native ar_set_user_addxp(id, addxp); native ar_add_user_anew(admin, player, anew); #elseif RANKS_SYSTEM == 2 #include
; #elseif RANKS_SYSTEM == 3 native cmsranks_set_user_addxp(id, value); native cmsranks_add_user_anew(id, value); #endif #endif #pragma semicolon 1 enum _:cvars { ENT_LIFETIME, GLOW, RAISE_DEAD, RAISE_ALL, RAISE_EXP, RAISE_MONEY, RAISE_BONUS, TIME_DELETE, CVAR_MESSAGE, CVAR_SQL_HOST, CVAR_SQL_USER, CVAR_SQL_PASS, CVAR_SQL_DB, CVAR_SQL_TYPLE } new cvar[cvars]; new g_iMaxPlayers; new g_iCoin[33]; new const ENT_CLASSNAME[] = "raise_the_coin"; new const ENT_MODEL[] = "models/exp.mdl"; new const SND_PICKUP[] = "exp.wav"; #if defined SQL_SUPPORT new Handle:sql_typle; new g_Error[512]; #else new g_Vault; #endif new PLUGIN_NAME[] = "raise_the_coin"; new PLUGIN_VERSION[] = "1.0.3"; new PLUGIN_AUTHOR[] = "Baton4ik48"; #if defined SQL_SUPPORT new PLUGIN_PREFIX[] = "[COIN]"; #endif public plugin_init () { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR); RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", true); g_iMaxPlayers = get_maxplayers(); set_task(2.0, "Task_HudMsg", .flags = "b"); } public plugin_cfg() { cvar[CVAR_SQL_HOST] = register_cvar("raise_sql_host", ""); cvar[CVAR_SQL_USER] = register_cvar("raise_sql_user", ""); cvar[CVAR_SQL_PASS] = register_cvar("raise_sql_pass", ""); cvar[CVAR_SQL_DB] = register_cvar("raise_sql_name", ""); cvar[CVAR_SQL_TYPLE] = register_cvar("raise_sql_typle", ""); cvar[GLOW] = register_cvar("raise_ent_glow", "1"); cvar[ENT_LIFETIME] = register_cvar("raise_ent_life", "7.0"); cvar[RAISE_DEAD] = register_cvar("raise_dead_exp", "1"); cvar[RAISE_ALL] = register_cvar("raise_all", "10"); cvar[RAISE_EXP] = register_cvar("raise_exp", "15"); cvar[RAISE_BONUS] = register_cvar("raise_bonus", "2"); cvar[RAISE_MONEY] = register_cvar("raise_money", "5000"); cvar[TIME_DELETE] = register_cvar("raise_deletetime", "5"); cvar[CVAR_MESSAGE] = register_cvar("raise_message", "!y[!gCOIN!y] Вы получили вознаграждение [!g[money] $!y] [!g[bonus] БОНУСОВ!y] [!g[exp] ОПЫТА!y]"); new szConfigFile[256]; get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile)); formatex(szConfigFile, charsmax(szConfigFile), "%s/%s", szConfigFile, CONFIG_FILE); server_cmd("exec ^"%s^"", szConfigFile); #if defined SQL_SUPPORT set_task(1.0, "mysql_start"); #else g_Vault = nvault_open("raise_the_coin"); if (g_Vault == INVALID_HANDLE) { set_fail_state("Error nvault"); } if (get_pcvar_num(cvar[TIME_DELETE]) > 0) nvault_prune(g_Vault, 0, get_systime() - (86400 * get_pcvar_num(cvar[TIME_DELETE]))); #endif } public plugin_precache() { precache_model(ENT_MODEL); precache_sound(SND_PICKUP); } public CBasePlayer_Killed_Post(pVictim, pAttacker, pGib) { new Float: vecOrigin[3]; new Float: vecVelocity[3]; get_entvar(pVictim, var_origin, vecOrigin); new iEntity = rg_create_entity("info_target", false); if (is_nullent(iEntity)) return; #if RANKS_SYSTEM == 1 ar_set_user_addxp(pVictim, -get_pcvar_num(cvar[RAISE_DEAD])); #elseif RANKS_SYSTEM == 2 aes_add_player_exp_f(pVictim, -get_pcvar_num(cvar[RAISE_DEAD])); #elseif RANKS_SYSTEM == 3 cmsranks_set_user_addxp(pVictim, -get_pcvar_num(cvar[RAISE_DEAD])); #endif vecVelocity[0] = random_float(-200.0, 200.0); vecVelocity[1] = random_float(-200.0, 200.0); vecVelocity[2] = random_float(1.0, 200.0); engfunc(EngFunc_SetModel, iEntity, ENT_MODEL); engfunc(EngFunc_SetSize, iEntity, { -9.0, -7.0, -0.0 }, { 9.0, 7.0, 6.0 }); set_entvar(iEntity, var_framerate, 1.0); set_entvar(iEntity, var_sequence, 2); engfunc(EngFunc_AnimationAutomove, iEntity, 100.0); set_entvar(iEntity, var_origin, vecOrigin); set_entvar(iEntity, var_classname, ENT_CLASSNAME); set_entvar(iEntity, var_movetype, MOVETYPE_TOSS); set_entvar(iEntity, var_solid, SOLID_TRIGGER); set_entvar(iEntity, var_velocity, vecVelocity); set_entvar(iEntity, var_nextthink, get_gametime() + get_pcvar_float(cvar[ENT_LIFETIME])); if (get_pcvar_num(cvar[GLOW])) { set_entvar(iEntity, var_rendermode, kRenderGlow); set_entvar(iEntity, var_renderamt, 1.0); set_entvar(iEntity, var_rendercolor, Float: { 0.0, 255.0, 0.0 }); set_entvar(iEntity, var_renderfx, kRenderFxGlowShell); } SetThink(iEntity, "Cashbrick_Think"); SetTouch(iEntity, "Cashbrick_Touch"); } public Cashbrick_Think(pEntity) { if (!is_entity(pEntity)) return; if (get_entvar(pEntity, var_iuser2)) { new Float: fRenderAmt; get_entvar(pEntity, var_renderamt, fRenderAmt); if (fRenderAmt > 20.0) { set_entvar(pEntity, var_renderamt, fRenderAmt - 20.0); set_entvar(pEntity, var_nextthink, get_gametime() + 0.1); } else set_entvar(pEntity, var_flags, FL_KILLME); } else { set_entvar(pEntity, var_iuser2, 1); set_entvar(pEntity, var_rendermode, kRenderTransTexture); set_entvar(pEntity, var_renderamt, 255.0); set_entvar(pEntity, var_nextthink, get_gametime() + 1.5); } } public Cashbrick_Touch(pEntity, pToucher) { if (!is_entity(pEntity) || !is_user_connected(pToucher)) return; g_iCoin[pToucher]++; set_hudmessage(0, 255, 0, -1.0, 0.26, 0, 0.1, 2.0, 0.1, 0.1, 3); show_hudmessage(pToucher, "+1 монета", g_iCoin); rh_emit_sound2(pToucher, pToucher, CHAN_ITEM, SND_PICKUP, VOL_NORM, ATTN_NORM); set_entvar(pEntity, var_flags, FL_KILLME); if (g_iCoin[pToucher] == get_pcvar_num(cvar[RAISE_ALL])) { g_iCoin[pToucher] = 0; new iBonus = get_pcvar_num(cvar[RAISE_BONUS]); new iExp = get_pcvar_num(cvar[RAISE_EXP]); new iMoney = get_pcvar_num(cvar[RAISE_MONEY]); new szMessage[192], szBonus[16], szExp[16], szMoney[16]; get_pcvar_string(cvar[CVAR_MESSAGE], szMessage, charsmax(szMessage)); if (szMessage[0]) { num_to_str(iBonus, szBonus, charsmax(szBonus)); num_to_str(iExp, szExp, charsmax(szExp)); num_to_str(iMoney, szMoney, charsmax(szMoney)); replace_all(szMessage, charsmax(szMessage), "[bonus]", szBonus); replace_all(szMessage, charsmax(szMessage), "[exp]", szExp); replace_all(szMessage, charsmax(szMessage), "[money]", szMoney); UTIL_SayText(pToucher, szMessage); } rg_add_account(pToucher, get_pcvar_num(cvar[RAISE_MONEY])); #if RANKS_SYSTEM == 1 ar_set_user_addxp(pToucher, get_pcvar_num(cvar[RAISE_EXP])); ar_add_user_anew(-1, pToucher, get_pcvar_num(cvar[RAISE_BONUS])); #elseif RANKS_SYSTEM == 2 aes_add_player_exp_f(pToucher, get_pcvar_num(cvar[RAISE_EXP])); aes_add_player_bonus_f(pToucher, get_pcvar_num(cvar[RAISE_BONUS])); #elseif RANKS_SYSTEM == 3 cmsranks_set_user_addxp(pToucher, get_pcvar_num(cvar[RAISE_EXP])); cmsranks_add_user_anew(pToucher, get_pcvar_num(cvar[RAISE_BONUS])); #endif } } public Task_HudMsg() { set_hudmessage(200, 200, 200, 0.01, 0.90, 0, 0.1, 1.0, 0.1, 0.1, 4); for (new id = 1; id < g_iMaxPlayers; id++) { if (!is_user_alive(id)) continue; show_hudmessage(id, "Монет до вознаграждения: %i/%i", g_iCoin[id], get_pcvar_num(cvar[RAISE_ALL])); } } public client_connect(id) { #if defined SQL_SUPPORT Load_MySql(id); #else load_coins(id); #endif } public client_disconnected(id) { #if defined SQL_SUPPORT Save_MySql(id); #else save_coins(id); #endif } public plugin_end() { #if defined SQL_SUPPORT if (sql_typle) SQL_FreeHandle(sql_typle); // log_amx("sql_close"); #else nvault_close(g_Vault); // log_amx("nvault_close"); #endif } #if defined SQL_SUPPORT public mysql_start() { new host[128], user[64], pass[64], db[64]; new get_type[13], set_type[12]; get_pcvar_string(cvar[CVAR_SQL_HOST], host, charsmax(host)); get_pcvar_string(cvar[CVAR_SQL_USER], user, charsmax(user)); get_pcvar_string(cvar[CVAR_SQL_PASS], pass, charsmax(pass)); get_pcvar_string(cvar[CVAR_SQL_DB], db, charsmax(db)); get_pcvar_string(cvar[CVAR_SQL_TYPLE], set_type, charsmax(set_type)); if(is_module_loaded(set_type) == -1) { server_print("^r^n%s error: module '%s' not loaded.^r^n%s Add line %s to %s/modules.ini and restart server^r^n", PLUGIN_PREFIX, set_type, PLUGIN_PREFIX, set_type, CONFIG_FILE); return ; } SQL_GetAffinity(get_type, 12); if (!equali(get_type, set_type)) if (!SQL_SetAffinity(set_type)) log_amx("Failed to set affinity from %s. to %s.", get_type, set_type); sql_typle = SQL_MakeDbTuple(host, user, pass, db); new ErrorCode, Handle:SqlConnection = SQL_Connect(sql_typle, ErrorCode, g_Error, charsmax(g_Error)); if (SqlConnection == Empty_Handle) set_fail_state(g_Error); new Handle:Queries; Queries = SQL_PrepareQuery(SqlConnection, "CREATE TABLE IF NOT EXISTS Raise_the_coin (`steamid` varchar(32), `coin` INT(11), `time_join` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP)"); if (!SQL_Execute(Queries)) { SQL_QueryError(Queries, g_Error, charsmax(g_Error)); set_fail_state(g_Error); } SQL_FreeHandle(Queries); SQL_FreeHandle(SqlConnection); if (get_pcvar_num(cvar[TIME_DELETE]) > 0) { new szTemp[512]; if(!strcmp("mysql", set_type)) { formatex(szTemp, charsmax(szTemp), "DELETE FROM `Raise_the_coin` WHERE `time_join` < FROM_UNIXTIME(%d - (86400 * %d))", get_systime(), get_pcvar_num(cvar[TIME_DELETE])); SQL_ThreadQuery(sql_typle, "ignore_handle", szTemp); // log_amx("mysql delete time %s", szTemp); } else if (!strcmp("sqlite", set_type)) { formatex(szTemp, charsmax(szTemp), "DELETE FROM `Raise_the_coin` WHERE `time_join` < datetime('now','-%d day');", get_pcvar_num(cvar[TIME_DELETE])); SQL_ThreadQuery(sql_typle, "ignore_handle", szTemp); // log_amx("sqlite delete time %s", szTemp); } } } public Load_MySql(id) { new sAuthID[32]; new szTemp[512]; get_user_authid(id, sAuthID, charsmax(sAuthID)); new Data[1]; Data[0] = id; format(szTemp, charsmax(szTemp), "SELECT * FROM `Raise_the_coin` WHERE (`Raise_the_coin`.`steamid` = '%s')", sAuthID); SQL_ThreadQuery(sql_typle, "registration_client", szTemp, Data, 1); } public registration_client(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { if (FailState == TQUERY_CONNECT_FAILED) { log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error); } else if (FailState == TQUERY_QUERY_FAILED) { log_amx("Load Query failed. [%d] %s", Errcode, Error); } new id; id = Data[0]; if (SQL_NumResults(Query) < 1) { new sAuthID[32]; new szTemp[512]; get_user_authid(id, sAuthID, charsmax(sAuthID)); format(szTemp, charsmax(szTemp), "INSERT INTO `Raise_the_coin` ( `steamid` , `coin`)VALUES ('%s','0')", sAuthID); SQL_ThreadQuery(sql_typle, "ignore_handle", szTemp); } else { g_iCoin[id] = SQL_ReadResult(Query, 1); } return PLUGIN_HANDLED; } public Save_MySql(id) { new sAuthID[32]; new szTemp[512]; get_user_authid(id, sAuthID, charsmax(sAuthID)); format(szTemp, charsmax(szTemp), "UPDATE `Raise_the_coin` SET `coin` = '%i' WHERE `Raise_the_coin`.`steamid` = '%s';", g_iCoin[id], sAuthID); SQL_ThreadQuery(sql_typle, "ignore_handle", szTemp); } public ignore_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { SQL_FreeHandle(Query); return PLUGIN_HANDLED; } #else public save_coins(id) { new szKey[40]; new szCoin[15]; get_user_authid(id, szKey, charsmax(szKey)); formatex(szCoin, charsmax(szCoin), "%i", g_iCoin[id]); nvault_set(g_Vault, szKey, szCoin); } public load_coins(id) { new szKey[40]; new szCoin[15]; get_user_authid(id, szKey, charsmax(szKey)); nvault_get(g_Vault, szKey, szCoin, charsmax(szCoin)); g_iCoin[id] = str_to_num(szCoin); } #endif UTIL_SayText(id, const szMessage[], any: ...) { new szBuffer[190]; static iMsgSayText; if (!iMsgSayText) iMsgSayText = get_user_msgid("SayText"); if (numargs() > 2) vformat(szBuffer, charsmax(szBuffer), szMessage, 3); else copy(szBuffer, charsmax(szBuffer), szMessage); while (replace(szBuffer, charsmax(szBuffer), "!y", "^1")) {} while (replace(szBuffer, charsmax(szBuffer), "!t", "^3")) {} while (replace(szBuffer, charsmax(szBuffer), "!g", "^4")) {} switch (id) { case 0: { for (new i = 1; i < g_iMaxPlayers; i++) { if (!is_user_connected(i)) continue; message_begin(MSG_ONE_UNRELIABLE, iMsgSayText, .player = i); write_byte(i); write_string(szBuffer); message_end(); } } default: { message_begin(MSG_ONE_UNRELIABLE, iMsgSayText, .player = id); write_byte(id); write_string(szBuffer); message_end(); } } return 0; }
Отправить
Загрузил
ADEPT
2020-06-03 00:39:35
0
167
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
УКРАЇНСЬКИЙ - ПАТРІОТ [ 2013 - 2024 ] © 18+
195.211.60.213:27015
УКРАЇНА - Б А Н Д Е Р Ш Т А Т - [2000 FPS] 18+
195.211.60.213:27018
В І Л Ь Н А - У К Р А Ї Н А [ RYZEN 9 - 5.7 GHZ ]
195.211.60.213:27016
(Д) (І) (В) (О) (Ч) (А) - (В) (Л) (А) (Д) (А) | 18+
195.211.60.213:27017
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2024 Хостинг игровых серверов