Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Plugin do małej edycji

Modyfikacja

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 wixa18

    Nowy

  • Użytkownik

Reputacja: -3
Nowy

  • Postów:8
  • Lokalizacja:Poznań
Offline

Napisano 29.11.2011 17:03

Witam. Mam taki problem. Gdyż VIP wybiera broń obojętnie jaką nie dostaje granatów. (HE,2FL,SM).
Przy wyborze broni w drużynie TT podczas gdy gracz ma bombę, wybiera dany zestaw a następnie znika mu C4. Prosiłbym bardzo w edytowaniu :)
/*Wymagane Moduły*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <fun>
#include <nvault>
/*Zmienne*/
#pragma semicolon 1
#define FLAGA ADMIN_LEVEL_H
#define ADMINCMD ADMIN_CFG
#define Klawisze (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD (1<<0)
#define SCOREATTRIB_BOMB (1<<1)
#define SCOREATTRIB_VIP (1<<2)
new const gszPrefix[] = "^x01[^x03VIP^x01]";

new bool:PosiadaC4[33] = true;
//Tylko jeśli VIP TT (Gdy wybiera sobie broń, Zmienna sprawdza czy gracz ma pake (taki mały fix)) jeśli ją ma to dodjae pake jeśli nie to nie.

new VipName[32];
new GetMaxPlayers;
new gszVault;
new mpd;
new mkb;
new mhb;
new nHp_add;
new nHp_max;
new health_add;
new health_hs_add;
new health_max;
new nKiller;
new nKiller_hp;
new vip_connect;
new menu_vip;
new vip_info_online;
new awp_vip;
new vip_grenade;
new vip_money;
public plugin_init()
{
register_plugin("[VIP] Ultimate Hot", "2.7", "Dunno & [H]ARDBO[T]");
//Zapis Ustawien!
set_task(0.1, "WczytajKonfiguracje");
gszVault = nvault_open("VipUltimateHot_v2.7");
//EVENTY
register_event("HLTV", "HltvEvent", "a", "1=0", "2=0");
register_event("DeathMsg", "DeathMsgEventHook", "a", "1>0");
register_event("Damage","DamageEvent","b");
register_event("DeathMsg","DeathMsgEvent","a");
register_event("CurWeapon", "CurWeaponEvent", "be", "1=1");
//KOMENDY W SAY
register_clcmd("say /vipinfo","ShowMotd");
register_clcmd("say /vips","ClientPrintVipOnline");
register_clcmd("say /cmd","MenuADMINA");
//KOMENDY
register_clcmd("awp","PlayerCmd");
register_clcmd("sg550","PlayerCmd");
register_clcmd("g3sg1","PlayerCmd");
//INDEXY MENU
register_menucmd(register_menuid("Menuid"), Klawisze, "PokazMenu");
register_menucmd(register_menuid("MenuAdminaId"), Klawisze, "ShowAdminMenu");
register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
//CVARY
mpd = register_cvar("vip_kasa_za_obrazenia","3");
mkb = register_cvar("vip_kasa_za_zabicie","200");
mhb = register_cvar("vip_kasa_za_hs","500");

health_add = register_cvar("vip_hp_za_zabicie", "15");
health_hs_add = register_cvar("vip_hp_za_hs", "30");
health_max = register_cvar("vip_max_hp", "100");
//VIP CVARY
menu_vip = register_cvar("vip_menu","1");
awp_vip = register_cvar("vip_awp","1");
vip_info_online = register_cvar("vip_info_online","1");
vip_connect = register_cvar("vip_connect_info","1");
vip_grenade = register_cvar("vip_add_grenade","1");
vip_money = register_cvar("vip_add_money","500");
//ZMIENNE
GetMaxPlayers = get_maxplayers();
//REKLAMA W SAY
set_task(80.0, "Reklama",0,_,_,"b");
}
public plugin_cfg()
{
server_cmd("exec addons/amxmodx/configs/VipUltimateHot.cfg");
}
public DamageEvent(id)
{
new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint);
new v_victim = read_data(2);
if(attacker<=GetMaxPlayers && is_user_alive(attacker) && attacker != id)

