Pokaż kod który został wygenerowany.
#include <amxmodx>
#include <cstrike>
#include <csx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#define DMG_HE (1<<24)
#define IsPlayer(%1) (1<=%1<=maxPlayers)
forward amxbans_admin_connect(id);
new bool:g_Vip[33], gRound=0, g_Hudmsg, ioid, maxPlayers,
menu, menu_callback_handler;
new const clips[]={0, 13, -0, 10, 1, 7, 0, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, 0, 50};
public plugin_init(){
register_plugin("
VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);
register_event("DeathMsg", "DeathMsg", "a");
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
register_logevent("GameCommencing", 2, "1=Game_Commencing");
register_message(get_user_msgid("SayText"),"handleSayText");
g_Hudmsg=CreateHudSyncObj();
register_logevent("RoundEnd", 2, "1=Round_End");
}
public client_authorized(id){
if(get_user_flags(id) & 262144){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
new g_Name[64];
get_user_name(id,g_Name,charsmax(g_Name));
set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
ShowSyncHudMsg(0, g_Hudmsg, "SVip %s wbija na serwer !",g_Name);
}
public client_disconnect(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
}
public recharge(id){
new wid=get_user_weapon(id);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
cs_set_weapon_ammo(weid, clips[wid]);
}
}
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public SpawnedEventPreVip(id){
recharge(id);
show_vip_menu(id);
}
public plugin_cfg(){
maxPlayers=get_maxplayers();
}
public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||
(ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){
if(damagebits & DMG_BULLET){
if(get_user_weapon(ioid)==CSW_AWP){
damage*=(100+10)/100;
}
}
}
}
public DeathMsg(){
new killer=read_data(1);
new victim=read_data(2);
if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
DeathMsgVip(killer,victim,read_data(3));
}
}
public DeathMsgVip(kid,vid,hs){
set_user_health(kid, min(get_user_health(kid)+(hs?10:5),120));
cs_set_user_money(kid, cs_get_user_money(kid)+(hs?500:300));
}
public show_vip_menu(id){
menu=menu_create("\rMenu VIPa","menu_handler");
menu_callback_handler=menu_makecallback("menu_callback");
new bool:active=false, num=-1;
menu_additem(menu,"\wAk-47+Deagle","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wM4A1+Deagle","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wAWP+Deagle","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wFamas+Deagle","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
menu_additem(menu,"\wAutoShotgun+Deagle","",0,menu_callback_handler);
if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
active=true;
}
if(active){
menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
menu_setprop(menu,MPROP_TITLE,"\yMenu SVipa");
menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
menu_display(id, menu);
} else {
menu_destroy(menu);
}
}
public menu_1_handler(id){
}
public event_new_round(){
++gRound;
}
public GameCommencing(){
gRound=0;
}
public menu_callback(id, menu, item){
if(is_user_alive(id)){
if(gRound>=3){
if(item==0){
return ITEM_ENABLED;
}
if(item==1){
return ITEM_ENABLED;
}
if(item==2){
return ITEM_ENABLED;
}
if(item==3){
return ITEM_ENABLED;
}
if(item==4){
return ITEM_ENABLED;
}
}
}
return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
if(is_user_alive(id)){
if(gRound>=3){
if(item==0){
menu_1_handler(id);
}
if(item==1){
menu_2_handler(id);
}
if(item==2){
menu_3_handler(id);
}
if(item==3){
menu_4_handler(id);
}
if(item==4){
menu_5_handler(id);
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public menu_2_handler(id){
}
public menu_3_handler(id){
}
public menu_4_handler(id){
}
public menu_5_handler(id){
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(is_user_connected(id) && g_Vip[id]){
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax(szTmp))
new szPrefix[64] = "^x04[SVIP]";
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
public bomb_planted(id){
if(is_user_alive(id) && g_Vip[id]){
cs_set_user_money(id,cs_get_user_money(id) + 300);
}
}
public bomb_defused(id){
if(is_user_alive(id) && g_Vip[id]){
cs_set_user_money(id,cs_get_user_money(id) + 300);
}
}
public RoundEnd(){
for(new i = 1; i <= maxPlayers; i++){
if(is_user_alive(i) && g_Vip[i]){
cs_set_user_money(i,cs_get_user_money(i) + 500);
}
}
}
public amxbans_admin_connect(id){
client_authorized(id);
}
Ty to zawsze pomożesz
!
Edit:Chyba zapomniałem dodać menu broni
Jeżeli by się dało to zrobić ,byłbym bardzo wdzięczny
(Tak ,żeby się zgadzało z listą zestawów
)
Użytkownik Misiatyy<3 edytował ten post 17.08.2018 22:30