| closedCamping sniper punish - Plz help |
| Started by Dr.G on 03-23-2008, 05:24 PM |
Threads: 75
Joined: Nov 2007
hey guys i found this plugin http://forums.alliedmods.net/showthread.php?p=13072 and liked the idea, so i made some small changes a got it working for dod, almost. I can get the client to drop the weapon but not to get the melee.rnrnThe thing with the melee i got from the eviladmin plugin and tryed to fit it in and it almost looks like its working i get these error when i try to complie it:rnrn
Your plugin failed to compile! Read the errors below:rnrnWelcome to the AMX Mod X 1.76-300 Compiler.rnCopyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Teamrnrn/home/groups/amxmodx/tmp3/phpIbXZxN.sma(44) : warning 217: loose indentationrn/home/groups/amxmodx/tmp3/phpIbXZxN.sma(44) : error 076: syntax error in the expression, or invalid function callrn/home/groups/amxmodx/tmp3/phpIbXZxN.sma(49) : warning 217: loose indentationrn/home/groups/amxmodx/tmp3/phpIbXZxN.sma(52) : error 076: syntax error in the expression, or invalid function callrn/home/groups/amxmodx/tmp3/phpIbXZxN.sma(56) : warning 217: loose indentationrnrn2 Errors.rnCould not locate output file /home/groups/amxmodx/public_html/websc3/phpIbXZxN.amx (compile failed).rnrnrnrnThis is the original code:rn/* AMX Mod X script. rn* rn* (c) Copyright 2002, OLOrn* (c) Copyright 2002-2003, Mike Cao (mike@mikecao.com)rn* (c) Copyright 2003, NitrX (nitrx@djeyl.net)rn* Ported By KingPin(www.kingpinservers.com). I take no responsibilityrn* for this file in any way. Use at your own risk. No warranties of any kind.rn* rn* Thx to Camper Detector from OLO & Admin Disarm from Mike Cao.rn* This file is provided as is (no warranties).rn* rn*/rnrn#include <amxmodx>rn#include <amxmisc>rn#include <fun>rnrnnew bool:camp_checkme[33]rnnew camp_pos[33][3]rnrnpublic checksniper(param[]){rn new origin[3], id = param[0]rn camp_checkme[id] = truern get_user_origin(id,origin)rn if ( get_distance(origin,camp_pos[id]) > 300 ) returnrn new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)rn new wpnname[32], name[32]rn get_user_name(id,name,31)rn get_weaponname(wpnid,wpnname,31)rn set_hudmessage(200, 100, 0, 0.05, 0.55, 0, 6.0, 7.0, 0.5, 0.15, 1)rn show_hudmessage(0,"%s camps with %s,^nlet's disarm him !",name,wpnname[7])rn rn get_user_origin(id,origin)rn origin[2] -= 2000rn set_user_origin(id,origin)rn new iweapons[32], wpname[32], inumrn get_user_weapons(id,iweapons,inum)rn for(new a=0;a<inum;++a){rn get_weaponname(iweapons[a],wpname,31)rn engclient_cmd(id,"drop",wpname)rn }rn engclient_cmd(id,"weapon_knife")rn origin[2] += 2005rn set_user_origin(id,origin)rn rn}rnrnpublic startchecking(id){rn if ( !camp_checkme[id] ) returnrn camp_checkme[id] = falsern new param[2]rn param[0] = idrn get_user_origin(id,camp_pos[id])rn set_task(8.0,"checksniper",id,param,1)rn}rnrnpublic removechecking(id){rn camp_checkme[id] = truern remove_task(id)rn}rnrnpublic client_connect(id){rn camp_checkme[id] = truern return PLUGIN_CONTINUErn}rnrnpublic plugin_init() {rn register_plugin("Camp Disarm","0.1","NitrX")rn register_event("SetFOV","startchecking","be","1<50")rn register_event("SetFOV","removechecking","be","1=90")rn return PLUGIN_CONTINUErn}rnrnrnAnd this is what i tryed to get working:rnrn/* AMX Mod X script. rn* rn* (c) Copyright 2002, OLOrn* (c) Copyright 2002-2003, Mike Cao (mike@mikecao.com)rn* (c) Copyright 2003, NitrX (nitrx@djeyl.net)rn* Ported By KingPin(www.kingpinservers.com). I take no responsibilityrn* for this file in any way. Use at your own risk. No warranties of any kind.rn* rn* Thx to Camper Detector from OLO & Admin Disarm from Mike Cao.rn* This file is provided as is (no warranties).rn* rn*/rnrn#include <amxmodx>rn#include <amxmisc>rn#include <fun>rn#include <engine>rn#include <dodx>rn#include <dodfun>rnrnnew bool:camp_checkme[33]rnnew camp_pos[33][3]rnrnpublic checksniper(param[]){rn new origin[3], id = param[0]rn camp_checkme[id] = truern get_user_origin(id,origin)rn if ( get_distance(origin,camp_pos[id]) > 300 ) returnrn new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)rn new wpnname[32], name[32]rn get_user_name(id,name,31)rn get_weaponname(wpnid,wpnname,31)rn client_print(id, print_chat, "You have been camping with a sniper rifle... /nHave fun with a melee sissy.. ",name,wpnname[7])rn rn get_user_origin(id,origin)rn origin[2] -= 2000rn set_user_origin(id,origin)rn new iweapons[32], wpname[32], inumrn get_user_weapons(id,iweapons,inum)rn for(new a=0;a<inum;++a){rn get_weaponname(iweapons[a],wpname,31)rn client_cmd(id,"drop",wpname)rn }rn if(get_user_team == AXIS){rn if(dod_get_map_info(MI_AXIS_PARAS) == 1){rn client_cmd(id,"weapon_gerknife")rn set_user_origin(id,origin)rn }rn else if(dod_get_map_info(MI_AXIS_PARAS) == 0){rn client_cmd(id,"weapon_spade")rn }rn else if(get_user_team == ALLIES){rn if(dod_get_map_info(MI_ALLIES_TEAM) == 1){rn client_cmd(id,"weapon_gerknife")rn }rn else if(dod_get_map_info(MI_ALLIES_TEAM) == 0){rn client_cmd(id,"weapon_amerknife")rn }rn }rn }rn}rnpublic startchecking(id){rn if ( !camp_checkme[id] ) returnrn camp_checkme[id] = falsern new param[2]rn param[0] = idrn get_user_origin(id,camp_pos[id])rn set_task(45.0,"checksniper",id,param,1)rn}rnrnpublic removechecking(id){rn camp_checkme[id] = truern remove_task(id)rn}rnrnpublic client_connect(id){rn camp_checkme[id] = truern return PLUGIN_CONTINUErn}rnrnpublic plugin_init() {rn register_plugin("Camp Disarm","0.1","NitrX")rn register_event("SetFOV","startchecking","be","1<50")rn register_event("SetFOV","removechecking","be","1=90")rn return PLUGIN_CONTINUErn}rnrnrnHope its a small problem that can be fixed.. Iam a complet n00b at this..rnrnCheers..Threads: 103
Joined: May 2005
the syntax errors...nnget_user_teamnnyou need to use like get_user_team(id)nnnloose indentation warnings can be ignored.. just do to inconsistence indents.. ctrl-i in amxx studio should fix those
Threads: 75
Joined: Nov 2007
Thx alot now it compiles with no error, but it frezzes u and u get the pistol...rnrn
rnrnAny idea what causes that?rnrnThe code looks like this now:rnrn
//* AMX Mod X script. rnrn#include <amxmodx>rn#include <amxmisc>rn#include <fun>rn#include <engine>rn#include <dodx>rn#include <dodfun>rnrnnew bool:camp_checkme[33]rnnew camp_pos[33][3]rnrnpublic checksniper(param[]){rn new origin[3], id = param[0]rn camp_checkme[id] = truern get_user_origin(id,origin)rn if ( get_distance(origin,camp_pos[id]) > 300 ) returnrn new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)rn new wpnname[32], name[32]rn get_user_name(id,name,31)rn get_weaponname(wpnid,wpnname,31)rn client_print(id, print_chat, "You have been camping with a sniper rifle... Have fun with a melee sissy.. ",name,wpnname[7])rn rn get_user_origin(id,origin)rn origin[2] -= 2000rn set_user_origin(id,origin)rn new iweapons[32], wpname[32], inumrn get_user_weapons(id,iweapons,inum)rn for(new a=0;a<inum;++a){rn get_weaponname(iweapons[a],wpname,31)rn client_cmd(id,"drop",wpname)rn }rn if(get_user_team(id) == AXIS){rn if(dod_get_map_info(MI_AXIS_PARAS) == 1){rn client_cmd(id,"weapon_gerknife")rn set_user_origin(id,origin)rn }rn else if(dod_get_map_info(MI_AXIS_PARAS) == 0){rn client_cmd(id,"weapon_spade")rn }rn else if(get_user_team(id) == ALLIES){rn if(dod_get_map_info(MI_ALLIES_TEAM) == 1){rn client_cmd(id,"weapon_gerknife")rn }rn else if(dod_get_map_info(MI_ALLIES_TEAM) == 0){rn client_cmd(id,"weapon_amerknife")rn }rn }rn }rn}rnpublic startchecking(id){rn if ( !camp_checkme[id] ) returnrn camp_checkme[id] = falsern new param[2]rn param[0] = idrn get_user_origin(id,camp_pos[id])rn set_task(45.0,"checksniper",id,param,1)rn}rnrnpublic removechecking(id){rn camp_checkme[id] = truern remove_task(id)rn}rnrnpublic client_connect(id){rn camp_checkme[id] = truern return PLUGIN_CONTINUErn}rnrnpublic plugin_init() {rn register_plugin("Camp Disarm","0.1","NitrX")rn register_event("SetFOV","startchecking","be","1<50")rn register_event("SetFOV","removechecking","be","1=90")rn return PLUGIN_CONTINUErn}rnrnrnThx in advance...Threads: 75
Joined: Nov 2007
Anyone? Cmon i dont think iam the only one that will use this when its running without errors... ;)
Threads: 7
Joined: Nov 2006
Haha,nI think the way you're forcing weapon drops is a problem, because users cannot drop the pistol.nThe function you want is strip_user_weapons(id)nYou'll need to include fun (which you already have) for it to work. More info on the function here:nhttp://www.amxmodx.org/funcwiki.php?go=func&id=577nnThat will remove all weapons, including knife, so if you want them the option of a pistol or anything else, you will need to re-give that (i'm assuming you don't).nnAlso in your first team check, for axis, you set the user origin, but not in any other of your if/else statements - I'm not sure that this is an error, but revisit that and make sure it makes sense for what you want - from what i can tell, it's not necessary since stripping and giving weapons would mean they no longer have a sniper, and it's not important to change their origin, but I may have misunderstood!