if(get_user_flags(attacker) & FLAGA)
{
new money = v_victim * get_pcvar_num(mpd);
if(hitpoint == 1) money += get_pcvar_num(mhb);
cs_set_user_money(attacker,cs_get_user_money(attacker) + money);
}
}
public DeathMsgEvent()
{
new v_killer = read_data(1);
new v_victim = read_data(2);

if(v_killer <= GetMaxPlayers && v_killer && v_killer != v_victim)
{
cs_set_user_money(v_killer,cs_get_user_money(v_killer) + get_pcvar_num(mkb) - 300);
}
}
public client_authorized(id)
{
set_task(5.0, "Rozdaj", id);
}
public HltvEvent()
{
for(new all=1; all<32; all++)
{
set_task(5.0, "Rozdaj",all);
}
}
public Rozdaj(id)
{
if(is_user_alive(id) && get_user_flags(id) & FLAGA)
{
set_task(1.0,"SetPlayerModel",id);
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(vip_money));

if(get_pcvar_num(menu_vip) == 1)
{
set_task(1.0,"MenuVIPA",id);
}
}
return PLUGIN_HANDLED;
}
public DeathMsgEventHook()
{
nKiller = read_data(1);

if(get_user_flags(nKiller) & FLAGA)
{
if((read_data(3) == 1) && (read_data(5) == 0))
{
nHp_add = get_pcvar_num (health_hs_add);
}
else
{
nHp_add = get_pcvar_num (health_add);
nHp_max = get_pcvar_num (health_max);
}

nKiller_hp = get_user_health(nKiller);
nKiller_hp += nHp_add;

if(nKiller_hp > nHp_max)
{
nKiller_hp = nHp_max;
}

message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(0);
write_byte(0);
write_byte(200);
write_byte(75);
message_end();
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(nKiller, "BOOOOM HEADSHOT!^nDostales +%d HP za HS'a!", nHp_add);
set_user_health(nKiller, nKiller_hp);
}
return PLUGIN_CONTINUE;
}
//MENU ADMINA!
public MenuADMINA(id)
{
if(get_user_flags(id) & ADMINCMD)
{
new nick[32],MenuText[1024];
get_user_name(id, nick, 31);

formatex(MenuText, 1023,"\yWitaj \r%s^n^n\w1. \yVip ma dostep do menu broni? \r[%s]^n\w2. \yDostep do AWP \r[%s]^n\w3. \yVip Info Online \r[%s]^n\w4. \yInformacje o nadejsciu VIPa \r[%s]^n\w5. \yDodawac granaty do wyposarzenia? \r[%s]^n^n\w9. \rZapisz Konfiguracje^n",nick, menu_vip ? "TAK":"NIE", awp_vip ? "VIP":"WSZYSCY", vip_info_online ? "W MENU":"W MOTD",vip_connect ? "TAK":"NIE",vip_money ? "TAK":"NIE");
show_menu(id, Klawisze, MenuText, -1, "MenuAdminaId");
}
else
{
ColorChat(id, RED, "%s ^x04Tylko glowny Administrator ma dostep do menu!",gszPrefix);
}
return PLUGIN_CONTINUE;
}
public ShowAdminMenu(id, key)
{
client_cmd(id, "spk misc/vip/klick.wav");
set_task(0.1, "WczytajKonfiguracje");
set_task(0.1, "ZapiszKonfiguracje",id);

switch(key)
{
case 0:
{
if(!menu_vip)
{
ColorChat(id, GREEN, "%s^x01 Dostep do menu wlaczony",gszPrefix);
menu_vip = 1;
}
else
{
ColorChat(id, GREEN, "%s^x01 Dostep do menu wylaczony",gszPrefix);
menu_vip = 0;
}
MenuADMINA(id);
}
case 1:
{
if(!awp_vip)
{
ColorChat(id, GREEN, "%s^x01 Tylko^x04 VIP^x01 moze uzywac^x04 AWP",gszPrefix);
awp_vip = 1;
}
else
{
ColorChat(id, GREEN, "%s^x01 Kazdy moze uzywac^x04 AWP",gszPrefix);
awp_vip = 0;
}
MenuADMINA(id);
}
case 2:
{
if(!vip_info_online)
{
ColorChat(id, GREEN, "%s^x01 Vip online bedzie ukazywany w^x04 MENU!",gszPrefix);
vip_info_online = 1;
}
else
{
ColorChat(id, GREEN, "%s^x01 Vip online bedzie ukazywany w^x04 MOTD!",gszPrefix);
vip_info_online = 0;
}
MenuADMINA(id);
}
case 3:
{
if(!vip_connect)
{
ColorChat(id, GREEN, "%s^x01 Informacja o nadejsciu^x04 VIPa^x01 do serwera^x04 Wlaczona",gszPrefix);
vip_connect = 1;
}
else
{
ColorChat(id, GREEN, "%s^x01 Informacja o nadejsciu^x04 VIPa^x01 do serwera^x04 Wylaczona",gszPrefix);
vip_connect = 0;
}
MenuADMINA(id);
}
case 4:
{
if(!vip_grenade)
{
ColorChat(id, GREEN, "%s^x04 VIPy^x01 nie beda dostawac granatow do wyposarzenia",gszPrefix);
vip_grenade = 1;
}
else
{
ColorChat(id, GREEN, "%s^x04 VIPy^x01 beda dostawac granaty do wyposarzenia",gszPrefix);
vip_grenade = 0;
}
MenuADMINA(id);
}
case 8:
{
ColorChat(id, GREEN, "%s^x04 Konfiguracja zostala pomyslnie zapisana!",gszPrefix);
}
}
return PLUGIN_HANDLED;
}
//MENU VIPA
public MenuVIPA(id)
{
show_menu(id, Klawisze, "\d[\rProsze wybrac Zestaw\d]^n^n\d1. \yWez M4A1 + Deagle + Granaty ^n\d2. \yWez AK47 + Deagle + Granaty^n\d3. \yWez AWP + Deagle + Granaty^n\d4. \yWez Auto-ShotGuna + Granaty^n^n\d0. \rWyjscie^n", -1, "Menuid");
return PLUGIN_CONTINUE;
}
public PokazMenu(id, key)
{
strip_user_weapons(id);
give_item(id,"weapon_knife");

if(vip_grenade==1)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if(PosiadaC4[id] == true)
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}

