AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Zombie Plague Mod (https://forums.alliedmods.net/forumdisplay.php?f=126)
-   -   Subplugin Submission [ZP] Class & Extra: Smoker (v1.3) & Drag ability (v1.1) (https://forums.alliedmods.net/showthread.php?t=90309)

4eRT 04-16-2009 14:16

[ZP] Class & Extra: Smoker (v1.3) & Drag ability (v1.1)
 
6 Attachment(s)
Rant:
Current version: 1.3
* -----------------------------------
* ---[ZP] Zombie Class: Smoker------
* -----------------------------------
* ------Author: 4eRT (aka pff)-------
* -----------------------------------
* About:
* When Left4Dead came out i immediately thought about Zombie Class Smoker plugin.
* More later(few days ago) I was playing on Superhero Server when i found Scorpion hero.
* So it was the way to create this plugin.
* -----------------------------------
* Discription:
* Smoker is another zombie class for zombie plague like Smoker in L4D.
* He can drags humans by holding "V" or +USE like /\...yeah, like Smoker. If Smoker receives
* 300 damage by human drag ends. If he falls or hurts more 25 dmg drag ends to.
* Drag speed, max drags, cooldown, drag teammates, additional hooks, unable to move & damage to stop
* may be customized by Cvars.
* -----------------------------------
* Credits:
* yang - great thanks for his Scorpion superhero plugin where I borrow harpoon&drag code.
* 5c0r-|3i0 - for his converted Smoker sounds.
* xPaw - for help optimization plugin. For Entity_Set_Vector.
* frk_14 - for his Smoker model.
* Lightokun - for code optimization
* -----------------------------------
* Cvars:
* zp_smoker_maxdrags 10 // how many times Smoker can drag player to himself? def=10
* zp_smoker_dragspeed 160 // speed of dragging player to Smoker def=160
* zp_smoker_cooldown 5 // time in sec before you can use drag again. def=5
* zp_smoker_mates 0 // can Smoker drag teammates to? 1=yes 0=no def=0
* zp_smoker_dmg2stop 300 // damage to stop dragging def=300
* zp_smoker_extrahook 2 // additional hooks after Smoker infects smb. def=2
* zp_smoker_unable_move 1 // 0=human & Smoker can move / 1=unable human to move when dragging / 2=unable Smoker to move / 3=unable both
* zp_smoker_nemesis 0 // 0=Smoker can't drag players if he is Nemesis / 1=Smoker can. def=0
* zp_smoker_survivor 1 // 0=Smoker can't drag Survivor / 1=Smoker can. def=1
* -----------------------------------
* Modules:
* fakemeta
* hamsandwich
* engine
* -----------------------------------
* History(beta):
* 0.0b (14.04.09)
* Most of code converted from sh_scorpion. Added 3 cvars.
* 0.1b (15.04.09)
* Added cooldown, autobind, damage to stop and its cvars.
* Beta testing. First view works perfectly...<- It was wrong belief...>_<
* 0.2b (17.04.09)
* Entvars_Set_Vector now uses engine, not Vexd_Utilities.inc
* 0.3b (19.04.09)
* Fixed cooldown. Now it works more stably. Reduced minimum drag distance.
* 0.3.1b (21.04.09)
* Cooldown works more, more stably. After re-infecting Smoker can use drag
* X times(cvar_maxdrags) if drags left when he was zombie last time.
* Added Smoker model(+modelT.mdl precacher).
* 0.3.2b (28.04.09)
* Changed Smoker model(lite+without T.mdl -> deleted T.mdl precacher)
* Added 3rd option to zp_smoker_bind - bind on +USE
* 1.0 (09.01.10)
* Yeah. It's not beta now. :) Added autobind menu. Now player can choose: bind V +drag or hold +use to drag. Removed bind cvar.
* Fixed cooldown. Fixed teammate drag. Added extra drag-cvar for infection.
* 1.1 (09.01.10)
* Added unmovable cvar. Added Nemesis and Survivor cvars.
* 1.2 (12.01.10)
* Code optimized. Fixed bugs.
* 1.3 (17.01.10)
* Code optimized.
* -----------------------------------
* PS:
* It's my second useful plugin for amxx so...
* PPS:
* Put zombie_smoker folder to %csdir%\models\player\
* Put sound folder to %csdir%\ and replace sound.

* -----------------------------------

Rant:
Current version: 1.0
* -----------------------------------
* -----[ZP] Extra Item: Drag---------
* -----------------------------------
* ------Author: 4eRT (aka pff)-------
* -----------------------------------
* About:
* Extra Item for Zombies: drag ability. It works like Smoker drag.
* -----------------------------------
* Discription:
* It's similar Smoker zombie ability. With this extra you can drag players by holding "V" or +USE
* Drag speed, max drags, cooldown, drag teammates, unable to move may be customized by Cvars.
* -----------------------------------
* Credits:
* yang - great thanks for his Scorpion superhero plugin where I borrow harpoon&drag code.
* xPaw - really thx for help optimization Smoker plugin. For Entity_Set_Vector.
* -----------------------------------
* Cvars:
* zp_extra_drag_drags 10 // how many times you can drag player? def=10
* zp_extra_drag_dragspeed 160 // speed of dragging player. def=160
* zp_extra_drag_cooldown 5 // time in sec before you can use drag again. def=5
* zp_extra_drag_mates 0 // can you drag teammates to? 1=yes 0=no def=0
* zp_extra_drag_dmg2stop 300 // damage to stop dragging. set 0 to disable it. def=300
* zp_extra_drag_extrahook 2 // additional hooks after infects smb. def=2
* zp_extra_drag_unable_move 1 // 0=human & you can move / 1=unable human to move when dragging / 2=unable you to move / 3=unable both
* zp_extra_drag_nemesis 0 // 0=can't drag players if is Nemesis round/ 1=can. def=0
* zp_extra_drag_survivor 1 // 0=can't drag Survivor / 1=can. def=1
* zp_extra_drag_reset 0 // 0=delete drag ability on humanizing / 1=not
* -----------------------------------
* Modules:
* hamsandwich
* fakemeta
* engine
* -----------------------------------
* History:
* 0.1b (14.01.10)
* First release.
* 1.0 (15.01.10)
* Barnacle hand model added. Code optimized.
* 1.1 (24.01.10)
* Fixed model bug.
* Put barnacle folder to %csdir%/models.
* -----------------------------------

YamiKaitou 04-16-2009 14:24

Re: [ZP] Class: Smoker
 
AMXX file removed, don't upload it again.

RAR files are not allowed, please remove it and upload it again as a valid format

4eRT 04-16-2009 14:26

Re: [ZP] Class: Smoker
 
Excuse me ^_^ pls

xPaw 04-16-2009 14:43

Re: [ZP] Class: Smoker
 
Well done :)

In fw_TakeDamage
Those
PHP Code:

 else {
            return 
HAM_IGNORED;
        } 

unneded.
------
Auto binding key is not the best way. And you should ask player before binding, else it will be slowhacking.
------
Use directrly TE_* not number in write_bytes

like here
PHP Code:

write_byte(1// TE_BEAMENTPOINT

// ->

write_byteTE_BEAMENTPOINT ); 

------
Use pcvars, they are faster.
------
You want server to use +drag too? :mrgreen:
PHP Code:

register_concmd("+drag","drag_start"ADMIN_USER"bind ^"key^" ^"+drag^"")

// ->

register_clcmd("+drag","drag_start"ADMIN_USER"bind ^"key^" ^"+drag^""

-----
You not forgot to check in 'drag_start' is user alive?
-----
You cant execute client_cmd() in client_disconnect() because this forward called after already disconnected player, so it will dont have sense.
-----
Quote:

* It needs Vexd_utilities!. If you need this PM me.
Why? if you want to get this plugin approved, you should provide it with plugin, so everyone could compile it, btw you maybe could try include those stocks into plugin.

4eRT 04-16-2009 15:03

Re: [ZP] Class: Smoker
 
Thanks for your advices!! Will know!
-----
In drag_start is_user_alive already checked.
-----
On my server auto binding is very useful...becouse a lot of people don't know how bind key.
zp_smoker_bind 0/1 - allows to disable autobind.

Mauricio 04-16-2009 19:00

Re: [ZP] Class: Smoker
 
does it has a model?? or well, i think frk_14 made 1 or somebody made it, iŽll search for it ;)

ConnorMcLeod 04-16-2009 19:08

Re: [ZP] Class: Smoker
 
Update the plugin without the need of this old vexd .inc ?

mando127 04-16-2009 22:20

Re: [ZP] Class: Smoker
 
my clan made one.

beckham9224 04-16-2009 22:56

Re: [ZP] Class: Smoker
 
AWESOMENESS M8!!!

Anggara_nothing 04-17-2009 04:14

Re: [ZP] Class: Smoker
 
Quote:

Originally Posted by ConnorMcLeod (Post 807115)
Update the plugin without the need of this old vexd .inc ?

Quote:

#include <Vexd_Utilities>
change to:
Quote:

#include <engine>
and add :
PHP Code:

stock Entvars_Set_Vector(iIndexiVariableFloat:vNewVector[3])
{
    return 
entity_set_vector(iIndexiVariablevNewVector)




All times are GMT -4. The time now is 21:05.

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