HEAL

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

16 Dec 2013, 09:45

Descriere: scrii /heal si incepi sa te regenerezi + o lumina albastra (ca pe mnx,scuze de reclama)

Descarcare:
| Afiseaza codul
//	Thanks to cruyff(CreateFade code) & MNX(idea)

#include <amxmodx>
#include <fun>

new const PLUGIN [] = "Medic !!"
new const VERSION [] = "1.2"
new const AUTHOR [] = "Akman"

new healcvar;
new healpertime;
new maxhp;
new htime;
new hsound;
new heffect;
new AAA;
new RRR;
new GGG;
new BBB;
new tag;

new bool:healthstart[33];

public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	//	Call the command !	//
	register_clcmd("medic","HookMedic");
	register_clcmd("say /heal","HookMedic");
	register_clcmd("say_team /heal","HookMedic");
	register_clcmd( "say", "Func_Say" );
	register_clcmd( "say_team", "Func_Say" );
	
	//	Cvars	//
	
	healcvar  = register_cvar("heal_hpstart","20");
	healpertime = register_cvar("heal_givehp","10");
	maxhp = register_cvar("heal_maxhp","100");
	htime = register_cvar("heal_time","5.0");
	hsound = register_cvar("heal_sound","1");
	heffect = register_cvar("heal_effect","1");
	AAA = register_cvar("heal_alpha","20");
	BBB = register_cvar("heal_blue","200");
	RRR = register_cvar("heal_red","0");
	GGG = register_cvar("heal_green","0");
	tag = register_cvar("heal_tag","[AMXX]");
	
}

public client_putinserver(id) healthstart[id] = false;

public health_scan(id)
{
	new xAAA = get_pcvar_num(AAA);
	new xRRR = get_pcvar_num(RRR);
	new xGGG = get_pcvar_num(GGG);
	new xBBB = get_pcvar_num(BBB);
	new htag[50];
	get_pcvar_string(tag, htag, 49);

	if(get_user_health(id) < get_pcvar_num(maxhp) && healthstart[id])
	{
		set_user_health(id, get_user_health(id) + get_pcvar_num(healpertime));

		if(get_pcvar_num(heffect))
		{
			CreateFade( id, xRRR, xGGG, xBBB, xAAA );
		}

		set_task(get_pcvar_float(htime), "health_scan", id);

		if(get_pcvar_num(hsound))
		{
			client_cmd(id, "spk HEALTH");
		}

		client_print(id, print_chat, "%s Heal in progress !",htag);
	}
	
	else
	{
		healthstart[id] = false
		remove_task(id);
		client_print(id, print_chat, "%s Heal finished !",htag);
		set_user_health(id, get_pcvar_num(maxhp));	
	}
}

public HookMedic(id)
{
	new htag[50];
	get_pcvar_string(tag, htag, 49);

	if(!healthstart[id])
	{
		if(get_user_health(id) < get_pcvar_num(healcvar)) 
		{
			healthstart[id] = true;
			client_print(id, print_chat, "%s Your heal is in progress !",htag);
			set_task(get_pcvar_float(htime), "health_scan", id);
			return 1;
		}
	
		else
		{
			client_print(id, print_chat, "%s You have to many health !",htag);
			return 1;
		}
	}
	
	else
	{
		client_print(id, print_chat, "%s Heal has been already started !",htag);
		return 1;
	}
	return 0;
}

public Func_Say( id )
{
	new szSaid[ 192 ];
	read_args( szSaid, sizeof( szSaid ) -1 );
	
	remove_quotes( szSaid );
	
	if( contain( szSaid, "heal" ) != -1 )
	{
		HookMedic(id);
	}
}

stock CreateFade( id, iRed, iGreen, iBlue, iAlpha )
{
	message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), { 0, 0, 0 }, id );
	
	write_short( 5 << 10 );
	write_short( 5 << 10 );
	write_short( 5 << 12 );
	
	write_byte( iRed );
	write_byte( iGreen );
	write_byte( iBlue );
	write_byte( iAlpha );
	
	message_end( );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang2057{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Nume: HEAL
Versiune: 1.2
Link oficial: ExtreamCS

Instalare:
1. Fisierul heal.sma il puneti in addons/amxmodx/scripting
2. Fisierul heal.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

heal.amxx

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):

  • heal_givehp 10 - cat hp sati dea !
    heal_starthp 20 - de la cat hp sa inceapa regenerare (dupa ce ai scris /heal)
    heal_time 5.0 - din cate in cate secunde sati dea HP
    heal_maxhp 100 - pan la cat hp sa iti regenereze
    heal_effect 1 - daca vrei sa ti se lumineze ecranu cand te vindeca
    heal_sound 1 - daca vrei sa se auda HEALTH cand te vindeca
    heal_red 0 - RGB efect
    heal_blue 240 - RGB
    heal_green 0 - RGB
    heal_alpha 20 - RGB
    heal_tag "[AMXX]" - tagul mesajelor



Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
  • /heal - incepe vindecarea
Imagini

Image
Image
Image
Image
Image

PS : eu sunt Akman
Last edited by LordOfNothing on 19 Dec 2013, 12:13, edited 8 times in total.
RoyalServer
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

16 Dec 2013, 09:49

* Rezervat , Update-uri si Intrebari *


UPDATE :[/b]

Code: Select all

1.0 - prima lansare

Code: Select all

1.1 :
   - Adaugare cvar-uri
   - rescriere codului
   - testare plugin (functioneza)
   - imbunatatire gramaticala