client_cmd(id, "spk misc/vip/klick.wav");

switch(key)
{
case 0:
{
give_item(id,"weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 90);
give_item(id,"weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);


if(user_has_weapon(id, CSW_C4) && cs_get_user_team(id) == CS_TEAM_T)
{
PosiadaC4[id] = true;
}
else
{
PosiadaC4[id] = false;
}
}
case 1:
{
give_item(id,"weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 90);
give_item(id,"weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);

if(user_has_weapon(id, CSW_C4) && cs_get_user_team(id) == CS_TEAM_T)
{
PosiadaC4[id] = true;
}
else
{
PosiadaC4[id] = false;
}
}
case 2:
{
give_item(id,"weapon_awp");
cs_set_user_bpammo(id, CSW_AWP, 30);
give_item(id,"weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);

if(user_has_weapon(id, CSW_C4) && cs_get_user_team(id) == CS_TEAM_T)
{
PosiadaC4[id] = true;
}
else
{
PosiadaC4[id] = false;
}
}
case 3:
{
give_item(id,"weapon_xm1014");
cs_set_user_bpammo(id, CSW_XM1014, 32);
give_item(id,"weapon_elite");
cs_set_user_bpammo(id, CSW_ELITE, 35);

if(user_has_weapon(id, CSW_C4) && cs_get_user_team(id) == CS_TEAM_T)
{
PosiadaC4[id] = true;
}
else
{
PosiadaC4[id] = false;
}
}
}
return PLUGIN_HANDLED;
}
//ZAKAZ SNAJPEREK
public PlayerCmd(id)
{
if(get_pcvar_num(awp_vip)==1)
{
if(get_user_flags(id) & FLAGA){
set_hudmessage(0, 255, 0, 0.5, 0.7, 0, 6.0, 15.0);
show_hudmessage(id, "Zyczymy milego Fragowania!");
}
else
{
set_hudmessage(255, 0, 0, 0.5, 0.7, 0, 6.0, 15.0);
show_hudmessage(id, "Bronie Snajperskie tylko dla VIP'ow!");
client_cmd(id, "drop");
}
}
return PLUGIN_HANDLED;
}
public CurWeaponEvent(id)
{
if(get_pcvar_num(awp_vip)==1)
{
if(read_data(1) == (CSW_AWP & CSW_SG550 & CSW_G3SG1))
{
if(get_user_flags(id) & FLAGA)
{
set_hudmessage(0, 255, 0, 0.5, 0.7, 0, 6.0, 15.0);
show_hudmessage(id, "Zyczymy milego Fragowania!");
}
else
{
set_hudmessage(255, 0, 0, 0.5, 0.7, 0, 6.0, 15.0);
show_hudmessage(id, "Bronie Snajperskie tylko dla VIP'ow!");
client_cmd(id, "drop");
}
}
}
return PLUGIN_HANDLED;
}
//VIP INFO
public ShowMotd(id)
{
show_motd(id, "vip.txt","Informacje o Vipie");
}
//REKLAMY
public Reklama()
{
new map[32];
get_mapname(map,31);
new times[64];
get_time("%H:%M:%S" ,times,63);

switch(random(3))
{
case 1: ColorChat(0, GREEN ,"%s Wpisz w say^x04 /vipinfo^x01 i zobacz jak byc^x01 VIP'em.",gszPrefix);
case 2: ColorChat(0, GREEN ,"%s Wpisz w say^x04 /vips^x01 i zobacz kto jest^x04 VIP'em.",gszPrefix);
case 3: ColorChat(0, GREEN ,"%s Aktualnie jest godzina:^x04 %s^x01 | Gracie na mapie:^x04 %s",gszPrefix,times,map);
}
return PLUGIN_HANDLED;
}
//VIP ONLINE
public ClientPrintVipOnline(id)
{
switch(get_pcvar_num(vip_info_online))
{
case 0: print_vip_motd(id);
case 1: print_vip_menu(id);
}
}
public print_vip_motd(id)
{
static motd[1000],head[600],name[32],len,i,counter;
len = 0;
counter = 0;

len += formatex(motd[len],sizeof motd - 1 - len,"<center><body bgcolor=black><font color=red size=4>Vipami na serwerze sa:</center><br>");
formatex(head,sizeof head - 1,"Vipami na serwerze sa:");

for(i = 1; i <= GetMaxPlayers ;i++)
{
if(!is_user_connected(i)) continue;
if((cs_get_user_team(i) == CS_TEAM_SPECTATOR) && (cs_get_user_team(i) == CS_TEAM_UNASSIGNED)) continue;

counter++;
get_user_name(i,name,sizeof name - 1);

if(is_user_alive(i) && get_user_flags(i) & FLAGA)
{
len += formatex(motd[len],sizeof motd - 1 - len,"<font color=red size=3><b>%d)</b> </font><font color=green><b>%s</b></font><font color=red> | Steam:[</font><font color=green><b>%s</b></font>]</font><br>",counter,name,is_user_steam(i)?"TAK!":"NIE!");
}
}
show_motd(id,motd,head);
return PLUGIN_CONTINUE;
}
public print_vip_menu(id)
{
static Text[1024],name[32],len,i,counter;
len = 0;
counter = 0;

len += formatex(Text[len],sizeof Text - 1 - len,"\rVips Online:^n^n");
for(i = 1; i <= GetMaxPlayers ;i++)
{
if(!is_user_connected(i)) continue;
if((cs_get_user_team(i) == CS_TEAM_SPECTATOR) && (cs_get_user_team(i) == CS_TEAM_UNASSIGNED)) continue;

counter++;
get_user_name(i,name,sizeof name - 1);

if(is_user_alive(i) && get_user_flags(i) & FLAGA)
{
len += formatex(Text[len],sizeof Text - 1 - len,"\w%d. \y%s \d| \dSteam:\r[%s]^n",counter,name,is_user_steam(i)?"TAK":"NIE");
}
}
show_menu(id, Klawisze, Text, -1, "MenuVips");
}
//TABELE INFO VIP
public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
new iPlayer = get_msg_arg_int(1);
if(get_user_flags(iPlayer) & FLAGA)
{
if(is_user_connected(iPlayer))
{
if(cs_get_user_team(iPlayer)==CS_TEAM_CT)
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
}
else
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_BOMB);
}
}
}
}
//GACZ SIĘ POŁACZA I ROZŁĄCZA Z SERWERA
public client_connect(id)
{
if(get_pcvar_num(vip_connect)==1)
{
if(get_user_flags(id) & FLAGA)
{
get_user_name(id, VipName, 31);
set_hudmessage(127, 255, 42, 0.01, 0.4, 0, 15.0);
show_hudmessage(0, "Wchodzi VIP: %s", VipName);
client_cmd(0, "spk misc/vip/vip");
}
}
}
public client_disconnect(id)
{
if(get_pcvar_num(vip_connect)==1)
{
if(get_user_flags(id) & FLAGA)
{
get_user_name(id, VipName, 31);
set_hudmessage(127, 255, 42, 0.01, 0.4, 0, 15.0);
show_hudmessage(0, "Wychodzi VIP: %s", VipName);
}
}
}
public SetPlayerModel(id)
{
/*if(cs_get_user_team(id) == CS_TEAM_T)
{
cs_set_user_model(id, "vip_TT");
}
else
{
cs_set_user_model(id, "vip_CT");
}
*/
cs_set_user_model(id, "vip");
}
public ZapiszKonfiguracje(id)
{
new AuthID[35],vaultkey[64],vaultdata[256];
get_user_authid(id,AuthID,34);
format(vaultkey,63,"%s-MOD",AuthID);
format(vaultdata,255,"%i#%i#%i#%i#%i#",vip_info_online,awp_vip,menu_vip,vip_connect,vip_grenade);
nvault_set(gszVault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
public WczytajKonfiguracje()
{
new AuthIDs[35],vaultkey[64],vaultdata[256];
format(vaultkey, 63, "%s-MOD", AuthIDs);
format(vaultdata,255,"%i#%i#%i#%i#%i#",vip_info_online,awp_vip,menu_vip,vip_connect,vip_grenade);
nvault_get(gszVault,vaultdata,vaultkey,255);
replace_all(vaultdata, 255, "#", " ");
new VipCMD[20], VipCMD2[20], VipCMD3[20], VipCMD4[20], VipCMD5[20];
parse(vaultdata, VipCMD,19, VipCMD2,19, VipCMD3,19, VipCMD4,19, VipCMD5,19);

vip_info_online = str_to_num(VipCMD);
awp_vip = str_to_num(VipCMD2);
menu_vip = str_to_num(VipCMD3);
vip_connect = str_to_num(VipCMD4);
vip_grenade = str_to_num(VipCMD5);

return PLUGIN_CONTINUE;
}
public plugin_precache()
{
precache_sound("misc/vip/klick.wav");
precache_sound("misc/vip/vip.wav");

}
stock bool:is_user_steam(id)
{
new authid[32];
get_user_authid(id, authid, 31);
return containi(authid, ":") != -1 ? true:false;
}

sebul (29.11.2011 17:14):
Kod powyżej 200 linijek dajemy w załączniku, albo na forumowej wklejce.

  • +
  • -
  • -2

#2 Ojciec Dyrektor

    papa smerf.

  • Przyjaciel

Reputacja: 477
Wszechobecny

  • Postów:3 035
  • Imię:Paweł
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 29.11.2011 17:06

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod X > Problemy z pluginami
do
Scripting AMXX > Pluginy


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych