[ FURIEN ] VIP Benefits

Pluginuri facute de utilizatorii forumului eXtream.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
MzQ*
Membru eXtream
Membru eXtream
Posts: 3473
Joined: 07 Jul 2014, 18:30
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 10 times
Been thanked: 8 times
Contact:

21 Dec 2015, 19:28

FaTzZu, ar fi ceva sa pui sa dea hp si armor la spawn ;)
Image
RoyalServer 2
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

21 Dec 2015, 19:52

MzQ* wrote:FaTzZu, ar fi ceva sa pui sa dea hp si armor la spawn ;)
DONE
UPDATED
V 0.3

Code: Select all

Added HP+AP Spawn
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
StaFF
Membru, skill 0
Membru, skill 0
Posts: 83
Joined: 27 Mar 2015, 22:43
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

22 Dec 2015, 11:22

Il poti face sa dea hp armura si bani doar la spawn , fara nimic pe kill?
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

22 Dec 2015, 11:26

StaFF wrote:Il poti face sa dea hp armura si bani doar la spawn , fara nimic pe kill?
| Afiseaza codul
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "VIP Benefits"
#define VERSION "0.2"

enum e_Data 
{
	HP_SPAWN,
	AP_SPAWN
}

new g_szFlags[][] = {
	"abcdefghijklmnopqrst",		//Detinator
	"bcdefghijklmnopt",		//VIP DIAMOND
	"bcdefghijklmt",		//VIP GOLD
	"bcdefghijkt"			//VIP SILVER
}
new g_iBenefits[][e_Data] = {
/**	HP SPAWN	AP SPAWN	**/
	{200,		300},		//Detinator
	{175,		250},		//VIP DIAMOND
	{150,		200},		//VIP GOLD
	{125,		150}		//VIP SILVER
}
new g_iSizeof = sizeof(g_szFlags);
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, "FaTzZu" );
	
	RegisterHam(Ham_Spawn, "player", "HamPlayerSpawn", 1);
}
public HamPlayerSpawn(id)
{
	if(is_user_alive(id))
		return;
		
	for(new i;i<g_iSizeof;i++)
	{
		if(get_user_flags(id) == read_flags(g_szFlags))
		{
			set_user_health(id, g_iBenefits[HP_SPAWN])
			set_user_armor(id, g_iBenefits[AP_SPAWN])
			break;
		}
	}
}
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
StaFF
Membru, skill 0
Membru, skill 0
Posts: 83
Joined: 27 Mar 2015, 22:43
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

22 Dec 2015, 11:47

Hmm, nu da nimic la spawn
L 12/22/2015 - 11:46:43: [AMXX] Displaying debug trace (plugin "Beneficii.Veteran.amxx")
L 12/22/2015 - 11:46:43: [AMXX] Run time error 10: native error (native "set_user_health")
L 12/22/2015 - 11:46:43: [AMXX] [0] Beneficii.Veteran.sma::HamPlayerSpawn (line 46)
User avatar
^ionutz^
Fost moderator
Fost moderator
Posts: 1995
Joined: 05 Oct 2013, 15:12
Detinator Steam: Da
CS Status: activitate scazuta !
SteamID: /id/ionutz_cs/
Reputatie: Fost moderator ajutator
Location: Galati
Has thanked: 46 times
Been thanked: 23 times

22 Dec 2015, 14:37

cum sa ii dea la spawn daca tu dai return cand e viu :) | Afiseaza codul
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "VIP Benefits"
#define VERSION "0.2"

enum e_Data 
{
	HP_SPAWN,
	AP_SPAWN
}

new g_szFlags[][] = {
	"abcdefghijklmnopqrst",		//Detinator
	"bcdefghijklmnopt",		//VIP DIAMOND
	"bcdefghijklmt",		//VIP GOLD
	"bcdefghijkt"			//VIP SILVER
}
new g_iBenefits[][e_Data] = {
/**	HP SPAWN	AP SPAWN	**/
	{200,		300},		//Detinator
	{175,		250},		//VIP DIAMOND
	{150,		200},		//VIP GOLD
	{125,		150}		//VIP SILVER
}
new g_iSizeof = sizeof(g_szFlags);
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, "FaTzZu" );
	
	RegisterHam(Ham_Spawn, "player", "HamPlayerSpawn", 1);
}
public HamPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return;
		
	for(new i;i<g_iSizeof;i++)
	{
		if(get_user_flags(id) == read_flags(g_szFlags))
		{
			set_user_health(id, g_iBenefits[HP_SPAWN])
			set_user_armor(id, g_iBenefits[AP_SPAWN])
			break;
		}
	}
}
StaFF
Membru, skill 0
Membru, skill 0
Posts: 83
Joined: 27 Mar 2015, 22:43
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