Code: Select all

 1.2 :
   - Adaugare cvar heal_tag
   - Rezolvarea bugului (cel care jucatorul apasa de 100 de ori si activeaza set_task de 10 ori pe secunda

Intrebari :[/b]

Code: Select all

INTREBARE :[heal_starthp]  - Daca un player are 50 HP si scrie /heal ii va incepe regenerarea de la acel hp setat prin cvar?
RASPUNS : I va incepe de la 49 , trebuie sa aiba mai putin decat valoarea setata de tine
Last edited by LordOfNothing on 19 Dec 2013, 19:31, edited 4 times in total.
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

16 Dec 2013, 11:10

Bine boss,dar ai putea sa scoti acel efect,face lag :D stiu de la pluginul lui rzv fostul moderator,cool live parca se numea acel plugin .
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

16 Dec 2013, 19:49

Niste sfaturi pentru un viitor update:

- scoate acel efect pentru ca nu prea e folositor;
- mai bine il faceai sa deie automat hp, (10-15) setat prin cvar, si sa anunte printr-un sunet gen : HP Regeneration.

Zic astea pentru ca is multe versiuni manuale pe net, /medic.
User avatar
GhosT ***
Membru, skill +2
Membru, skill +2
Posts: 604
Joined: 04 Dec 2013, 21:52
Detinator Steam: Da
CS Status: Morphin . [ Retras ]
SteamID: Mutulica1428
Reputatie: Fost Moderator ajutator
Location: Dumesti.
Has thanked: 40 times
Been thanked: 99 times
Contact:

17 Dec 2013, 15:22

smileye wrote:Niste sfaturi pentru un viitor update:

- scoate acel efect pentru ca nu prea e folositor;
- mai bine il faceai sa deie automat hp, (10-15) setat prin cvar, si sa anunte printr-un sunet gen : HP Regeneration.

Zic astea pentru ca is multe versiuni manuale pe net, /medic.
sa dea nu sa deie ... Faci romana cu femeia de servici? :-@ [-x ;))

------------------------------------------------------------------------------------------------------------------------------------

O intrebare , in legatura cu acest cvar [heal_starthp] :

- Daca un player are 50 HP si scrie /heal ii va incepe regenerarea de la acel hp setat prin cvar?
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

17 Dec 2013, 16:22

GhosT *** wrote:
smileye wrote:Niste sfaturi pentru un viitor update:

- scoate acel efect pentru ca nu prea e folositor;
- mai bine il faceai sa deie automat hp, (10-15) setat prin cvar, si sa anunte printr-un sunet gen : HP Regeneration.

Zic astea pentru ca is multe versiuni manuale pe net, /medic.
sa dea nu sa deie ... Faci romana cu femeia de servici? :-@ [-x ;))

------------------------------------------------------------------------------------------------------------------------------------

O intrebare , in legatura cu acest cvar [heal_starthp] :

- Daca un player are 50 HP si scrie /heal ii va incepe regenerarea de la acel hp setat prin cvar?
Sa deie la mai multi / sa dea la unul singur, deci?Tu capishi pa r0m@n3sht3?

Faci tu, pustiulica.Eu am terminat scoala, acum lucrez si iti scriu de la servici.
Ai probleme cu vederea sau esti ANAL-fabet ca nu am scris eu corect?

* La 14 ani ai tai, nu imi bat capul, ca de m-as cobori la mintea ta as da de petrol.
User avatar
roberteeel
Membru eXtream
Membru eXtream
Posts: 4438
Joined: 05 Sep 2012, 11:39
Detinator Steam: Nu
Reputatie: Nick anterior: QAZW, Robert.ultrasFarul, CT 18 ROS
Restrictie schimbare nume
Fost moderator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 313 times
Been thanked: 357 times

17 Dec 2013, 22:10

@smileye: E sa dea la mai multi, sa deie e forma pentru cei de la tara care nu au auzit de 'sa dea'.
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

17 Dec 2013, 22:51

Cateva optimizari

Code: Select all

#define RRR 0
#define GGG 0
#define BBB 255
#define AAA 50
Foloseste 4 constante

Code: Select all

const RRR = 0
const  GGG = 0
const  BBB = 255
const  AAA = 50
La fel si la TAG.

Code: Select all

public Func_Say( id )
{
	new szSaid[ 192 ];
	read_args( szSaid, sizeof( szSaid ) -1 );
	
	remove_quotes( szSaid );
	
	if( contain( szSaid, "heal" ) != -1 )
	{
		HookMedic(id);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
Functia asta e inutila, daca mesajul va contine heal iti va da viata/apela functia HookMedic. Ai inregistrat deja comenziile, asa ca scoate-o pe asta ca e inutila.
Retras
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

18 Dec 2013, 08:55

cruyff wrote:Cateva optimizari

Code: Select all

#define RRR 0
#define GGG 0
#define BBB 255
#define AAA 50
Foloseste 4 constante

Code: Select all

const RRR = 0
const  GGG = 0
const  BBB = 255
const  AAA = 50
La fel si la TAG.

Code: Select all

public Func_Say( id )
{
	new szSaid[ 192 ];
	read_args( szSaid, sizeof( szSaid ) -1 );
	
	remove_quotes( szSaid );
	
	if( contain( szSaid, "heal" ) != -1 )
	{
		HookMedic(id);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
Functia asta e inutila, daca mesajul va contine heal iti va da viata/apela functia HookMedic. Ai inregistrat deja comenziile, asa ca scoate-o pe asta ca e inutila.

il voi updata , iar despre celalalta cu heal , mai sunt altii care isi fac binduri gen "Hello , need heal , thanks " pentru hns deci o las :)
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

18 Dec 2013, 09:13

UPDATE , check first post si changelog
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

19 Dec 2013, 12:14

UPDATE , toate bugurile rezolvate merge perfect testat pe sv meu :) , + adaugare cvar nou uitativa primu post !

Versiune 1.2
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests