AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   i need some help with fm!! (https://forums.alliedmods.net/showthread.php?t=45704)

k007 10-09-2006 14:37

i need some help with fm!!
 
ok well im porting this plugin and they have this engine func
Code:
 radius_damage(nade, 108.0, fexplosion, 360.0, DMG_BLAST, "grenade", 0)
but i want to use fm so here is what i did
i added this to my plugin
Code:
stock fm_radius_damage(Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier) {  new pSearchEnt;  while( (pSearchEnt = engfunc(EngFunc_FindEntityInSphere,pSearchEnt, fExplodeAt, 5 * iRadiusMultiplier) ) != 0)  {   if(! (pev(pSearchEnt,pev_takedamage) & (1<<6)) )   {    new hp = pev(pSearchEnt,pev_health) - (10 + random_num(0,3) * iDamageMultiplier);    set_pev(pSearchEnt,pev_health,hp);        if(hp < 1) if(is_user_alive(pSearchEnt) ) dllfunc(DLLFunc_ClientKill,pSearchEnt)   }  }    while( (pSearchEnt = engfunc(EngFunc_FindEntityInSphere,pSearchEnt, fExplodeAt, 4 * iRadiusMultiplier) ) != 0)  {   if(! (pev(pSearchEnt,pev_takedamage) & (1<<6)) )   {    new hp = pev(pSearchEnt,pev_health) - (25 + random_num(0,3) * iDamageMultiplier);    set_pev(pSearchEnt,pev_health,hp);        if(hp < 1) if(is_user_alive(pSearchEnt) ) dllfunc(DLLFunc_ClientKill,pSearchEnt)   }  }    while( (pSearchEnt = engfunc(EngFunc_FindEntityInSphere,pSearchEnt, fExplodeAt, 3 * iRadiusMultiplier) ) != 0)  {   if(! (pev(pSearchEnt,pev_takedamage) & (1<<6)) )   {    new hp = pev(pSearchEnt,pev_health) - (50 + random_num(0,3) * iDamageMultiplier);    set_pev(pSearchEnt,pev_health,hp);        if(hp < 1) if(is_user_alive(pSearchEnt) ) dllfunc(DLLFunc_ClientKill,pSearchEnt)   }  }    while( (pSearchEnt = engfunc(EngFunc_FindEntityInSphere,pSearchEnt, fExplodeAt, 2 * iRadiusMultiplier) ) != 0)  {   if(! (pev(pSearchEnt,pev_takedamage) & (1<<6)) ) if(is_user_alive(pSearchEnt) ) dllfunc(DLLFunc_ClientKill,pSearchEnt)  }    return 1; }
and change the radius_damage to fm_radius_damge could someone tell me what im i doing wrong teame06 said something about origin but i didn't understand..

P34nut 10-09-2006 15:34

Re: i need some help with fm!!
 
This is how i did it (i didn't looked at your code)

Code:
stock fm_radius_damage(Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier) {     new ent = 0     while ((ent = fm_find_ent_in_sphere(ent, fExplodeAt, float(5 * iRadiusMultiplier))) > 0) {                 if (is_user_alive(ent) && !fm_get_user_godmode(ent)) {             new Float:plHealth             pev(ent, pev_health, plHealth)                         plHealth - 10.0 + random_float(0, 1 * iDamageMultiplier)                         if (plHealth < 1) {                 user_kill(ent)             } else {                 set_pev(ent, pev_health, plHealth)             }         }     }         ent = 0         while ((ent = fm_find_ent_in_sphere(ent, fExplodeAt, float(4 * iRadiusMultiplier))) > 0) {                 if (is_user_alive(ent)) && !fm_get_user_godmode(ent)) {             new Float:plHealth             pev(ent, pev_health, plHealth)                         plHealth - 25.0 + random_float(0, 2 * iDamageMultiplier)                         if (plHealth < 1) {                 user_kill(ent)             } else {                 set_pev(ent, pev_health, plHealth)             }         }     }         ent = 0         while ((ent = fm_find_ent_in_sphere(ent, fExplodeAt, float(3 * iRadiusMultiplier))) > 0) {                 if (is_user_alive(ent) && !fm_get_user_godmode(ent)) {             new Float:plHealth             pev(ent, pev_health, plHealth)                         plHealth - 50.0 + random_float(0, 3 * iDamageMultiplier)                         if (plHealth < 1) {                 user_kill(ent)             } else {                 set_pev(ent, pev_health, plHealth)             }         }     }         ent = 0         while ((ent = fm_find_ent_in_sphere(ent, fExplodeAt, float(2 * iRadiusMultiplier))) > 0) {         if (is_user_alive(ent) && !fm_get_user_godmode(ent))             user_kill(ent)     }     }


All times are GMT -4. The time now is 04:46.

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