22 Dec 2015, 15:25

Merge ok acum, multumesc Ionutz
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

22 Dec 2015, 16:41

^ionutz^ wrote:
cum sa ii dea la spawn daca tu dai return cand e viu :) | Afiseaza codul
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "VIP Benefits"
#define VERSION "0.2"

enum e_Data 
{
	HP_SPAWN,
	AP_SPAWN
}

new g_szFlags[][] = {
	"abcdefghijklmnopqrst",		//Detinator
	"bcdefghijklmnopt",		//VIP DIAMOND
	"bcdefghijklmt",		//VIP GOLD
	"bcdefghijkt"			//VIP SILVER
}
new g_iBenefits[][e_Data] = {
/**	HP SPAWN	AP SPAWN	**/
	{200,		300},		//Detinator
	{175,		250},		//VIP DIAMOND
	{150,		200},		//VIP GOLD
	{125,		150}		//VIP SILVER
}
new g_iSizeof = sizeof(g_szFlags);
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, "FaTzZu" );
	
	RegisterHam(Ham_Spawn, "player", "HamPlayerSpawn", 1);
}
public HamPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return;
		
	for(new i;i<g_iSizeof;i++)
	{
		if(get_user_flags(id) == read_flags(g_szFlags))
		{
			set_user_health(id, g_iBenefits[HP_SPAWN])
			set_user_armor(id, g_iBenefits[AP_SPAWN])
			break;
		}
	}
}

Ups, scuze, n-am fost atent :)) Mulţumesc.
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
StaFF
Membru, skill 0
Membru, skill 0
Posts: 83
Joined: 27 Mar 2015, 22:43
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

22 Dec 2015, 17:31

Ai putea sa editezi topicul si sa pui cele 3 versiuni
Cu spawn si pe kill
Doar pe kill
Doar la Spawn
Sau pe toate si sa ai cvar ce sa opresti si ce sa dai drumu, doar ca sugestie asa :D
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

06 Jan 2016, 14:41

UPDATED
-Added cvar !
Changelog | Afiseaza codul
V0.1 - first release.
V0.2 - Some optimizations.
V0.3 - Added HP/AP at Spawn.
V0.4 - Added cvar for status.
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
StaFF
Membru, skill 0
Membru, skill 0
Posts: 83
Joined: 27 Mar 2015, 22:43
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

10 Jan 2016, 10:38

+++ Functioneaza bine, un plugin complet acum.
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

26 Aug 2016, 13:55

Doar ca sa stii, ce zice nubo aici nu e corect.
2. sizeof(g_szFlags) are mereu aceeasi valoare. Nu o calcula in loop.
sizeof nu e functie, in timpul compilarii e inlocuita de valoarea ei. O salvezi degeaba in variabila globala.

Poti sa te uiti la ce rezulta in assembly in cazul unui cod ca asta:

Code: Select all

#include <amxmodx>

new b

public plugin_init()
{
     b = sizeof b
}

Code: Select all

0x8                        PROC              ; public plugin_init()
0xC                       BREAK
0x10                      BREAK
0x14                  CONST.pri  0x1
0x1C                   STOR.pri  0x0         ; b
0x24                   ZERO.pri
0x28                       RETN
CONST.pri 0x1
0x1 inseamna 1, dimensiunea unei variabile este 1, deci vezi clar ca in timpul compilarii sizeof e inlocuit de valoarea lui si e stocat in registrul PRI.
3. read_flags() este in plus atat timp cat modificarea acceselor presupune modificarea sursei.
Metoda cu #define in acest caz este perfecta.
Ce vrei sa zici? Nu ma prind.
read_flags doar transforma litere in bitii corespunzatori.

Ce ai putea schimba:
get_user_flags salvat inainte de loop, valoarea nu se schimba si n-are sens sa apelezi nativa mereu.

Hai ca ti-am facut si up :))
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
Post Reply

Return to “Pluginuri eXtream”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 16 guests