WSTĘP ORAZ OPIS FUNKCJONOWANIA WTYCZKI
• Witajcie w oficjalnym poradniku dedykowanym usłudze VIP na naszej sieci serwerów!
• Nasza autorska wtyczka została zoptymalizowana w taki sposób, aby automatycznie przyznawać graczom bonusy bez konieczności wpisywania jakichkolwiek komend w grze. Wszystko działa w tle od momentu Waszego połączenia z serwerem.
SPIS AUTOMATYCZNYCH FUNKCJI I BONUSÓW
• Darmowy Zestaw Granatów & Pancerz (Od 2. rundy):
Wtyczka automatycznie sprawdza numer aktualnej rundy. Gdy rozpocznie się runda druga (lub każda kolejna), system wyda Ci pełną kamizelkę, hełm oraz komplet granatów (HE, 2x Flash, Smoke). Informację o przyznaniu bonusu zobaczysz na środku swojego ekranu.
• System Finansowy & Wampiryzm (Vampire HP):
Za każde wyeliminowanie wroga wtyczka automatycznie przelicza i dodaje nagrody na Twoje konto:
• Zwykłe zabójstwo: Bonusowe +200$ oraz natychmiastowe przywrócenie +5 HP.
• Strzał w głowę (Headshot): Bonusowe +300$ oraz natychmiastowe przywrócenie +10 HP.
• Ważne: Wtyczka posiada zabezpieczenie, które nie pozwoli przekroczyć maksymalnego limitu 100 punktów zdrowia.
• Wyróżnienia Wizualne (Czat i TAB):
Wtyczka automatycznie modyfikuje przesyłanie pakietów sieciowych, dzięki czemu Twój nick na czacie globalnym i drużynowym zyskuje zielony prefiks [VIP]. Dodatkowo, w tabeli wyników pod klawiszem TAB, przy Twoim profilu pojawi się oficjalna etykieta statusu.
JAK POPRAWNIE AKTYWOWAĆ USŁUGĘ NA SERWERZE?
• Usługa przypisana jest pod systemową flagę t (ADMIN_LEVEL_H). Jeśli zakupiłeś usługę u Właściciela sieci, upewnij się, że poprawnie wpisałeś swoje dane w konsoli:
• Jeśli usługa jest przypisana na Twój NICK i HASŁO:
Przed wejściem na serwer otwórz konsolę klawiszem tyldy ~ i wpisz:
setinfo _pw "twoje_haslo_z_forum"• Jeśli usługa jest przypisana na Twój STEAMID:
Wtyczka automatycznie rozpozna Twój unikalny identyfikator podczas łączenia z serwerem – nie musisz wpisywać żadnych haseł ani komend konfiguracyjnych w konsoli!
KOD .SMA
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "Prosty VIP CS-Rush.pl"
#define VERSION "1.0"
#define AUTHOR "Cs-Rush.pl"
// Flaga VIP-a: flaga "t" (ADMIN_LEVEL_H)
#define VIP_FLAG ADMIN_LEVEL_H
new g_iRoundCounter = 0;
new bool:g_bHasVip[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
register_event("TextMsg", "Event_GameRestart", "a", "2=#Game_will_restart_in");
register_event("ResetHUD", "Event_ResetHUD", "be");
register_event("DeathMsg", "Event_DeathMsg", "a");
register_message(get_user_msgid("ScoreAttrib"), "Message_ScoreAttrib");
register_clcmd("say", "Cmd_Say");
register_clcmd("say_team", "Cmd_SayTeam");
}
public client_putinserver(id) {
g_bHasVip[id] = (get_user_flags(id) & VIP_FLAG) ? true : false;
}
public client_disconnect(id) {
g_bHasVip[id] = false;
}
public Event_NewRound() {
g_iRoundCounter++;
}
public Event_GameRestart() {
g_iRoundCounter = 0;
}
public Event_ResetHUD(id) {
if(!is_user_alive(id) || !g_bHasVip[id])
return;
// Wyposażenie VIP-a wydawane od 2. rundy
if(g_iRoundCounter >= 2) {
set_user_armor(id, 100);
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
client_print(id, print_center, "[VIP] Otrzymales darmowy pancerz i granaty!");
}
}
public Event_DeathMsg() {
new iAttacker = read_data(1);
new iVictim = read_data(2);
new iHeadshot = read_data(3);
if(!is_user_connected(iAttacker) || iAttacker == iVictim || !g_bHasVip[iAttacker])
return;
new iCurrentHp = get_user_health(iAttacker);
new iMaxHp = 100;
// Dodatkowa kasa i HP za zabójstwo
if(iHeadshot) {
cs_set_user_money(iAttacker, cs_get_user_money(iAttacker) + 300);
if(iCurrentHp < iMaxHp) {
set_user_health(iAttacker, min(iCurrentHp + 10, iMaxHp));
}
} else {
cs_set_user_money(iAttacker, cs_get_user_money(iAttacker) + 200);
if(iCurrentHp < iMaxHp) {
set_user_health(iAttacker, min(iCurrentHp + 5, iMaxHp));
}
}
}
// Wyświetlanie statusu [VIP] w tabeli wyników (Scoreboard / TAB)
public Message_ScoreAttrib(iMsgId, iMsgDest, iReceiver) {
new id = get_msg_arg_int(1);
if(is_user_connected(id) && g_bHasVip[id]) {
set_msg_arg_int(2, ARG_BYTE, 4); // 4 odpowiada flagi "VIP" w tabeli CS
}
}
// Unikalny, zielony prefix na czacie (say)
public Cmd_Say(id) {
if(!g_bHasVip[id]) return PLUGIN_CONTINUE;
new szMessage[192], szName[32];
read_args(szMessage, charsmax(szMessage));
remove_quotes(szMessage);
get_user_name(id, szName, charsmax(szName));
if(szMessage[0] == '@' || szMessage[0] == '/' || equal(szMessage, ""))
return PLUGIN_CONTINUE;
new szFormat[256];
formatex(szFormat, charsmax(szFormat), "^x04[VIP] ^x03%s^x01 : %s", szName, szMessage);
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ch");
for(new i = 0; i < iNum; i++) {
message_begin(MSG_ONE, get_user_msgid("SayText"), _, iPlayers[i]);
write_byte(id);
write_string(szFormat);
message_end();
}
return PLUGIN_HANDLED;
}
// Unikalny, zielony prefix na czacie drużynowym (say_team)
public Cmd_SayTeam(id) {
if(!g_bHasVip[id]) return PLUGIN_CONTINUE;
new szMessage[192], szName[32];
read_args(szMessage, charsmax(szMessage));
remove_quotes(szMessage);
get_user_name(id, szName, charsmax(szName));
if(szMessage[0] == '@' || szMessage[0] == '/' || equal(szMessage, ""))
return PLUGIN_CONTINUE;
new szFormat[256];
new CsTeams:iTeam = cs_get_user_team(id);
if(iTeam == CS_TEAM_T) {
formatex(szFormat, charsmax(szFormat), "^x04[VIP] (Terrorist) ^x03%s^x01 : %s", szName, szMessage);
} else if(iTeam == CS_TEAM_CT) {
formatex(szFormat, charsmax(szFormat), "^x04[VIP] (Counter-Terrorist) ^x03%s^x01 : %s", szName, szMessage);
} else {
formatex(szFormat, charsmax(szFormat), "^x04[VIP] (Spectator) ^x03%s^x01 : %s", szName, szMessage);
}
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ch");
for(new i = 0; i < iNum; i++) {
if(cs_get_user_team(iPlayers[i]) == iTeam) {
message_begin(MSG_ONE, get_user_msgid("SayText"), _, iPlayers[i]);
write_byte(id);
write_string(szFormat);
message_end();
}
}
return PLUGIN_HANDLED;
}