Raised This Month: $ Target: $400
 0% 

I need help with this plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
k007
BANNED
Join Date: Mar 2006
Location: bacon?
Old 06-11-2006 , 15:17   I need help with this plugin
Reply With Quote #1

k guys this is a plugin i made. it compile fines no errors but like the nades don't work and it keep giving people infit nades so someone help me plz
Code:
#include <amxmodx> #include <fakemeta> #include <engine> #include <fun> #include <cstrike>   new bool:gPauseEntity[1024] new Float:gNadeSpeed new gSpriteTrail new gSuperNade[33][1024] new g_iMaxPlayers   public plugin_init() {         register_plugin("Super nade ", "1.0", "k007")         register_cvar("Supernade_grenademult", "1.0")         register_cvar("Supernade_cooldown", "120.0")         register_cvar("Supernade_nadespeed", "900")         register_srvcmd("Supernade_init", "Supernade_init")         register_event("Damage", "Supernade_damage", "b", "2!0")         register_event("CurWeapon", "Supernade_weapons", "be", "1=1")         register_forward(FM_Think, "fw_entity_think", 0)         register_logevent("round_start", 2, "1=Round_Start")                 g_iMaxPlayers = get_maxplayers() }   public plugin_precache()         gSpriteTrail = precache_model("sprites/smoke.spr")   public Supernade_init() {         new temp[6]         read_argv(1,temp,5)         new id = str_to_num(temp)                 if ( is_user_alive(id) ) {                 Supernade_weapons(id)         } }   public Supernade_weapons(id) {         if ( is_user_alive(id) ) {                 give_item(id, "weapon_hegrenade")         } }   public find_target(parm[]) {         new grenadeID = parm[0]         new grenadeOwner = parm[1]                 if ( is_valid_ent(grenadeID) ) {                 new shortestDistance = 9999                 new nearestPlayer = 0                 new distance, team[33], rgb[3], players[32], pnum                                 get_user_team(grenadeOwner, team, 32)                                                 if ( cs_get_user_team(grenadeOwner) == CS_TEAM_CT ) {                         get_players(players, pnum, "ae", "TERRORIST")                         rgb = {50, 50, 175}                 }                 else {                         get_players(players, pnum, "ae", "CT")                         rgb = {175, 50, 50}                 }                                                 for (new i = 0; i < pnum; i++) {                         if ( !is_user_alive(players[i]) ) continue                                                 distance =  get_entity_distance(players[i], grenadeID)                                                 if ( distance <= shortestDistance ) {                                 shortestDistance = distance                                 nearestPlayer = players[i]                         }                 }                                                 if ( nearestPlayer > 0 ) {                                                 message_begin(MSG_BROADCAST, SVC_TEMPENTITY)                         write_byte(22)                                         write_short(grenadeID)                                 write_short(gSpriteTrail)                           write_byte(10)                                 write_byte(3)                                 write_byte(rgb[0])                             write_byte(rgb[1])                           write_byte(rgb[2])                             switch(random_num(0,2)) {                                 case 0:write_byte(64)                                     case 1:write_byte(128)                                 case 2:write_byte(192)                         }                         message_end()                                                 parm[2] = nearestPlayer                         set_task(0.1, "seek_target", grenadeID+1000, parm, 3, "b")                 }         } }   //---------------------------------------------------------------------------------------------- public seek_target(parm[]) {         new grenade = parm[0]         new target = parm[2]                 if ( !is_valid_ent(grenade) ) {                 remove_task(grenade+1000)                 return         }                 if ( is_user_alive(target) ) {                 entity_set_follow(grenade, target)         }         else {                                 remove_task(grenade+1000)                                                 message_begin(MSG_BROADCAST, SVC_TEMPENTITY)                 write_byte(99)                             write_short(grenade)                     message_end()                                                 set_task(0.1, "find_target", 0, parm, 3)         } }   //---------------------------------------------------------------------------------------------- stock entity_set_follow(entity, target) {         if ( !is_valid_ent(entity) || !is_user_alive(target) ) return 0                 new Float:fl_Origin[3], Float:fl_EntOrigin[3]         entity_get_vector(target, EV_VEC_origin, fl_Origin)         entity_get_vector(entity, EV_VEC_origin, fl_EntOrigin)                 new Float:fl_InvTime = (gNadeSpeed / vector_distance(fl_Origin, fl_EntOrigin))                 new Float:fl_Distance[3]         fl_Distance[0] = fl_Origin[0] - fl_EntOrigin[0]         fl_Distance[1] = fl_Origin[1] - fl_EntOrigin[1]         fl_Distance[2] = fl_Origin[2] - fl_EntOrigin[2]                 new Float:fl_Velocity[3]         fl_Velocity[0] = fl_Distance[0] * fl_InvTime         fl_Velocity[1] = fl_Distance[1] * fl_InvTime         fl_Velocity[2] = fl_Distance[2] * fl_InvTime                 entity_set_vector(entity, EV_VEC_velocity, fl_Velocity)                 new Float:fl_NewAngle[3]         vector_to_angle(fl_Velocity, fl_NewAngle)         entity_set_vector(entity, EV_VEC_angles, fl_NewAngle)                 return 1 } //---------------------------------------------------------------------------------------------- public pfn_touch(ptr, ptd) {               if ( !is_valid_ent(ptr) || !is_valid_ent(ptd) ) return                 new szClassNamePtr[32], szClassNamePtd[32]         entity_get_string(ptr, EV_SZ_classname, szClassNamePtr, 31)         entity_get_string(ptd, EV_SZ_classname, szClassNamePtd, 31)                 if ( !equal(szClassNamePtr, "grenade") && !equal(szClassNamePtd, "player") ) return         if ( !gPauseEntity[ptr] ) return                 if ( !is_user_connected(ptd) || get_user_godmode(ptd) ) return                 new grenadeOwner = entity_get_edict(ptr, EV_ENT_owner)                 if ( cs_get_user_team(grenadeOwner) == cs_get_user_team(ptd) ) return                 new parm[2]         parm[0] = ptr         parm[1] = grenadeOwner         unpause_nade(parm) } //---------------------------------------------------------------------------------------------- public unpause_nade(parm[]) {         new ent = parm[0]         new id = parm[1]                 remove_task(ent)                 gSuperNade[id][ent] = true         set_task(0.4, "nade_reset", 0, parm, 2)                 gPauseEntity[ent] = false } //---------------------------------------------------------------------------------------------- public nade_reset(parm[]) {         new ent = parm[0]         new id = parm[1]                 gSuperNade[id][ent] = false } //---------------------------------------------------------------------------------------------- public fw_entity_think(ent) {         if (ent > sizeof(gPauseEntity)-1 ) return FMRES_IGNORED                 if ( gPauseEntity[ent] ) {                 new Float:nextThink = entity_get_float(ent, EV_FL_nextthink)                 set_pev(ent, pev_nextthink, nextThink + 0.1)                 return FMRES_SUPERCEDE         }                 return FMRES_IGNORED } //---------------------------------------------------------------------------------------------- public Supernade_damage(id) {         if ( is_user_connected(id) ) return                 new damage = read_data(2)         new weapon, bodypart, attacker = get_user_attacker(id, weapon, bodypart)                 if ( attacker == 0 && weapon == 0 && is_user_connected(id) ) {                 for ( new atkr = 1; atkr <= g_iMaxPlayers; atkr++ ) {                         if ( is_user_connected(atkr) ) {                                 for(new i = g_iMaxPlayers + 1; i < sizeof(gPauseEntity)-1; i++) {                                         if ( gSuperNade[atkr][i] ) {                                                 if ( is_user_alive(id) ) {                                                                                                                 new extraDamage = floatround(damage * get_cvar_float("supernade_grenademult") - damage)                                                         if (extraDamage > 0 && get_user_health(id) < extraDamage) shExtraDamage(id, atkr, "grenade")                                                         else if(extraDamage > 0)                                                                 fakedamage(id,"grenade",float(extraDamage),DMG_CRUSH)                                                 }                                                                                                 new parm[2]                                                 parm[0] = i                                                 parm[1] = atkr                                                                                                 set_task(0.2, "cooldown", 0, parm, 2)                                                                                                 return                                         }                                 }                         }                 }         }                 if ( attacker <= 0 || attacker > g_iMaxPlayers ) return                 if (is_user_connected(id) && weapon == CSW_HEGRENADE ) {                 if ( is_user_alive(id) ) {                         new extraDamage = floatround(damage * get_cvar_float("supernade_grenademult") - damage)                         if (extraDamage > 0 && get_user_health(id) < extraDamage) shExtraDamage(id, id, "grenade")                         else if(extraDamage > 0)                                 fakedamage(id,"grenade",float(extraDamage),DMG_CRUSH)                 }                 for(new i = g_iMaxPlayers; i < sizeof(gPauseEntity)-1; i++) {                         if ( gSuperNade[attacker][i] ) {                                 new parm[2]                                 parm[0] = i                                 parm[1] = attacker                                                                 set_task(0.2, "cooldown", 0, parm, 2)                         }                 }         } } //---------------------------------------------------------------------------------------------- public cooldown(parm[]) {         new grenade = parm[0]         new id = parm[1]                 gSuperNade[id][grenade] = false                 if ( !is_user_alive(id) ) return                 } //---------------------------------------------------------------------------------------------- public round_start() {               for(new i = g_iMaxPlayers; i < sizeof(gPauseEntity)-1; i++) {                 gPauseEntity[i] = false         } }   shExtraDamage(id, victim, weaponDescription[] ) {           new namea[32],namev[32],authida[35],authidv[35],teama[16],teamv[16]           //Info On Attacker         get_user_name(id,namea,31)         get_user_team(id,teama,15)         get_user_authid(id,authida,34)           //Info On Victim         get_user_name(victim,namev,31)         get_user_team(victim,teamv,15)         get_user_authid(victim,authidv,34)                 user_kill(victim,0)           //Log This Kill         if ( id != victim ) {                 log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",                         namea,get_user_userid(id),authida,teama,namev,get_user_userid(victim),authidv,teamv, weaponDescription )         }         else {                 log_message("^"%s<%d><%s><%s>^" committed suicide with ^"%s^"",                         namea,get_user_userid(id),authida,teama, weaponDescription )         } }
k007 is offline
Send a message via MSN to k007
 


Thread Tools
Display Modes

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:08.


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