Raised This Month: $32 Target: $400
 8% 

WeapPickup not working!


Post New Thread Reply   
 
Thread Tools Display Modes
Foxa
Member
Join Date: Nov 2018
Location: Croatia
Old 07-06-2020 , 20:48   Re: WeapPickup not working!
Reply With Quote #11

PHP Code:
#include <amxmodx>
#include <amxmisc>

#include <hamsandwich>
#include <fakemeta>
#include <cstrike>

#define PLUGIN "Test"
#define VERSION "Test"
#define AUTHOR "Test"

#define XO_WEAPONBOX    4         //weaponbox constants since knowing ALL the numbers is hard
#define m_rgpPlayerItems_wpnbx_slot1 35

#pragma semicolon 1

new g_iTouched[33]; //only needed if you want to print out a message that the AWP is blocked

public plugin_init(){
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
RegisterHam(Ham_Touch"weaponbox""ham_TouchWeapon");
}

public 
client_authorized(idg_iTouched[id]=0//resets the variable when a player connects

public ham_TouchWeapon(iwpnid){
    if(
is_user_alive(id) && pev(iwpnpev_flags) & FL_ONGROUND){  //check the correct flags
        
new weapon=get_pdata_cbase(iwpnm_rgpPlayerItems_wpnbx_slot1XO_WEAPONBOX); //get the weapon
        
if(weapon>&& cs_get_weapon_id(weapon)==CSW_AWP){ //check if its the AWP
            
if(g_iTouched[id]!=iwpn//check if user already touched the AWP so you dont constantly repeat the same message to them
                
client_print(idprint_chat"AWP has been blocked!");
            
            
g_iTouched[id]=iwpn//they touched the awp
            
return HAM_SUPERCEDE//block the pickup
        
}
    }
    return 
HAM_IGNORED;
}

//comment out below this if you dont want to block the BUY option

public client_command(id){
    static 
command[8];
    if(
read_argv(0commandcharsmax(command))<7)
        return 
awp_check(idcommand);
    
    return 
PLUGIN_CONTINUE;
}

awp_check(id, const command[]){
    if(
equali(command"awp")){
        
client_print(idprint_chat"AWP has been blocked!");
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;

Foxa is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 07-07-2020 , 03:04   Re: WeapPickup not working!
Reply With Quote #12

Code:
public plugin_init() {              register_event("CurWeapon", "event_CurWeapon", "be", "1=1") } public event_CurWeapon(id)     {     if(read_data(2) == CSW_AWP)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED }
__________________
Jailbreak AD 2.0

The greatest civilization of 🇮🇷IRAN🇮🇷

Last edited by alferd; 07-07-2020 at 03:04.
alferd is offline
JocAnis
Veteran Member
Join Date: Jun 2010
Old 07-07-2020 , 12:40   Re: WeapPickup not working!
Reply With Quote #13

Quote:
Originally Posted by alferd View Post
Code:
public plugin_init() {              register_event("CurWeapon", "event_CurWeapon", "be", "1=1") } public event_CurWeapon(id)     {     if(read_data(2) == CSW_AWP)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED }
did you hear about 'Indent' term? lol
__________________
KZ Public Autocup - PrimeKZ

My blog: http://primekz.xyz (in progress...) - not active (dec 2022)
JocAnis is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 07-07-2020 , 14:00   Re: WeapPickup not working!
Reply With Quote #14

Quote:
Originally Posted by JocAnis View Post
did you hear about 'Indent' term? lol
no
:/
__________________
Jailbreak AD 2.0

The greatest civilization of 🇮🇷IRAN🇮🇷
alferd is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-07-2020 , 14:52   Re: WeapPickup not working!
Reply With Quote #15

@alferd - again a poor solution, 100 times worse than the current one. Why would you drop the weapon when picking it up rather than blocking the entire pickup process? Again - expand your knowledge before trying to help. You posted quite some unnecessary comments these days. Beginners could get confused from your attempts to help or learn suboptimal ways of dealing with problems.

PS: the least you can do is pass the AWP id in the "register_event" function directly. No need to use "read_data".
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 07-08-2020 , 02:44   Re: WeapPickup not working!
Reply With Quote #16

@OciXCrom: The code I sent is still visible in the plugins

Code:
#define DAMAGE_RECIEVED #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> static const COLOR[] = "^x04" //green static const CONTACT[] = "" new maxplayers new gmsgSayText new mpd, mkb, mhb new g_MsgSync new health_add new health_hs_add new health_max new nKiller new nKiller_hp new nHp_add new nHp_max new g_awp_active new g_menu_active new round; new bool:HasC4[33] #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890 #if defined DAMAGE_RECIEVED     new g_MsgSync2 #endif public plugin_init() {     register_plugin("VIP", "2.05", "Dunno")     mpd = register_cvar("money_per_damage","3")     mkb = register_cvar("money_kill_bonus","200")     mhb = register_cvar("money_hs_bonus","500")     health_add = register_cvar("amx_vip_hp", "15")     health_hs_add = register_cvar("amx_vip_hp_hs", "30")     health_max = register_cvar("amx_vip_max_hp", "100")     g_awp_active = register_cvar("awp_active", "1")     g_menu_active = register_cvar("menu_active", "1")     register_event("Damage","Damage","b")     register_event("DeathMsg","death_msg","a")     register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")     register_clcmd("awp","HandleCmd")         register_clcmd("sg550","HandleCmd")         register_clcmd("g3sg1","HandleCmd")
        register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
        register_event("CurWeapon", "event_CurWeaponn", "be", "1=1")
        register_event("CurWeapon", "event_CurWeaponnn", "be", "1=1")
    register_clcmd("say /vip","ShowMotd")     maxplayers = get_maxplayers()     gmsgSayText = get_user_msgid("SayText")     register_clcmd("say", "handle_say")     register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)     RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)     register_event("HLTV", "event_new_round", "a", "1=0", "2=0")     register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")     register_event("DeathMsg", "hook_death", "a", "1>0")     register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")     g_MsgSync = CreateHudSyncObj() #if defined DAMAGE_RECIEVED     g_MsgSync2 = CreateHudSyncObj() #endif  } public on_damage(id) {     new attacker = get_user_attacker(id) #if defined DAMAGE_RECIEVED     // id should be connected if this message is sent, but lets check anyway     if ( is_user_connected(id) && is_user_connected(attacker) )     if (get_user_flags(attacker) & ADMIN_LEVEL_H)     {         new damage = read_data(2)         set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)         ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage) #else     if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )     {         new damage = read_data(2) #endif         set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)         ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)     } } public Damage(id) {     new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)     if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)     if (get_user_flags(attacker) & ADMIN_LEVEL_H)     {         new money = read_data(2) * get_pcvar_num(mpd)         if(hitpoint==1) money += get_pcvar_num(mhb)         cs_set_user_money(attacker,cs_get_user_money(attacker) + money)     } } public death_msg() {     if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300) } public fwHamPlayerSpawnPost() {     new players[32], player, pnum;     get_players(players, pnum, "a");     for(new i = 0; i < pnum; i++)     {         player = players[i];         if(is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)         {         give_item(player, "weapon_hegrenade");         give_item(player, "weapon_flashbang");         give_item(player, "weapon_flashbang");         give_item(player, "weapon_smokegrenade");         give_item(player, "item_assaultsuit");         give_item(player, "item_thighpack");         }     }     return PLUGIN_HANDLED } public event_new_round() {     round++;     new players[32], player, pnum;     get_players(players, pnum, "a");     for(new i = 0; i < pnum; i++)     {         player = players[i];         if(get_user_flags(player) & ADMIN_LEVEL_H)         {         if (!get_pcvar_num(g_menu_active))             return PLUGIN_CONTINUE         if(round > 2)         {             Showrod(player);         }         }     }     return PLUGIN_HANDLED } public Event_RoundRestart(id) {     round=0; } public hook_death() {    // Killer id    nKiller = read_data(1)        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)    // Updating Killer HP    if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))    return;    nKiller_hp = get_user_health(nKiller)    nKiller_hp += nHp_add    // Maximum HP check    if (nKiller_hp > nHp_max) nKiller_hp = nHp_max    set_user_health(nKiller, nKiller_hp)    // Hud message "Healed +15/+30 hp"    set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)    show_hudmessage(nKiller, "Healed +%d hp", nHp_add)    // Screen fading    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()   } public Showrod(id) {     show_menu(id, Keysrod, "Free VIP Guns^n\w1. Get M4A1+Deagle ^n\w2. Get AK47+Deagle^n0. Exit^n", -1, "rod") // Display menu } public Pressedrod(id, key) {     /* Menu:     * VIP Menu     * 1. Get M4A1+Deagle     * 2. Get AK47+Deagle     * 0. Exit     */     switch (key) {         case 0: {             if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)                 HasC4[id] = true;             else                 HasC4[id] = false;                         strip_user_weapons (id)             give_item(id,"weapon_m4a1")             give_item(id,"ammo_556nato")             give_item(id,"ammo_556nato")             give_item(id,"ammo_556nato")             give_item(id,"weapon_deagle")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"weapon_knife")             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");             client_print(id, print_center, "You Taked Free M4A1 and Deagle")                         if (HasC4[id])             {                 give_item(id, "weapon_c4");                 cs_set_user_plant( id );             }             }         case 1: {             if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)                 HasC4[id] = true;             else                 HasC4[id] = false;                         strip_user_weapons (id)             give_item(id,"weapon_ak47")             give_item(id,"ammo_762nato")             give_item(id,"ammo_762nato")             give_item(id,"ammo_762nato")             give_item(id,"weapon_deagle")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"ammo_50ae")             give_item(id,"weapon_knife")             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");             client_print(id, print_center, "You Taked Free AK47 and Deagle")                         if (HasC4[id])             {                 give_item(id, "weapon_c4");                 cs_set_user_plant( id );             }             }         case 9: {               }     }     return PLUGIN_CONTINUE } public HandleCmd(id){     if (!get_pcvar_num(g_awp_active))       return PLUGIN_CONTINUE     if(get_user_flags(id) & ADMIN_LEVEL_H)         return PLUGIN_CONTINUE     client_print(id, print_center, "Sniper's Only For VIP's")     return PLUGIN_HANDLED }
 public event_CurWeapon(id)
    {     if(read_data(2) == CSW_AWP)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED }
 public event_CurWeaponn(id)
    {     if(read_data(2) == CSW_SG550)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED }
 public event_CurWeaponnn(id)
    {     if(read_data(2) == CSW_G3SG1)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED } public ShowMotd(id) {  show_motd(id, "Primesti HE,2FB,SG pe runda/nArmura+scut gratuite./nPrimesti 500$ pentru fiecare kill si 800$ pentru fiecare HS./nPrimesti 15HP pentru fiecare kill si 30HP pentru fiecare HS./nVezi damage in timp real./nScrie in chat /vips pentru a vedea persoanele VIP online./nPoti folosi chatul adminilor (u@)./nPrimesti automat nume rezervat./nLa fiecare runda castigata primesti arme gratuit!/nCare este pretul VIP-ului?/nSite: Www.KING0Gold.Ir") } public client_authorized(id) {  set_task(30.0, "PrintText" ,id) } public PrintText(id) {  client_print(id, print_chat, "[VIP] write /vip and u will see how get VIP and VIP privilegies.") } public handle_say(id) {     new said[192]     read_args(said,192)     if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )         set_task(0.1,"print_adminlist",id)     return PLUGIN_CONTINUE } public print_adminlist(user) {     new adminnames[33][32]     new message[256]     new contactinfo[256], contact[112]     new id, count, x, len         for(id = 1 ; id <= maxplayers ; id++)         if(is_user_connected(id))             if(get_user_flags(id) & ADMIN_LEVEL_H)                 get_user_name(id, adminnames[count++], 31)     len = format(message, 255, "%s VIP ONLINE: ",COLOR)     if(count > 0) {         for(x = 0 ; x < count ; x++) {             len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")             if(len > 96 ) {                 print_message(user, message)                 len = format(message, 255, "%s ",COLOR)             }         }         print_message(user, message)     }     else {         len += format(message[len], 255-len, "No VIP online.")         print_message(user, message)     }         get_cvar_string("amx_contactinfo", contact, 63)     if(contact[0])  {         format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)         print_message(user, contactinfo)     } } print_message(id, msg[]) {     message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)     write_byte(id)     write_string(msg)     message_end() }
__________________
Jailbreak AD 2.0

The greatest civilization of 🇮🇷IRAN🇮🇷
alferd is offline
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 07-08-2020 , 03:15   Re: WeapPickup not working!
Reply With Quote #17

It does not mean it's good code.
__________________
HamletEagle is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-08-2020 , 07:32   Re: WeapPickup not working!
Reply With Quote #18

Quote:
Originally Posted by alferd View Post
@OciXCrom: The code I sent is still visible in the plugins
Are those plugins declared as coding standards that everyone should follow? No. That plugin won't ever get approved nowadays. If it's currently approved, it probably happened 10+ years ago. Its code is straight up bad. If you want to learn, use new plugins with good codes.
__________________

Last edited by OciXCrom; 07-08-2020 at 07:33.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Foxa
Member
Join Date: Nov 2018
Location: Croatia
Old 07-08-2020 , 07:55   Re: WeapPickup not working!
Reply With Quote #19

Quote:
Originally Posted by alferd View Post
Code:
public plugin_init() {              register_event("CurWeapon", "event_CurWeapon", "be", "1=1") } public event_CurWeapon(id)     {     if(read_data(2) == CSW_AWP)         {         if(!(get_user_flags(id) & ADMIN_LEVEL_H))             {             client_print(id, print_center, "Sniper's Only For VIP's")             client_cmd(id, "drop")             }         }     return PLUGIN_HANDLED }
Why would you check if a player has a certain weapon if you can block the pickup/buying of the said weapon? This is not a good solution.
Foxa is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 07-08-2020 , 09:25   Re: WeapPickup not working!
Reply With Quote #20

Quote:
Originally Posted by HamletEagle View Post
It does not mean it's good code.
ok

I found better code

Code:
new const vipguns[][] = {     "weapon_awp", "weaopn_g3sg1" } public plugin_init() {     RegisterHam(Ham_Touch, "weaponbox", "fw_TouchWeapon");     RegisterHam(Ham_Touch, "armoury_entity", "fw_TouchWeapon") } public fw_TouchWeapon(weapon, id) {     if (!get_pcvar_num(g_sniper_pickup)) //Checks if g_sniper_pickup is disactivated (set to 0)         return PLUGIN_CONTINUE //If it is, let players pick up snipers             if (!is_user_alive(id) || get_user_flags(id) & VIP_FLAG)     {         return HAM_IGNORED     }         static classname[32]     pev(weapon, pev_classname, classname, charsmax(classname))       for(new i = 0; i < sizeof vipguns; i++)     if (g_bCurrentMapIsInList && equal(classname, vipguns[i]))     {         //Sends a message that snipers are only for VIP         client_print(id, print_center, "%L", id, "SNIPER_ONLY_FOR_VIP")         return HAM_SUPERCEDE     }     return HAM_IGNORED }
__________________
Jailbreak AD 2.0

The greatest civilization of 🇮🇷IRAN🇮🇷
alferd is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode