Jak dodać modele dla vip w tym kodzie sma
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <csx>
#include <StripWeapons>
#define is_user_vip(%1) (get_user_flags(%1)&ADMIN_LEVEL_H)
new const g_iMaxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
new bool:g_bVipPrzywitany[33], g_iSkoki[33];
new g_iIloscRund;
new g_iIloscSlotow;
public plugin_init() {
register_plugin("VIP", "1.0.0", "d0naciak.pl");
register_logevent("ev_PoczatekGry", 2, "1=Game_Commencing");
register_logevent("ev_KoniecRundy", 2, "1=Round_End")
RegisterHam(Ham_Killed, "player", "fw_Smierc_Post", 1);
RegisterHam(Ham_Spawn, "player", "fw_Odrodzenie_Post", 1);
register_forward(FM_CmdStart, "fw_CmdStart");
register_message(get_user_msgid("SayText"),"msg_SayText");
register_message(get_user_msgid("ScoreAttrib"), "msg_ScoreAttrib");
register_clcmd("jointeam", "cmd_WybierzTeam");
register_clcmd("say /vip", "cmd_VipInfo");
register_clcmd("say /vips", "cmd_VipyOnline");
g_iIloscSlotow = get_maxplayers();
}
public client_connect(id) {
g_bVipPrzywitany[id] = false;
}
public ev_PoczatekGry() {
g_iIloscRund = 0;
}
public ev_KoniecRundy() {
g_iIloscRund ++;
for(new i = 1; i <= g_iIloscSlotow; i++) {
if(!is_user_alive(i) || !is_user_vip(i)) {
continue;
}
cs_set_user_money(i, cs_get_user_money(i) + 150);
}
}
public fw_Smierc_Post(id, iAtt, iShGb) {
if(!is_user_connected(iAtt) || !is_user_vip(iAtt) || get_user_team(id) == get_user_team(iAtt)) {
return HAM_IGNORED;
}
new iBonus;
if(get_pdata_int(id, 75, 5) == HIT_HEAD) {
iBonus = 600;
} else {
iBonus = 300;
}
cs_set_user_money(iAtt, cs_get_user_money(iAtt) + iBonus);
new iBron = get_user_weapon(iAtt);
if(g_iMaxClip[iBron] != -1) {
set_user_clip(id, g_iMaxClip[iBron]);
}
return HAM_IGNORED;
}
public bomb_planted(id) {
if(!is_user_vip(id)) {
return;
}
cs_set_user_money(id, cs_get_user_money(id) + 300);
}
public bomb_defused(id) {
if(!is_user_vip(id)) {
return;
}
cs_set_user_money(id, cs_get_user_money(id) + 300);
}
public fw_Odrodzenie_Post(id) {
if(!is_user_vip(id)) {
return;
}
new iTeam = get_user_team(id);
if(!(1 <= iTeam <= 2) || !is_user_alive(id)) {
return;
}
if(g_iIloscRund >= 3) {
MenuBroni(id);
}
set_user_health(id, 105);
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
if(iTeam == 2) {
cs_set_user_defuse(id, 1);
}
}
MenuBroni(id) {
new iMenu = menu_create("Wybierz bron", "MenuBroni_Handler");
menu_additem(iMenu, "M4A1 + Deagle");
menu_additem(iMenu, "AK47 + Deagle");
menu_additem(iMenu, "FAMAS + Deagle");
menu_additem(iMenu, "AWP + Deagle");
menu_display(id, iMenu);
}
public MenuBroni_Handler(id, iMenu, iItem) {
if(!is_user_alive(id) || iItem == MENU_EXIT) {
menu_destroy(iMenu);
return PLUGIN_CONTINUE;
}
if(iItem < 0) {
return PLUGIN_CONTINUE;
}
StripWeapons(id, Primary);
StripWeapons(id, Secondary);
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
switch(iItem) {
case 0: {
give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 90);
}
case 1: {
give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 90);
}
case 2: {
give_item(id, "weapon_famas");
cs_set_user_bpammo(id, CSW_FAMAS, 90);
}
case 3: {
give_item(id, "weapon_awp");
cs_set_user_bpammo(id, CSW_AWP, 30);
}
}
menu_destroy(iMenu);
return PLUGIN_CONTINUE;
}
public fw_CmdStart(id, uc_handle)
{
if(!is_user_alive(id) || !is_user_vip(id))
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && g_iSkoki[id])
{
g_iSkoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
g_iSkoki[id] = 1;
return FMRES_IGNORED;
}
public msg_SayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(!is_user_connected(id) || !is_user_vip(id)) return PLUGIN_CONTINUE;
new szTmp[192], szTmp2[192];
get_msg_arg_string(2, szTmp, charsmax(szTmp));
new szPrefix[64];
formatex(szPrefix, 63, "^x04(~~VIP~~)");
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), " ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else{
new szPlayerName[64];
get_user_name(id, szPlayerName, charsmax(szPlayerName));
get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treĹÄ wysĹanej wiadomoĹci
set_msg_arg_string(4, ""); //Musimy go wyzerowaÄ, gdyĹź gra wykorzysta wiadomoĹÄ podwĂłjnie co moĹźe skutkowaÄ crash'em 191+ znakĂłw.
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "^x03 ");
add(szTmp2, charsmax(szTmp2), szPlayerName);
add(szTmp2, charsmax(szTmp2), "^x01 : ");
add(szTmp2, charsmax(szTmp2), szTmp)
}
set_msg_arg_string(2, szTmp2);
return PLUGIN_CONTINUE;
}
public msg_ScoreAttrib(){
new id=get_msg_arg_int(1);
if(is_user_alive(id) && is_user_vip(id)){
set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
}
public cmd_WybierzTeam(id) {
if(is_user_vip(id) && !g_bVipPrzywitany[id]) {
new szNick[32];
get_user_name(id, szNick, 31);
set_hudmessage(42, 127, 255, 0.05, 0.25, 0, 6.0, 6.0, 0.8, 0.8, -1);
show_hudmessage(id, "VIP %s wszedl na serwer!", szNick);
g_bVipPrzywitany[id] = true;
}
}
public cmd_VipInfo(id) {
show_motd(id, "vip.txt", "Opis VIPa");
return PLUGIN_HANDLED;
}
public cmd_VipyOnline(id) {
new szNick[32], szWiadomosc[512], iLen;
iLen = formatex(szWiadomosc, 511, "\yVIPy Online:^n");
for(new i = 1; i <= g_iIloscSlotow; i++) {
if(!is_user_connected(i) || !is_user_vip(i)) {
continue;
}
get_user_name(i, szNick, 31);
iLen += formatex(szWiadomosc[iLen], 511 - iLen, "\r* \w%s^n", szNick);
}
if(!strlen(szNick)) {
iLen += formatex(szWiadomosc[iLen], 511 - iLen, "\rnie ma zadnego VIPa!");
}
show_menu(id, 1023, szWiadomosc);
return PLUGIN_HANDLED;
}
stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
if (pev(weaponid, pev_owner) == id) {
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}