Преправяне на becomevip
-
devilchy
Извън линия - Потребител
- Мнения: 223
- Регистриран на: 03 Фев 2017, 14:08
- Местоположение: Burgas
- Се отблагодари: 3 пъти
- Получена благодарност: 6 пъти
- Обратна връзка:
Преправяне на becomevip
Някой ако ми направи този viewtopic.php?f=21&t=2996 плъгин да бъде така че след 15 дни или така казано след х дни (настроен от мен) да бъдат флагове премахнати.?
-
bustA
Извън линия - Потребител
- Мнения: 264
- Регистриран на: 20 Юни 2020, 11:47
- Се отблагодари: 42 пъти
- Получена благодарност: 27 пъти
- Обратна връзка:
Преправяне на becomevip
Ant1Lamer написа: ↑23 Сеп 2019, 18:50 Ами искам на определен период от време които аз му задам да речем правя го 14 дена да седи даденият флаг и да се маха и да трябва наново да ги правят тези килове, но това да е индивидуално за всеки играч тоест прави да речем 1000 кила даденият играч и след 14 дена автоматично му се маха флага и започва наново 1000 кила, но това да не зависи от топа дали ще е реснат или не и примерно да изписва колко време му остава докато флагът се махне
mi0 написа: ↑23 Сеп 2019, 20:05 Ето ти кода, не съм го тествалДобавяш в конфиг файла.Код за потвърждение: Избери целия код
#include <amxmodx> #include <amxmisc> #include <cromchat> #include <hamsandwich> #include <nvault> #define PLUGIN_VERSION "2.1" #define ARG_RANDOM -1 #define RANDOM_COLOR random_num(50, 255) #define FLAGS_DELAY 0.1 #if defined client_disconnected #define client_disconnect client_disconnected #endif enum _:Settings { SAVE_TYPE, KILLS_NEEDED, VIP_FLAGS_BIT, VIP_FLAGS_STR[32], IGNORE_BOTS, VIP_SUCCESS_MESSAGE, bool:HUD_MESSAGE_ENABLED, HUD_MESSAGE_COLOR[3], Float:HUD_MESSAGE_POSITION[2], Float:HUD_MESSAGE_DURATION, HUD_MESSAGE_EFFECTS, Float:HUD_MESSAGE_TIME[3], DAYS_TO_SAVE } enum _:PlayerData { Name[32], Info[35], Kills } new g_eSettings[Settings], g_ePlayerData[33][PlayerData], g_iObject, g_iVault, bool:g_bShouldSaveDate[33] public plugin_init() { register_plugin("BecomeVIP Plus", PLUGIN_VERSION, "OciXCrom") register_cvar("CRXBecomeVIP", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED) register_dictionary("BecomeVIP.txt") register_event("DeathMsg", "OnPlayerKilled", "a") register_concmd("becomevip_give_kills", "Cmd_GiveKills", ADMIN_BAN, "<nick|#userid> <kills>") register_concmd("becomevip_reset_kills", "Cmd_ResetKills", ADMIN_BAN, "<nick|#userid>") ReadFile() } public plugin_end() nvault_close(g_iVault) ReadFile() { new szConfigsName[256], szFilename[256] get_configsdir(szConfigsName, charsmax(szConfigsName)) formatex(szFilename, charsmax(szFilename), "%s/BecomeVIP.ini", szConfigsName) new iFilePointer = fopen(szFilename, "rt") if(iFilePointer) { new szData[96], szValue[64], szKey[32], szTemp[4][5], i while(!feof(iFilePointer)) { fgets(iFilePointer, szData, charsmax(szData)) trim(szData) switch(szData[0]) { case EOS, '#', ';': continue default: { strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '=') trim(szKey); trim(szValue) if(equal(szKey, "PLUGIN_PREFIX")) CC_SetPrefix(szValue) else if(equal(szKey, "SAVE_TYPE")) g_eSettings[SAVE_TYPE] = str_to_num(szValue) else if(equal(szKey, "KILLS_NEEDED")) g_eSettings[KILLS_NEEDED] = str_to_num(szValue) else if(equal(szKey, "VIP_FLAGS")) { copy(g_eSettings[VIP_FLAGS_STR], charsmax(g_eSettings[VIP_FLAGS_STR]), szValue) g_eSettings[VIP_FLAGS_BIT] = read_flags(szValue) } else if(equal(szKey, "IGNORE_BOTS")) g_eSettings[IGNORE_BOTS] = str_to_num(szValue) if(equal(szKey, "CHECK_KILLS_COMMANDS")) { while(szValue[0] != 0 && strtok(szValue, szKey, charsmax(szKey), szValue, charsmax(szValue), ',')) { trim(szKey); trim(szValue) if(szKey[0] == '/' || szKey[0] == '!') { formatex(szData, charsmax(szData), "say %s", szKey) register_clcmd(szData, "Cmd_CheckKills") formatex(szData, charsmax(szData), "say_team %s", szKey) register_clcmd(szData, "Cmd_CheckKills") } else register_clcmd(szData, "Cmd_CheckKills") } } else if(equal(szKey, "VAULT_FILE")) g_iVault = nvault_open(szValue) else if(equal(szKey, "VIP_SUCCESS_MESSAGE")) g_eSettings[VIP_SUCCESS_MESSAGE] = str_to_num(szValue) else if(equal(szKey, "HUD_MESSAGE_ENABLED")) { g_eSettings[HUD_MESSAGE_ENABLED] = bool:str_to_num(szValue) if(g_eSettings[HUD_MESSAGE_ENABLED]) { g_iObject = CreateHudSyncObj() RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1) } } else if(equal(szKey, "HUD_MESSAGE_COLOR")) { parse(szValue, szTemp[0], charsmax(szTemp[]), szTemp[1], charsmax(szTemp[]), szTemp[2], charsmax(szTemp[])) for(i = 0; i < 3; i++) g_eSettings[HUD_MESSAGE_COLOR][i] = str_to_num(szTemp[i]) } else if(equal(szKey, "HUD_MESSAGE_POSITION")) { parse(szValue, szTemp[0], charsmax(szTemp[]), szTemp[1], charsmax(szTemp[])) for(i = 0; i < 2; i++) g_eSettings[HUD_MESSAGE_POSITION][i] = _:str_to_float(szTemp[i]) } else if(equal(szKey, "HUD_MESSAGE_DURATION")) g_eSettings[HUD_MESSAGE_DURATION] = _:str_to_float(szValue) else if(equal(szKey, "HUD_MESSAGE_EFFECTS")) { parse(szValue, szTemp[0], charsmax(szTemp[]), szTemp[1], charsmax(szTemp[]), szTemp[2], charsmax(szTemp[]), szTemp[3], charsmax(szTemp[])) g_eSettings[HUD_MESSAGE_EFFECTS] = str_to_num(szTemp[0]) for(i = 0; i < 3; i++) g_eSettings[HUD_MESSAGE_TIME][i] = _:str_to_float(szTemp[i + 1]) } else if(equal(szKey, "DAYS_TO_SAVE")) g_eSettings[DAYS_TO_SAVE] = str_to_num(szValue) } } } fclose(iFilePointer) } } public client_authorized(id) { if(ignore_bot(id)) return switch(g_eSettings[SAVE_TYPE]) { case 0: { get_user_name(id, g_ePlayerData[id][Info], charsmax(g_ePlayerData[][Info])) strtolower(g_ePlayerData[id][Info]) } case 1: get_user_ip(id, g_ePlayerData[id][Info], charsmax(g_ePlayerData[][Info]), 1) case 2: get_user_authid(id, g_ePlayerData[id][Info], charsmax(g_ePlayerData[][Info])) } get_user_name(id, g_ePlayerData[id][Name], charsmax(g_ePlayerData[][Name])) use_vault(id, false, g_ePlayerData[id][Info]) } public client_disconnect(id) { if(ignore_bot(id)) return use_vault(id, true, g_ePlayerData[id][Info]) } public client_infochanged(id) { if(ignore_bot(id)) return static szNewName[32], szOldName[32] get_user_info(id, "name", szNewName, charsmax(szNewName)) get_user_name(id, szOldName, charsmax(szOldName)) if(!equal(szNewName, szOldName)) { if(!g_eSettings[SAVE_TYPE]) { use_vault(id, true, szOldName) use_vault(id, false, szNewName) copy(g_ePlayerData[id][Info], charsmax(g_ePlayerData[][Info]), szNewName) strtolower(g_ePlayerData[id][Info]) } set_task(FLAGS_DELAY, "refresh_status", id) copy(g_ePlayerData[id][Name], charsmax(g_ePlayerData[][Name]), szNewName) } } public OnPlayerSpawn(id) { if(!is_user_alive(id) || has_vip_flags(id) || ignore_bot(id)) return set_hudmessage ( g_eSettings[HUD_MESSAGE_COLOR][0] == ARG_RANDOM ? RANDOM_COLOR : g_eSettings[HUD_MESSAGE_COLOR][0], g_eSettings[HUD_MESSAGE_COLOR][1] == ARG_RANDOM ? RANDOM_COLOR : g_eSettings[HUD_MESSAGE_COLOR][1], g_eSettings[HUD_MESSAGE_COLOR][2] == ARG_RANDOM ? RANDOM_COLOR : g_eSettings[HUD_MESSAGE_COLOR][2], g_eSettings[HUD_MESSAGE_POSITION][0], g_eSettings[HUD_MESSAGE_POSITION][1], g_eSettings[HUD_MESSAGE_EFFECTS], g_eSettings[HUD_MESSAGE_TIME][0], g_eSettings[HUD_MESSAGE_DURATION], g_eSettings[HUD_MESSAGE_TIME][1], g_eSettings[HUD_MESSAGE_TIME][2] ) ShowSyncHudMsg(id, g_iObject, "%L", id, "BECOMEVIP_HUD_MSG", g_eSettings[KILLS_NEEDED], g_ePlayerData[id][Kills]) } public OnPlayerKilled() { new iAttacker = read_data(1), iVictim = read_data(2) if(is_user_connected(iAttacker) && iAttacker != iVictim && !ignore_bot(iAttacker)) { g_ePlayerData[iAttacker][Kills]++ check_status(iAttacker, true) } } public Cmd_CheckKills(id) { if(has_vip_flags(id)) CC_SendMessage(id, "%L", id, "BECOMEVIP_INFO_YES", g_eSettings[KILLS_NEEDED], g_eSettings[VIP_FLAGS_STR]) else CC_SendMessage(id, "%L", id, "BECOMEVIP_INFO_NO", g_eSettings[KILLS_NEEDED] - g_ePlayerData[id][Kills], g_ePlayerData[id][Kills], g_eSettings[VIP_FLAGS_STR]) return PLUGIN_HANDLED } public Cmd_GiveKills(id, iLevel, iCid) { if(!cmd_access(id, iLevel, iCid, 3)) return PLUGIN_HANDLED new szPlayer[32] read_argv(1, szPlayer, charsmax(szPlayer)) new iPlayer = cmd_target(id, szPlayer, CMDTARGET_ALLOW_SELF) if(!iPlayer) return PLUGIN_HANDLED new szName[2][32], szAmount[8] get_user_name(id, szName[0], charsmax(szName[])) get_user_name(iPlayer, szName[1], charsmax(szName[])) read_argv(2, szAmount, charsmax(szAmount)) new iAmount = str_to_num(szAmount) g_ePlayerData[iPlayer][Kills] += iAmount check_status(iPlayer, true) CC_LogMessage(0, _, "%L", LANG_PLAYER, iAmount >= 0 ? "BECOMEVIP_GIVE_KILLS" : "BECOMEVIP_TAKE_KILLS", szName[0], iAmount, szName[1]) return PLUGIN_HANDLED } public Cmd_ResetKills(id, iLevel, iCid) { if(!cmd_access(id, iLevel, iCid, 2)) return PLUGIN_HANDLED new szPlayer[32] read_argv(1, szPlayer, charsmax(szPlayer)) new iPlayer = cmd_target(id, szPlayer, CMDTARGET_ALLOW_SELF|CMDTARGET_OBEY_IMMUNITY) if(!iPlayer) return PLUGIN_HANDLED new szName[2][32] get_user_name(id, szName[0], charsmax(szName[])) get_user_name(iPlayer, szName[1], charsmax(szName[])) g_ePlayerData[iPlayer][Kills] = 0 CC_LogMessage(0, _, "%L", LANG_PLAYER, "BECOMEVIP_RESET_KILLS", szName[0], szName[1]) return PLUGIN_HANDLED } public refresh_status(id) check_status(id, false) bool:check_status(const id, const bool:bAnnounce) { if(has_vip_flags(id) || ignore_bot(id)) return if(g_ePlayerData[id][Kills] >= g_eSettings[KILLS_NEEDED]) set_vip_flags(id, bAnnounce) else g_bShouldSaveDate[id] = true } set_vip_flags(const id, const bool:bAnnounce) { set_user_flags(id, g_eSettings[VIP_FLAGS_BIT]) if(bAnnounce) { switch(g_eSettings[VIP_SUCCESS_MESSAGE]) { case 1: CC_SendMessage(id, "%L", id, "BECOMEVIP_SUCCESS_PLR", g_eSettings[VIP_FLAGS_STR], g_eSettings[KILLS_NEEDED]) case 2: CC_SendMessage(0, "%L", LANG_PLAYER, "BECOMEVIP_SUCCESS_ALL", g_ePlayerData[id][Name], g_eSettings[VIP_FLAGS_STR], g_eSettings[KILLS_NEEDED]) } } } bool:ignore_bot(const id) return (g_eSettings[IGNORE_BOTS] && is_user_bot(id)) bool:has_vip_flags(const id) return ((get_user_flags(id) & g_eSettings[VIP_FLAGS_BIT]) == g_eSettings[VIP_FLAGS_BIT]) use_vault(const id, const bool:bSave, const szInfo[]) { if(!szInfo[0]) return new szData[32] if(bSave) { get_time("%y %j", szData, charsmax(szData)) format(szData, charsmax(szData), "%d %s", g_ePlayerData[id][Kills], szData) nvault_set(g_iVault, szInfo, szData) } else { nvault_get(g_iVault, szInfo, szData, charsmax(szData)) if (contain(szData, " ")) { new szKills[16], szOldYear[3], szOldDay[3] parse(szData, szKills, charsmax(szKills), szOldYear, charsmax(szOldYear), szOldDay, charsmax(szOldDay)) g_ePlayerData[id][Kills] = str_to_num(szKills) if (g_ePlayerData[id][Kills] > g_eSettings[KILLS_NEEDED]) { new szDate[64], szNewYear[3], szNewDay[3] get_time("%y %j", szDate, charsmax(szDate)) parse(szDate, szNewYear, charsmax(szNewYear), szNewDay, charsmax(szNewDay)) new iOldYear = str_to_num(szOldYear), iOldDay = str_to_num(szOldDay), iNewYear = str_to_num(szNewYear), iNewDay = str_to_num(szNewDay) new iOldYearDays = floatround(iOldYear * 365.25, floatround_ceil) + iOldDay new iNewYearDays = floatround(iNewYear * 365.25, floatround_ceil) + iNewDay if (iNewYearDays - iOldYearDays > g_eSettings[DAYS_TO_SAVE]) { g_ePlayerData[id][Kills] = 0 } } } else { g_ePlayerData[id][Kills] = str_to_num(szData) } set_task(FLAGS_DELAY, "refresh_status", id) } } public plugin_natives() { register_library("becomevip") register_native("becomevip_get_flags", "_becomevip_get_flags") register_native("becomevip_get_kills_needed", "_becomevip_get_kills_needed") register_native("becomevip_get_save_type", "_becomevip_get_save_type") register_native("becomevip_get_user_kills", "_becomevip_get_user_kills") register_native("becomevip_is_hud_enabled", "_becomevip_is_hud_enabled") register_native("becomevip_user_has_flags", "_becomevip_user_has_flags") } public _becomevip_get_flags(iPlugin, iParams) return g_eSettings[VIP_FLAGS_BIT] public _becomevip_get_kills_needed(iPlugin, iParams) return g_eSettings[KILLS_NEEDED] public _becomevip_get_save_type(iPlugin, iParams) return g_eSettings[SAVE_TYPE] public _becomevip_get_user_kills(iPlugin, iParams) return g_ePlayerData[get_param(1)][Kills] public bool:_becomevip_is_hud_enabled(iPlugin, iParams) return g_eSettings[HUD_MESSAGE_ENABLED] public bool:_becomevip_user_has_flags(iPlugin, iParams) return has_vip_flags(get_param(1))
Note - Чак сега се сещам, че NVault има TimeStamp, ако някой иска да го преработи.Код за потвърждение: Избери целия код
DAYS_TO_SAVE = 15
Cs-Plovdiv.com - Aim Attack - 93.123.16.4:27022
-
devilchy
Извън линия - Потребител
- Мнения: 223
- Регистриран на: 03 Фев 2017, 14:08
- Местоположение: Burgas
- Се отблагодари: 3 пъти
- Получена благодарност: 6 пъти
- Обратна връзка:
-
devilchy
Извън линия - Потребител
- Мнения: 223
- Регистриран на: 03 Фев 2017, 14:08
- Местоположение: Burgas
- Се отблагодари: 3 пъти
- Получена благодарност: 6 пъти
- Обратна връзка:
Преправяне на becomevip
Аре бе няма ли кой да го погледне това ту има вип в сървъра ту няма, Май и този сайт ще е като на фен сайта замира... Вече няма кой да помага и тук ...
-
Siska
Извън линия - Потребител
- Мнения: 771
- Регистриран на: 03 Дек 2019, 22:29
- Местоположение: Bedrock
- Се отблагодари: 157 пъти
- Получена благодарност: 48 пъти
- Обратна връзка:
Преправяне на becomevip
Извън темата
Предполагам си забелязал , че много от amx сайтовете са или без поддръжка или са станали платени. Въпроса е , че не може цял живот едни и същи хора да помагат. То омръзва, то човек си има и друга работа и т.н. Сега сме ние наред. Трябва да учим този компютърен език и всичко покрай него и после ние да сме следващите , които ще помагат и ще поддържат българския цс. Това , обаче , едва ли ще стане поради ред причини...
Търсих врага и го открих : това съм аз , трябва да се победя...
WWW.CSMEGAGAMING.COM Skype : Sisi-1_1
WWW.CSMEGAGAMING.COM Skype : Sisi-1_1
-
devilchy
Извън линия - Потребител
- Мнения: 223
- Регистриран на: 03 Фев 2017, 14:08
- Местоположение: Burgas
- Се отблагодари: 3 пъти
- Получена благодарност: 6 пъти
- Обратна връзка:
Преправяне на becomevip
То аз съм съгласен и да платя както и било до сега но и такива ги няма, просто играта замира тва е...Siska написа: ↑18 Май 2022, 21:42Извън тематаПредполагам си забелязал , че много от amx сайтовете са или без поддръжка или са станали платени. Въпроса е , че не може цял живот едни и същи хора да помагат. То омръзва, то човек си има и друга работа и т.н. Сега сме ние наред. Трябва да учим този компютърен език и всичко покрай него и после ние да сме следващите , които ще помагат и ще поддържат българския цс. Това , обаче , едва ли ще стане поради ред причини...
-
Siska
Извън линия - Потребител
- Мнения: 771
- Регистриран на: 03 Дек 2019, 22:29
- Местоположение: Bedrock
- Се отблагодари: 157 пъти
- Получена благодарност: 48 пъти
- Обратна връзка:
Преправяне на becomevip
Ако търсиш платени услуги то във всички руски сайтове се предлагат такива. Във елиед също има хора , които предлагат същото. Също и българи са ми казвали , че може евентуално да се заемат, но там е само евентуално, а руснаците като гледам от това живеят. В елиед също , както написах вече има хора , които ще ти напишат всичко , което си поискаш. И един съвет искам да дам, но по принцип ти разбираш повече от мен тъй , че може и да е излишно да ти напомням да потърсиш хубаво в нета и да се опиташ сам и чрез вече написани плъгини и теми да се справиш. Ето аз например търсих нещо повече от половин година и накрая го намерих. Освен това имах късмета много хубави хора да ми помогнат със сложните плъгини , които по 10 години никой не е пипал и няма кой да ги редактира и да ги направи да работят.
Търсих врага и го открих : това съм аз , трябва да се победя...
WWW.CSMEGAGAMING.COM Skype : Sisi-1_1
WWW.CSMEGAGAMING.COM Skype : Sisi-1_1
-
Radeon
Извън линия - Потребител
- Мнения: 143
- Регистриран на: 04 Апр 2021, 11:30
- Се отблагодари: 2 пъти
- Получена благодарност: 34 пъти
- Обратна връзка:
Преправяне на becomevip
Пробвай този плъгин, само си настрой нещата от тук. Ако работи, тогава може да му сменим съобщенията че сега са само hud.
("amx_kills", "500"); // Необходими убийства
("amx_kills_flags", "bi"); // Флагове които ще се получат при достигане на убийствата
("amx_kills_savetype", "3"); //Запазване на убийствата по [1 - by name / 2 - by IP / 3 - by SteamID]
("amx_kills_expiredays", "10"); // След колко дни да се маха вип флага
("amx_kills", "500"); // Необходими убийства
("amx_kills_flags", "bi"); // Флагове които ще се получат при достигане на убийствата
("amx_kills_savetype", "3"); //Запазване на убийствата по [1 - by name / 2 - by IP / 3 - by SteamID]
("amx_kills_expiredays", "10"); // След колко дни да се маха вип флага
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <nvault>
// #define VIP_MODELS
// #define DHUDMESSAGE
#if defined DHUDMESSAGE
#include <dhudmessage>
#endif
new g_vault;
new g_iMaxPlayers;
new bool:g_bConnected[33];
new bool:g_bFlags[33];
new g_szFlags[22];
new g_kills[33];
new g_szSave[33][32];
new p_kills_for_vip, p_vip_flags;
new p_savetype, p_expire;
public plugin_init()
{
register_plugin("Pro Become VIP", "2.0", "didoWEE");
g_vault = nvault_open("pb_vip");
g_iMaxPlayers = get_maxplayers();
register_event("DeathMsg", "eDeath", "a")
RegisterHam(Ham_Spawn, "player", "fwdSpawn", 1);
p_kills_for_vip = register_cvar("amx_kills", "500"); // Needed kill to become VIP
p_vip_flags = register_cvar("amx_kills_flags", "bi"); // The flags which you get when you become VIP
p_savetype = register_cvar("amx_kills_savetype", "3"); // Save type [1 - by name / 2 - by IP / 3 - by SteamID]
p_expire = register_cvar("amx_kills_expiredays", "10"); // Expire days
}
public plugin_cfg()
{
nvault_prune(g_vault, 0, get_systime() - (86400 * get_pcvar_num(p_expire)));
get_pcvar_string(p_vip_flags, g_szFlags, charsmax(g_szFlags));
}
#if defined VIP_MODELS
public plugin_precache()
{
precache_model("models/player/VIP/Tvip/Tvip.mdl");
precache_model("models/player/VIP/CTvip/CTvip.mdl");
}
#endif
LoadData(id)
{
new data[16];
if(nvault_get(g_vault, g_szSave[id], data, charsmax(data))) g_kills[id] = str_to_num(data);
else g_kills[id] = 0;
}
SaveData(id)
{
new data[16];
num_to_str(g_kills[id], data, charsmax(data));
nvault_set(g_vault, g_szSave[id], data);
}
ShowHud(id)
{
#if defined DHUDMESSAGE
set_dhudmessage(195, 195, 0, 0.25, 0.50, 0, 3.0, 5.0, 0.0, 0.0);
show_dhudmessage(id, "Reach %i kills and become VIP^nYour have: %i kills", get_pcvar_num(p_kills_for_vip), g_kills[id]);
#else
set_hudmessage(195, 195, 0, 0.25, 0.50, 0, 3.0, 5.0, 0.0, 0.0, -1);
show_hudmessage(id, "Reach %i kills and become VIP^nYour have: %i kills", get_pcvar_num(p_kills_for_vip), g_kills[id]);
#endif
}
FlaggingFunc(id)
{
set_user_flags(id, read_flags(g_szFlags));
g_bFlags[id] = true;
}
public eDeath()
{
new killer = read_data(1);
if(killer && killer <= g_iMaxPlayers)
{
if(g_bConnected[killer])
{
if(killer != read_data(2))
{
if(!g_bFlags[killer])
{
g_kills[killer]++;
if(g_kills[killer] < get_pcvar_num(p_kills_for_vip)) ShowHud(killer);
else
if(g_kills[killer] == get_pcvar_num(p_kills_for_vip))
{
FlaggingFunc(killer);
#if defined DHUDMESSAGE
set_dhudmessage(235, 0, 235, 0.25, 0.65, 1, 7.5, 15.0, 0.0, 0.0);
show_dhudmessage(killer, "Congratilations^nYou are VIP");
#else
set_hudmessage(235, 0, 235, 0.25, 0.65, 1, 7.5, 15.0, 0.0, 0.0, -1);
show_hudmessage(killer, "Congratilations^nYou are VIP");
#endif
}
}
}
}
}
}
public fwdSpawn(id)
{
if(g_bConnected[id])
{
if (g_kills[id] < get_pcvar_num(p_kills_for_vip)) ShowHud(id);
#if defined VIP_MODELS
{
if(g_bFlags[id])
{
new CsTeams:team = cs_get_user_team(id);
switch(team)
{
case CS_TEAM_T: cs_set_user_model(id, "Tvip");
case CS_TEAM_CT: cs_set_user_model(id, "CTvip");
}
}
}
#endif
}
}
public client_connect(id)
{
if(!(is_user_bot(id) && is_user_hltv(id)))
{
g_bConnected[id] = true;
new savetype = get_pcvar_num(p_savetype);
switch(savetype)
{
case 1: get_user_name(id, g_szSave[id], charsmax(g_szSave[]));
case 2: get_user_ip(id, g_szSave[id], charsmax(g_szSave[]));
case 3: get_user_authid(id, g_szSave[id], charsmax(g_szSave[]));
}
LoadData(id);
if(get_user_flags(id) & read_flags(g_szFlags)) g_bFlags[id] = true;
else
{
if(g_kills[id] >= get_pcvar_num(p_kills_for_vip)) FlaggingFunc(id);
else g_bFlags[id] = false;
}
}
}
public client_disconnected(id)
{
if(!(is_user_bot(id) && is_user_hltv(id)))
{
g_bConnected[id] = false;
if(g_kills[id] > 0) SaveData(id);
}
}
public plugin_end()
{
for(new id=1; id <= g_iMaxPlayers; id++)
{
if(g_bConnected[id])
{
if(!(is_user_bot(id) && is_user_hltv(id)))
{
if(g_kills[id] > 0) SaveData(id);
}
}
}
nvault_close(g_vault);
}
-
devilchy
Извън линия - Потребител
- Мнения: 223
- Регистриран на: 03 Фев 2017, 14:08
- Местоположение: Burgas
- Се отблагодари: 3 пъти
- Получена благодарност: 6 пъти
- Обратна връзка:
Преправяне на becomevip
Тествах го обаче след като сменя мапа флага се маха иначе си го аддва като достигнеш лимита но след мапа се маха ...Radeon написа: ↑19 Май 2022, 14:34 Пробвай този плъгин, само си настрой нещата от тук. Ако работи, тогава може да му сменим съобщенията че сега са само hud.
("amx_kills", "500"); // Необходими убийства
("amx_kills_flags", "bi"); // Флагове които ще се получат при достигане на убийствата
("amx_kills_savetype", "3"); //Запазване на убийствата по [1 - by name / 2 - by IP / 3 - by SteamID]
("amx_kills_expiredays", "10"); // След колко дни да се маха вип флага
Код за потвърждение: Избери целия код
#include <amxmodx> #include <cstrike> #include <hamsandwich> #include <nvault> // #define VIP_MODELS // #define DHUDMESSAGE #if defined DHUDMESSAGE #include <dhudmessage> #endif new g_vault; new g_iMaxPlayers; new bool:g_bConnected[33]; new bool:g_bFlags[33]; new g_szFlags[22]; new g_kills[33]; new g_szSave[33][32]; new p_kills_for_vip, p_vip_flags; new p_savetype, p_expire; public plugin_init() { register_plugin("Pro Become VIP", "2.0", "didoWEE"); g_vault = nvault_open("pb_vip"); g_iMaxPlayers = get_maxplayers(); register_event("DeathMsg", "eDeath", "a") RegisterHam(Ham_Spawn, "player", "fwdSpawn", 1); p_kills_for_vip = register_cvar("amx_kills", "500"); // Needed kill to become VIP p_vip_flags = register_cvar("amx_kills_flags", "bi"); // The flags which you get when you become VIP p_savetype = register_cvar("amx_kills_savetype", "3"); // Save type [1 - by name / 2 - by IP / 3 - by SteamID] p_expire = register_cvar("amx_kills_expiredays", "10"); // Expire days } public plugin_cfg() { nvault_prune(g_vault, 0, get_systime() - (86400 * get_pcvar_num(p_expire))); get_pcvar_string(p_vip_flags, g_szFlags, charsmax(g_szFlags)); } #if defined VIP_MODELS public plugin_precache() { precache_model("models/player/VIP/Tvip/Tvip.mdl"); precache_model("models/player/VIP/CTvip/CTvip.mdl"); } #endif LoadData(id) { new data[16]; if(nvault_get(g_vault, g_szSave[id], data, charsmax(data))) g_kills[id] = str_to_num(data); else g_kills[id] = 0; } SaveData(id) { new data[16]; num_to_str(g_kills[id], data, charsmax(data)); nvault_set(g_vault, g_szSave[id], data); } ShowHud(id) { #if defined DHUDMESSAGE set_dhudmessage(195, 195, 0, 0.25, 0.50, 0, 3.0, 5.0, 0.0, 0.0); show_dhudmessage(id, "Reach %i kills and become VIP^nYour have: %i kills", get_pcvar_num(p_kills_for_vip), g_kills[id]); #else set_hudmessage(195, 195, 0, 0.25, 0.50, 0, 3.0, 5.0, 0.0, 0.0, -1); show_hudmessage(id, "Reach %i kills and become VIP^nYour have: %i kills", get_pcvar_num(p_kills_for_vip), g_kills[id]); #endif } FlaggingFunc(id) { set_user_flags(id, read_flags(g_szFlags)); g_bFlags[id] = true; } public eDeath() { new killer = read_data(1); if(killer && killer <= g_iMaxPlayers) { if(g_bConnected[killer]) { if(killer != read_data(2)) { if(!g_bFlags[killer]) { g_kills[killer]++; if(g_kills[killer] < get_pcvar_num(p_kills_for_vip)) ShowHud(killer); else if(g_kills[killer] == get_pcvar_num(p_kills_for_vip)) { FlaggingFunc(killer); #if defined DHUDMESSAGE set_dhudmessage(235, 0, 235, 0.25, 0.65, 1, 7.5, 15.0, 0.0, 0.0); show_dhudmessage(killer, "Congratilations^nYou are VIP"); #else set_hudmessage(235, 0, 235, 0.25, 0.65, 1, 7.5, 15.0, 0.0, 0.0, -1); show_hudmessage(killer, "Congratilations^nYou are VIP"); #endif } } } } } } public fwdSpawn(id) { if(g_bConnected[id]) { if (g_kills[id] < get_pcvar_num(p_kills_for_vip)) ShowHud(id); #if defined VIP_MODELS { if(g_bFlags[id]) { new CsTeams:team = cs_get_user_team(id); switch(team) { case CS_TEAM_T: cs_set_user_model(id, "Tvip"); case CS_TEAM_CT: cs_set_user_model(id, "CTvip"); } } } #endif } } public client_connect(id) { if(!(is_user_bot(id) && is_user_hltv(id))) { g_bConnected[id] = true; new savetype = get_pcvar_num(p_savetype); switch(savetype) { case 1: get_user_name(id, g_szSave[id], charsmax(g_szSave[])); case 2: get_user_ip(id, g_szSave[id], charsmax(g_szSave[])); case 3: get_user_authid(id, g_szSave[id], charsmax(g_szSave[])); } LoadData(id); if(get_user_flags(id) & read_flags(g_szFlags)) g_bFlags[id] = true; else { if(g_kills[id] >= get_pcvar_num(p_kills_for_vip)) FlaggingFunc(id); else g_bFlags[id] = false; } } } public client_disconnected(id) { if(!(is_user_bot(id) && is_user_hltv(id))) { g_bConnected[id] = false; if(g_kills[id] > 0) SaveData(id); } } public plugin_end() { for(new id=1; id <= g_iMaxPlayers; id++) { if(g_bConnected[id]) { if(!(is_user_bot(id) && is_user_hltv(id))) { if(g_kills[id] > 0) SaveData(id); } } } nvault_close(g_vault); }
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 7 Отговори
- 2384 Преглеждания
-
Последно мнение от JackEyedJones
-
- 1 Отговори
- 1348 Преглеждания
-
Последно мнение от Shanhaya
-
- 10 Отговори
- 2228 Преглеждания
-
Последно мнение от devilchy
-
- 3 Отговори
- 2210 Преглеждания
-
Последно мнение от OciXCrom
-
- 3 Отговори
- 1698 Преглеждания
-
Последно мнение от OciXCrom
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 16 госта