Base Builder Game Mod: Frags Levels [Updated 0.0.8 BETA]

Pluginuri facute de utilizatorii forumului eXtream.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

15 Mar 2014, 14:57

Tot va da eroarea...
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
RoyalServer
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:

15 Mar 2014, 18:54

The YONTU wrote:Tot va da eroarea...
Nu va da .. Mie nu mi-a dat .. Deci mama naibi :))
mIRr0r# kiLl4FuN
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 172
Joined: 01 Feb 2014, 18:01
Detinator Steam: Da
Detinator server CS: Server de CSGO
SteamID: shocexiled
Reputatie: Utilizator neserios ( tepar )
Has thanked: 4 times
Been thanked: 1 time

19 Mar 2014, 16:16

Ghost ai putea adauga si comenzile

amx_give_frags @ALL -> sa dea frage la toata lumea depe sv.
amx_give_frags @T -> sa dea frage doar la tero.
amx_give_frags @CT -> sa dea frage doar la ct.

La fel si cu:

amx_take_frags @ALL @T @CT
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:

19 Mar 2014, 20:25

mIRr0r# kiLl4FuN wrote:Ghost ai putea adauga si comenzile

amx_give_frags @ALL -> sa dea frage la toata lumea depe sv.
amx_give_frags @T -> sa dea frage doar la tero.
amx_give_frags @CT -> sa dea frage doar la ct.

La fel si cu:

amx_take_frags @ALL @T @CT
O sa il fac cand o sa am timp ..
mIRr0r# kiLl4FuN
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 172
Joined: 01 Feb 2014, 18:01
Detinator Steam: Da
Detinator server CS: Server de CSGO
SteamID: shocexiled
Reputatie: Utilizator neserios ( tepar )
Has thanked: 4 times
Been thanked: 1 time

20 Mar 2014, 16:39

OK MS :X SA VII CU UN UPDATE
andreimotora
Membru, skill 0
Membru, skill 0
Posts: 4
Joined: 09 Feb 2014, 15:29
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: Da
Has thanked: 1 time
Contact:

06 Apr 2014, 13:43

Mie daca il pun pe server, imi pica serveru, oare de ce? Si ar fi bine daca ai punea alea cum a zis mIRr0r# kiLl4FuN
User avatar
shut.theart
Membru, skill +3
Membru, skill +3
Posts: 1230
Joined: 10 Aug 2012, 13:04
Detinator Steam: Da
Has thanked: 52 times
Been thanked: 20 times
Contact:

28 Jun 2014, 14:15

GhosT *** wrote:Descriere: Este un level mod pe frage si cam atat . O sa ii fac updateuri si o sa fie mult mai mult .. Asta l-am facut la o cerere ;)) .

Descarcare:
Versiune 0.0.8 | Afiseaza codul
/*
	BASE BUILDER GAME MOD: FRAGS LEVEL MOD
			BY GHOST ***
				VERSION 0.0.8 BETA
				
	Credite
	
		Arion - Pentru chestia cu chatu (Am extras chestii pentru mesaju chat (LVL:) din pluginu ala Green admin chat :-@
		Askhanar - Asa salveaza el pe nVault (:-??)
*/

// Includes

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta_util>
#include <nvault>
#include <fun>

// Define

#define MAX_LEVELS	21

// Register Plugin & Tag & pragma

#pragma semicolon 1

new const
	PLUGIN_NAME[] = "Base Builder Game Mod: Frags Level Mod",
	PLUGIN_VERS[] = "0.0.8 BETA",
	PLUGIN_AUTH[] = "GhosT ***";
	
new const szTag[] = "[Base Builder]";

// Variabile

new PlayerFrags[33], PlayerLevel[33];
new PlayerWaitTime[33];
new bool:HasItems[33], bool:HaveDamage[33];
new nVault;

// Cvars

new GiveTime, GameNameOn;

// Levele

new const Levels[MAX_LEVELS + 2] =
{
	0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500,
	550, 600, 650, 700, 750, 800, 850, 900, 950, 1000,
	100000000000000000000000000000 // Nu modificati
};

// Flags

new const GiveFlags[] = "au";
new const TakeFlags[] = "au";

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH);
	
	register_event("DeathMsg", "DeathMsg", "a");
	
	RegisterHam(Ham_Spawn, "player", "PlayerSpawn", true);
	RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamage");
	
	register_logevent("RoundStart", 2, "1=Round_Start");
	
	register_clcmd("say /level", "LevelClCmd");
	register_clcmd("say /frags", "LevelClCmd");
	register_clcmd("say /lvl", "LevelClCmd");
	
	register_clcmd("say_team /level", "LevelClCmd");
	register_clcmd("say_team /frags", "LevelClCmd");
	register_clcmd("say_team /lvl", "LevelClCmd");
	
	register_concmd("amx_give_frags", "GiveFragsConCmd");
	register_concmd("amx_take_frags", "TakeFragsConCmd");
	
	register_forward(FM_GetGameDescription, "GameNameCmd");
	
	register_clcmd("say", "SayClCmd");
	
	GiveTime	= register_cvar("GiveTime", "30"); // Aici puneti in cate secunde de la spawnu playerulu sa dea itemele .
	GameNameOn	= register_cvar("GameNameOn", "1");			// adica cat timp de constructie este + 5/10 secunde
	nVault		= nvault_open("BaseBuilderFrags");
	
	register_cvar("bb_frags_mod", PLUGIN_VERS, FCVAR_SPONLY | FCVAR_SERVER);
	register_cvar("bb_frags_author", PLUGIN_AUTH, FCVAR_SERVER | FCVAR_SPONLY);
}
public plugin_natives( )
{
	register_native("bb_get_user_frags", "_get_user_frags", true);
	register_native("bb_set_user_frags", "_set_user_frags", true);
}
public _get_user_frags(iParams)
{
	return PlayerFrags[get_param(1)];
}
public _set_user_frags(iParams)
{
	PlayerFrags[get_param(1)] = max(0, get_param(2));
	return PlayerFrags[get_param(1)];
}
public DeathMsg( )
{
	new iAttacker	= read_data(1);
	new iVictim	= read_data(2);
	
	if(iAttacker == iVictim)
	{
		if(PlayerFrags[iAttacker] >= 1)
			PlayerFrags[iAttacker]--;
			
		else return PLUGIN_HANDLED;
	}
		
	else if(iAttacker != iVictim)
		PlayerFrags[iAttacker]++;
		
	if(PlayerLevel[iAttacker] < MAX_LEVELS - 1 && PlayerFrags[iAttacker] >= Levels[PlayerLevel[iAttacker]])
	{
		while(PlayerFrags[iAttacker] >= Levels[PlayerLevel[iAttacker]])
			PlayerLevel[iAttacker]++;
			
		ColorChat(iAttacker, "^x04%s^x01 Ai trecut la^x04 levelul^x03 %d^x01 !", szTag, PlayerLevel[iAttacker]);
		
		ShakeScreen(iAttacker, 2.0);
		FadeScreen(iAttacker, 2.0, 0, 15, 200, 200);
	}
	if(PlayerFrags[iVictim] < Levels[PlayerLevel[iVictim] - 1])
	{
		while(PlayerFrags[iVictim] < Levels[PlayerLevel[iVictim] - 1])
			PlayerLevel[iVictim]--;
			
		ColorChat(iVictim, "^x04%s^x01 Ai pierdut^x04 un level^x03 din lipsa de fraguri^x01 !", szTag);
		
		ShakeScreen(iVictim, 2.0);
		FadeScreen(iVictim, 2.0, 200, 15, 0, 200);
	}
	
	return PLUGIN_CONTINUE;
}
public PlayerSpawn(id)
{
	if(PlayerLevel[id] < MAX_LEVELS - 1)
	{
		if(PlayerFrags[id] >= Levels[PlayerLevel[id]])
		{
			while(PlayerFrags[id] >= Levels[PlayerLevel[id]])
				PlayerLevel[id]++;
		}
	}
	
	return PLUGIN_HANDLED;
}
public PlayerTakeDamage(iAttacker, iVictim, Float:fDamage, iDamageBits)
{
	if(HaveDamage[iAttacker])
	{
		fDamage = (fDamage + 2.0 * Float:PlayerLevel[iAttacker]);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
public RoundStart()
{	
	new Jucator[32], iNum;
	get_players(Jucator, iNum);
	
	for(new i = 0; i < iNum; i++)
	{
		HasItems[Jucator] 		= false;
		HaveDamage[Jucator] 		= false;
		
		PlayerWaitTime[Jucator]	= get_pcvar_num(GiveTime);
		
		set_task(1.0, "HudAbility", Jucator, _, _, "b"); // Pentru a arata corect mesajul in hud ..
		set_task(get_pcvar_float(GiveTime) + 2.0, "PlayerAbility", Jucator); // Timpul corect pentru taskul de iteme .
	}
}
public HudAbility(id)
{
	if(PlayerWaitTime[id] > 0)
	{	
		set_hudmessage(0, 255, 100, 0.70, 0.20, 0, 1.0, 2.0);
		show_hudmessage(id, "Iti vei primi abilitatile in %i secunde ...", PlayerWaitTime[id]);
		
		PlayerWaitTime[id] -= 1;
	}
	
	return PLUGIN_CONTINUE;
}
public PlayerAbility(id)
{
	if(HasItems[id] == false)
	{
		if(get_user_team(id) == 2)
		{
			set_user_health(id, get_user_health(id) + 10 * PlayerLevel[id]);
			set_user_armor(id, get_user_armor(id) + 20 * PlayerLevel[id]);
			
			ColorChat(id, "^x04%s^x01 Ai levelul %d !", szTag, PlayerLevel[id]);
			ColorChat(id, "^x04%s^x01 Abilitati:^x03 [^x04+%dHP^x03][^x04+%dAP^x03][^x04+%dDMG^x03]", szTag, 10 * PlayerLevel[id], 20 * PlayerLevel[id], 2* PlayerLevel[id]);
			HaveDamage[id] = true;
			
		}
		else if(get_user_team(id) == 1)
		{
			set_user_health(id, get_user_health(id) + 100 * PlayerLevel[id]);
			set_user_armor(id, get_user_armor(id) + 200 * PlayerLevel[id]);
			
			ColorChat(id, "^x04%s^x01 Ai levelul %d !", szTag, PlayerLevel[id]);
			ColorChat(id, "^x04%s^x01 Abilitati:^x03 [^x04+%dHP^x03][^x04+%dAP^x03][^x04+%dDMG^x03]", szTag, 10 * PlayerLevel[id], 20 * PlayerLevel[id], 2* PlayerLevel[id]);
			HaveDamage[id] = true;
		}
		
		HasItems[id] = true;
	}
	
	set_hudmessage(0, 255, 100, 0.70, 0.20);
	show_hudmessage(id, "Ti-ai primit abilitatile !");
	
	return PLUGIN_CONTINUE;
}
public LevelClCmd(id)
{	
	if(PlayerLevel[id] != MAX_LEVELS - 1)
		ColorChat(id, "^x04%s^x03 %s^x01, ai: |^x04 Level: %d / %d^x01 |^x04 Fraguri: %d / %d^x01 |^x04 %d Frag%s^x01 ramas%s pana la^x04 levelul %d^x01 |", szTag, get_name(id), PlayerLevel[id], MAX_LEVELS - 1, PlayerFrags[id], Levels[PlayerLevel[id]], Levels[PlayerLevel[id]] - PlayerFrags[id], Levels[PlayerLevel[id]] - PlayerFrags[id] == 1 ? "" : "uri", Levels[PlayerLevel[id]] - PlayerFrags[id] == 1 ? "" : "e", PlayerLevel[id] + 1);
	else if(PlayerLevel[id] == MAX_LEVELS - 1)
		ColorChat(id, "^x04%s^x03 %s^x01, ai: |^x04 Level: MAXIM^x01 & ^x04 Fraguri: %d^x01 !", szTag, get_name(id), PlayerFrags[id]);
	
	return PLUGIN_HANDLED;
}
public GiveFragsConCmd(id)
{
	if(get_user_flags(id) & read_flags(GiveFlags))
	{
		new szArg[32], szAmount[32];
		new Amount, iTarget;
		
		read_argv(1, szArg, sizeof(szArg) - 1);
		read_argv(2, szAmount, sizeof(szAmount) - 1);
		
		iTarget = cmd_target(id, szArg, CMDTARGET_NO_BOTS);
		Amount = str_to_num(szAmount);
		
		if(equal(szArg, "") || equal(szAmount, ""))
		{
			console_print(id, "amx_give_frags <NICK> <AMOUNT>");
			return PLUGIN_HANDLED;
		}
		
		if(!iTarget)
		{
			console_print(id, "Jucatorul %s nu exista sau nu este online !", iTarget);
			return PLUGIN_HANDLED;
		}
		
		if(Amount > 99999)
		{
			console_cmd(id, "Nu poti da mai mult de 99999 fraguri !");
			return PLUGIN_HANDLED;
		}
		
		ColorChat(0, "^x03%s^x04 (ADMIN): %s^x01 ii da^x03 %d Frag%s^x01 lui^x04 %s^x01 !", szTag, get_name(id), Amount, Amount == 1 ? "" : "uri", get_name(iTarget));
		log_amx("ADMIN: %s (#%s) gave to %s (#%s) %d Frag%s !", get_name(id), get_authid(id), get_name(iTarget), get_authid(iTarget), Amount, Amount == 1? "" : "s");
		
		PlayerFrags[iTarget] += Amount;
		
		if(PlayerLevel[iTarget] < MAX_LEVELS - 1)
		{
			while(PlayerFrags[iTarget] >= Levels[PlayerLevel[iTarget]])
				PlayerLevel[iTarget]++;
		}
		
		SaveFrags(iTarget);
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}
public TakeFragsConCmd(id)
{
	if(get_user_flags(id) & read_flags(TakeFlags))
	{
		new szArg[32], szAmount[32];
		new Amount, iTarget;
		
		read_argv(1, szArg, sizeof(szArg) - 1);
		read_argv(2, szAmount, sizeof(szAmount) - 1);
		
		Amount = str_to_num(szAmount);
		iTarget = cmd_target(id, szArg, CMDTARGET_NO_BOTS);
		
		if(equal(szArg, "") || equal(szAmount, ""))
		{
			console_print(id, "amx_take_frags <NICK> <AMOUNT>");
			return PLUGIN_HANDLED;
		}
		
		if(!iTarget)
		{
			console_print(id, "Jucatorul %s nu exista sau nu este online !", iTarget);
			return PLUGIN_HANDLED;
		}
		
		if(Amount > PlayerFrags[id])
		{
			console_print(id, "Jucatorul %s are doar %d fraguri !", get_name(iTarget), PlayerFrags[iTarget]);
			return PLUGIN_HANDLED;
		}
		
		ColorChat(0, "^x03%s^x04 (ADMIN): %s^x01 ii ia^x03 %d Frag%s^x01 lui^x04 %s^x01 !", szTag, get_name(id), Amount, Amount == 1 ? "" : "uri", get_name(iTarget));
		log_amx("ADMIN: %s (#%s) take to %s (#%s) %d Frag%s !", get_name(id), get_authid(id), get_name(iTarget), get_authid(iTarget), Amount, Amount == 1 ? "" : "s");
		
		PlayerFrags[iTarget] -= Amount;
		
		if(PlayerFrags[iTarget] < Levels[PlayerLevel[iTarget] - 1])
		{
			while(PlayerFrags[iTarget] < Levels[PlayerLevel[iTarget] - 1])
				PlayerLevel[iTarget]--;
		}
		
		SaveFrags(iTarget);
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}
public GameNameCmd()
{
	if(get_pcvar_num(GameNameOn))
		forward_return(FMV_STRING, "Base Builder Frags Mod");
		
	return FMRES_SUPERCEDE;
}
public client_putinserver(id)
{
	ColorChat(0, "^x04%s^x03 [%d]^x04 [Level: %d]^x01 se conecteaza pe server !", szTag, get_name(id), PlayerLevel[id]);
	
	LoadFrags(id);
	
	set_task(1.0, "ShowUserDetails", id, _, _, "b");
}
public client_disconnect(id)
{
	ColorChat(0, "^x04%s^x03 [%d]^x04 [Level: %d]^x01 sa deconectat de pe server !", szTag, get_name(id), PlayerLevel[id]);
	SaveFrags(id);
}
public SayClCmd(id)
{
	new iMessage[192];
	
	read_args(iMessage, sizeof(iMessage) - 1);
	remove_quotes(iMessage);
	
	if(!valid_message(iMessage))
		return PLUGIN_CONTINUE;
	
	if(is_user_alive(id) && PlayerLevel[id] != MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x04[LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	else if(!is_user_alive(id) && PlayerLevel[id] != MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x03[DEAD]^x04 [LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	if(is_user_alive(id) && PlayerLevel[id] == MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x04[LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	else if(!is_user_alive(id) && PlayerLevel[id] == MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x03[DEAD]^x04 [LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	for(new i = 1; i <= get_maxplayers(); i++)
	{
		if(!is_user_connected(i))
			continue;
		
		if((is_user_alive(id) && is_user_alive(i)) || !(is_user_alive(id) && is_user_alive(i)))
		{
			message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
			write_byte(id);
			write_string(iMessage);
			message_end( );
		}
	}
	
	return PLUGIN_HANDLED;
}
public ShowUserDetails(id)
{
	set_hudmessage(0, 255, 255, -1.0, 0.75);
	
	if(is_user_alive(id) && PlayerLevel[id] < MAX_LEVELS - 1)
		show_hudmessage(id, "[Frags: %d / %d | Level: %d / %d]", PlayerFrags[id], Levels[PlayerLevel[id]], PlayerLevel[id], MAX_LEVELS - 1);
	
	if(is_user_alive(id) && PlayerLevel[id] >= MAX_LEVELS - 1)
		show_hudmessage(id, "[Frags: %d | Level: MAXIM]", PlayerFrags[id]);
}
public LoadFrags(id)
{
	new szData[256], iTimestamp;
	
	formatex(szData, sizeof(szData) - 1, "%i ", PlayerFrags[id]);
	
	if(nvault_lookup(nVault, get_name(id), szData, sizeof(szData), iTimestamp))
	{
		static iFrags[15];
		parse(szData, iFrags, sizeof(iFrags) - 1);
		PlayerFrags[id] = str_to_num(iFrags);
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}
public SaveFrags(id)
{
	new szData[256];
	formatex(szData, sizeof(szData) - 1, "%i ", PlayerFrags[id]);
	
	nvault_set(nVault, get_name(id), szData);
}
stock get_name(id, len=31)
{
	new Name[32];
	get_user_name(id, Name, len);
	
	return Name;
}
stock get_authid(id, len=31)
{
	new AuthID[32];
	get_user_authid(id, AuthID, len);
	
	return AuthID;
}
stock ColorChat(const id, const input[], any:...)
{
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "^x04", "^4"); // Green Color
	replace_all(msg, 190, "^x01", "^1"); // Default Color
	replace_all(msg, 190, "^x03", "^3"); // Team Color
	replace_all(msg, 190, "^0", "^0"); // Team2 Color
	
	if (id) players[0] = id; else get_players(players, count, "ch");
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}
stock ShakeScreen(id, const Float:seconds)
{
	message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0, 0, 0}, id);
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(1<<13);
	message_end( );
}

stock FadeScreen(id, const Float:seconds, const red, const green, const blue, const alpha)
{      
	message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, id);
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(0x0000);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha);
	message_end( );
}
stock valid_message(const iMessage[])
{
	if(iMessage[0] == '/' || iMessage[0] == '@' || iMessage[0] == '@' && iMessage[1] == '@' || iMessage[0] == '@' && iMessage[1] == '@' && iMessage[2] == '@' || !strlen(iMessage))
	{
		return false;
	}
	
	return true;
}


Nume: Base Builder Game Mod: Frags Level
Versiune: 0.0.8
Link oficial:

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

Code: Select all

nume_plugin.amxx
4. Alti pasi necesari....

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
  • GiveTime - In cat timp de la inceperea rundei sa dea itemele .. (default: 30)
    GameNameOn - Schimba Game Name-ul (default: 1) [1 ON / 0 OFF]
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator): -

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
  • /lvl - afiseaza levelul
    say - afiseaza textul cu prefix in fata ([LVL: %d] - unde %d reprezinta levelul)
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- HamSandWich
- nVault
- Fun

Imagini:
| Afiseaza codul
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
Change Log

Code: Select all

0.0.1 -> Lansarea [Versiune Publica]
0.0.2 -> Adaugarea de iteme in plugin (abilitati) [Versiune Publica]
0.0.3 -> Schimbarea CoolDownului itemelor din PlayerSpawn in log eventul New Round [Versiune Publica]
0.0.4 -> Adaugarea de native [Versiune Privata]
0.0.5 -> Adaugarea comenzilor amx_give_frags / amx_take_frags ... Adaugarea schimbarii numelui game modului (prin cvar 1 On / 0 OFF) [Versiune Publica]
0.0.6 -> Fixare buguri [Versiunea Publica]
0.0.7 -> Optimizare Cod ... [Versiune Publica]
0.0.8 -> Fixare bug nVault save ... Optimizare cod ... Fixare buguri minore & majore (si cel care dadea index out of bounds la level maxim) ... [Versiune publica]

Autor: Ghost??????
De ce esti tzigan b**t? Pluginul asta eu i l-am dat lui askhaner sa mi-l faca iar acuma imi furi dreptul de autor?

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:

10 Jul 2014, 20:48

shut.theart wrote:
GhosT *** wrote:Descriere: Este un level mod pe frage si cam atat . O sa ii fac updateuri si o sa fie mult mai mult .. Asta l-am facut la o cerere ;)) .

Descarcare:
Versiune 0.0.8 | Afiseaza codul
/*
	BASE BUILDER GAME MOD: FRAGS LEVEL MOD
			BY GHOST ***
				VERSION 0.0.8 BETA
				
	Credite
	
		Arion - Pentru chestia cu chatu (Am extras chestii pentru mesaju chat (LVL:) din pluginu ala Green admin chat :-@
		Askhanar - Asa salveaza el pe nVault (:-??)
*/

// Includes

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta_util>
#include <nvault>
#include <fun>

// Define

#define MAX_LEVELS	21

// Register Plugin & Tag & pragma

#pragma semicolon 1

new const
	PLUGIN_NAME[] = "Base Builder Game Mod: Frags Level Mod",
	PLUGIN_VERS[] = "0.0.8 BETA",
	PLUGIN_AUTH[] = "GhosT ***";
	
new const szTag[] = "[Base Builder]";

// Variabile

new PlayerFrags[33], PlayerLevel[33];
new PlayerWaitTime[33];
new bool:HasItems[33], bool:HaveDamage[33];
new nVault;

// Cvars

new GiveTime, GameNameOn;

// Levele

new const Levels[MAX_LEVELS + 2] =
{
	0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500,
	550, 600, 650, 700, 750, 800, 850, 900, 950, 1000,
	100000000000000000000000000000 // Nu modificati
};

// Flags

new const GiveFlags[] = "au";
new const TakeFlags[] = "au";

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH);
	
	register_event("DeathMsg", "DeathMsg", "a");
	
	RegisterHam(Ham_Spawn, "player", "PlayerSpawn", true);
	RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamage");
	
	register_logevent("RoundStart", 2, "1=Round_Start");
	
	register_clcmd("say /level", "LevelClCmd");
	register_clcmd("say /frags", "LevelClCmd");
	register_clcmd("say /lvl", "LevelClCmd");
	
	register_clcmd("say_team /level", "LevelClCmd");
	register_clcmd("say_team /frags", "LevelClCmd");
	register_clcmd("say_team /lvl", "LevelClCmd");
	
	register_concmd("amx_give_frags", "GiveFragsConCmd");
	register_concmd("amx_take_frags", "TakeFragsConCmd");
	
	register_forward(FM_GetGameDescription, "GameNameCmd");
	
	register_clcmd("say", "SayClCmd");
	
	GiveTime	= register_cvar("GiveTime", "30"); // Aici puneti in cate secunde de la spawnu playerulu sa dea itemele .
	GameNameOn	= register_cvar("GameNameOn", "1");			// adica cat timp de constructie este + 5/10 secunde
	nVault		= nvault_open("BaseBuilderFrags");
	
	register_cvar("bb_frags_mod", PLUGIN_VERS, FCVAR_SPONLY | FCVAR_SERVER);
	register_cvar("bb_frags_author", PLUGIN_AUTH, FCVAR_SERVER | FCVAR_SPONLY);
}
public plugin_natives( )
{
	register_native("bb_get_user_frags", "_get_user_frags", true);
	register_native("bb_set_user_frags", "_set_user_frags", true);
}
public _get_user_frags(iParams)
{
	return PlayerFrags[get_param(1)];
}
public _set_user_frags(iParams)
{
	PlayerFrags[get_param(1)] = max(0, get_param(2));
	return PlayerFrags[get_param(1)];
}
public DeathMsg( )
{
	new iAttacker	= read_data(1);
	new iVictim	= read_data(2);
	
	if(iAttacker == iVictim)
	{
		if(PlayerFrags[iAttacker] >= 1)
			PlayerFrags[iAttacker]--;
			
		else return PLUGIN_HANDLED;
	}
		
	else if(iAttacker != iVictim)
		PlayerFrags[iAttacker]++;
		
	if(PlayerLevel[iAttacker] < MAX_LEVELS - 1 && PlayerFrags[iAttacker] >= Levels[PlayerLevel[iAttacker]])
	{
		while(PlayerFrags[iAttacker] >= Levels[PlayerLevel[iAttacker]])
			PlayerLevel[iAttacker]++;
			
		ColorChat(iAttacker, "^x04%s^x01 Ai trecut la^x04 levelul^x03 %d^x01 !", szTag, PlayerLevel[iAttacker]);
		
		ShakeScreen(iAttacker, 2.0);
		FadeScreen(iAttacker, 2.0, 0, 15, 200, 200);
	}
	if(PlayerFrags[iVictim] < Levels[PlayerLevel[iVictim] - 1])
	{
		while(PlayerFrags[iVictim] < Levels[PlayerLevel[iVictim] - 1])
			PlayerLevel[iVictim]--;
			
		ColorChat(iVictim, "^x04%s^x01 Ai pierdut^x04 un level^x03 din lipsa de fraguri^x01 !", szTag);
		
		ShakeScreen(iVictim, 2.0);
		FadeScreen(iVictim, 2.0, 200, 15, 0, 200);
	}
	
	return PLUGIN_CONTINUE;
}
public PlayerSpawn(id)
{
	if(PlayerLevel[id] < MAX_LEVELS - 1)
	{
		if(PlayerFrags[id] >= Levels[PlayerLevel[id]])
		{
			while(PlayerFrags[id] >= Levels[PlayerLevel[id]])
				PlayerLevel[id]++;
		}
	}
	
	return PLUGIN_HANDLED;
}
public PlayerTakeDamage(iAttacker, iVictim, Float:fDamage, iDamageBits)
{
	if(HaveDamage[iAttacker])
	{
		fDamage = (fDamage + 2.0 * Float:PlayerLevel[iAttacker]);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
public RoundStart()
{	
	new Jucator[32], iNum;
	get_players(Jucator, iNum);
	
	for(new i = 0; i < iNum; i++)
	{
		HasItems[Jucator] 		= false;
		HaveDamage[Jucator] 		= false;
		
		PlayerWaitTime[Jucator]	= get_pcvar_num(GiveTime);
		
		set_task(1.0, "HudAbility", Jucator, _, _, "b"); // Pentru a arata corect mesajul in hud ..
		set_task(get_pcvar_float(GiveTime) + 2.0, "PlayerAbility", Jucator); // Timpul corect pentru taskul de iteme .
	}
}
public HudAbility(id)
{
	if(PlayerWaitTime[id] > 0)
	{	
		set_hudmessage(0, 255, 100, 0.70, 0.20, 0, 1.0, 2.0);
		show_hudmessage(id, "Iti vei primi abilitatile in %i secunde ...", PlayerWaitTime[id]);
		
		PlayerWaitTime[id] -= 1;
	}
	
	return PLUGIN_CONTINUE;
}
public PlayerAbility(id)
{
	if(HasItems[id] == false)
	{
		if(get_user_team(id) == 2)
		{
			set_user_health(id, get_user_health(id) + 10 * PlayerLevel[id]);
			set_user_armor(id, get_user_armor(id) + 20 * PlayerLevel[id]);
			
			ColorChat(id, "^x04%s^x01 Ai levelul %d !", szTag, PlayerLevel[id]);
			ColorChat(id, "^x04%s^x01 Abilitati:^x03 [^x04+%dHP^x03][^x04+%dAP^x03][^x04+%dDMG^x03]", szTag, 10 * PlayerLevel[id], 20 * PlayerLevel[id], 2* PlayerLevel[id]);
			HaveDamage[id] = true;
			
		}
		else if(get_user_team(id) == 1)
		{
			set_user_health(id, get_user_health(id) + 100 * PlayerLevel[id]);
			set_user_armor(id, get_user_armor(id) + 200 * PlayerLevel[id]);
			
			ColorChat(id, "^x04%s^x01 Ai levelul %d !", szTag, PlayerLevel[id]);
			ColorChat(id, "^x04%s^x01 Abilitati:^x03 [^x04+%dHP^x03][^x04+%dAP^x03][^x04+%dDMG^x03]", szTag, 10 * PlayerLevel[id], 20 * PlayerLevel[id], 2* PlayerLevel[id]);
			HaveDamage[id] = true;
		}
		
		HasItems[id] = true;
	}
	
	set_hudmessage(0, 255, 100, 0.70, 0.20);
	show_hudmessage(id, "Ti-ai primit abilitatile !");
	
	return PLUGIN_CONTINUE;
}
public LevelClCmd(id)
{	
	if(PlayerLevel[id] != MAX_LEVELS - 1)
		ColorChat(id, "^x04%s^x03 %s^x01, ai: |^x04 Level: %d / %d^x01 |^x04 Fraguri: %d / %d^x01 |^x04 %d Frag%s^x01 ramas%s pana la^x04 levelul %d^x01 |", szTag, get_name(id), PlayerLevel[id], MAX_LEVELS - 1, PlayerFrags[id], Levels[PlayerLevel[id]], Levels[PlayerLevel[id]] - PlayerFrags[id], Levels[PlayerLevel[id]] - PlayerFrags[id] == 1 ? "" : "uri", Levels[PlayerLevel[id]] - PlayerFrags[id] == 1 ? "" : "e", PlayerLevel[id] + 1);
	else if(PlayerLevel[id] == MAX_LEVELS - 1)
		ColorChat(id, "^x04%s^x03 %s^x01, ai: |^x04 Level: MAXIM^x01 & ^x04 Fraguri: %d^x01 !", szTag, get_name(id), PlayerFrags[id]);
	
	return PLUGIN_HANDLED;
}
public GiveFragsConCmd(id)
{
	if(get_user_flags(id) & read_flags(GiveFlags))
	{
		new szArg[32], szAmount[32];
		new Amount, iTarget;
		
		read_argv(1, szArg, sizeof(szArg) - 1);
		read_argv(2, szAmount, sizeof(szAmount) - 1);
		
		iTarget = cmd_target(id, szArg, CMDTARGET_NO_BOTS);
		Amount = str_to_num(szAmount);
		
		if(equal(szArg, "") || equal(szAmount, ""))
		{
			console_print(id, "amx_give_frags <NICK> <AMOUNT>");
			return PLUGIN_HANDLED;
		}
		
		if(!iTarget)
		{
			console_print(id, "Jucatorul %s nu exista sau nu este online !", iTarget);
			return PLUGIN_HANDLED;
		}
		
		if(Amount > 99999)
		{
			console_cmd(id, "Nu poti da mai mult de 99999 fraguri !");
			return PLUGIN_HANDLED;
		}
		
		ColorChat(0, "^x03%s^x04 (ADMIN): %s^x01 ii da^x03 %d Frag%s^x01 lui^x04 %s^x01 !", szTag, get_name(id), Amount, Amount == 1 ? "" : "uri", get_name(iTarget));
		log_amx("ADMIN: %s (#%s) gave to %s (#%s) %d Frag%s !", get_name(id), get_authid(id), get_name(iTarget), get_authid(iTarget), Amount, Amount == 1? "" : "s");
		
		PlayerFrags[iTarget] += Amount;
		
		if(PlayerLevel[iTarget] < MAX_LEVELS - 1)
		{
			while(PlayerFrags[iTarget] >= Levels[PlayerLevel[iTarget]])
				PlayerLevel[iTarget]++;
		}
		
		SaveFrags(iTarget);
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}
public TakeFragsConCmd(id)
{
	if(get_user_flags(id) & read_flags(TakeFlags))
	{
		new szArg[32], szAmount[32];
		new Amount, iTarget;
		
		read_argv(1, szArg, sizeof(szArg) - 1);
		read_argv(2, szAmount, sizeof(szAmount) - 1);
		
		Amount = str_to_num(szAmount);
		iTarget = cmd_target(id, szArg, CMDTARGET_NO_BOTS);
		
		if(equal(szArg, "") || equal(szAmount, ""))
		{
			console_print(id, "amx_take_frags <NICK> <AMOUNT>");
			return PLUGIN_HANDLED;
		}
		
		if(!iTarget)
		{
			console_print(id, "Jucatorul %s nu exista sau nu este online !", iTarget);
			return PLUGIN_HANDLED;
		}
		
		if(Amount > PlayerFrags[id])
		{
			console_print(id, "Jucatorul %s are doar %d fraguri !", get_name(iTarget), PlayerFrags[iTarget]);
			return PLUGIN_HANDLED;
		}
		
		ColorChat(0, "^x03%s^x04 (ADMIN): %s^x01 ii ia^x03 %d Frag%s^x01 lui^x04 %s^x01 !", szTag, get_name(id), Amount, Amount == 1 ? "" : "uri", get_name(iTarget));
		log_amx("ADMIN: %s (#%s) take to %s (#%s) %d Frag%s !", get_name(id), get_authid(id), get_name(iTarget), get_authid(iTarget), Amount, Amount == 1 ? "" : "s");
		
		PlayerFrags[iTarget] -= Amount;
		
		if(PlayerFrags[iTarget] < Levels[PlayerLevel[iTarget] - 1])
		{
			while(PlayerFrags[iTarget] < Levels[PlayerLevel[iTarget] - 1])
				PlayerLevel[iTarget]--;
		}
		
		SaveFrags(iTarget);
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}
public GameNameCmd()
{
	if(get_pcvar_num(GameNameOn))
		forward_return(FMV_STRING, "Base Builder Frags Mod");
		
	return FMRES_SUPERCEDE;
}
public client_putinserver(id)
{
	ColorChat(0, "^x04%s^x03 [%d]^x04 [Level: %d]^x01 se conecteaza pe server !", szTag, get_name(id), PlayerLevel[id]);
	
	LoadFrags(id);
	
	set_task(1.0, "ShowUserDetails", id, _, _, "b");
}
public client_disconnect(id)
{
	ColorChat(0, "^x04%s^x03 [%d]^x04 [Level: %d]^x01 sa deconectat de pe server !", szTag, get_name(id), PlayerLevel[id]);
	SaveFrags(id);
}
public SayClCmd(id)
{
	new iMessage[192];
	
	read_args(iMessage, sizeof(iMessage) - 1);
	remove_quotes(iMessage);
	
	if(!valid_message(iMessage))
		return PLUGIN_CONTINUE;
	
	if(is_user_alive(id) && PlayerLevel[id] != MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x04[LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	else if(!is_user_alive(id) && PlayerLevel[id] != MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x03[DEAD]^x04 [LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	if(is_user_alive(id) && PlayerLevel[id] == MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x04[LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	else if(!is_user_alive(id) && PlayerLevel[id] == MAX_LEVELS - 1)
		format(iMessage, sizeof(iMessage) - 1, "^x03[DEAD]^x04 [LVL: %d]^x03 %s ^x01: %s", PlayerLevel[id], get_name(id), iMessage);
	
	for(new i = 1; i <= get_maxplayers(); i++)
	{
		if(!is_user_connected(i))
			continue;
		
		if((is_user_alive(id) && is_user_alive(i)) || !(is_user_alive(id) && is_user_alive(i)))
		{
			message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
			write_byte(id);
			write_string(iMessage);
			message_end( );
		}
	}
	
	return PLUGIN_HANDLED;
}
public ShowUserDetails(id)
{
	set_hudmessage(0, 255, 255, -1.0, 0.75);
	
	if(is_user_alive(id) && PlayerLevel[id] < MAX_LEVELS - 1)
		show_hudmessage(id, "[Frags: %d / %d | Level: %d / %d]", PlayerFrags[id], Levels[PlayerLevel[id]], PlayerLevel[id], MAX_LEVELS - 1);
	
	if(is_user_alive(id) && PlayerLevel[id] >= MAX_LEVELS - 1)
		show_hudmessage(id, "[Frags: %d | Level: MAXIM]", PlayerFrags[id]);
}
public LoadFrags(id)
{
	new szData[256], iTimestamp;
	
	formatex(szData, sizeof(szData) - 1, "%i ", PlayerFrags[id]);
	
	if(nvault_lookup(nVault, get_name(id), szData, sizeof(szData), iTimestamp))
	{
		static iFrags[15];
		parse(szData, iFrags, sizeof(iFrags) - 1);
		PlayerFrags[id] = str_to_num(iFrags);
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}
public SaveFrags(id)
{
	new szData[256];
	formatex(szData, sizeof(szData) - 1, "%i ", PlayerFrags[id]);
	
	nvault_set(nVault, get_name(id), szData);
}
stock get_name(id, len=31)
{
	new Name[32];
	get_user_name(id, Name, len);
	
	return Name;
}
stock get_authid(id, len=31)
{
	new AuthID[32];
	get_user_authid(id, AuthID, len);
	
	return AuthID;
}
stock ColorChat(const id, const input[], any:...)
{
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "^x04", "^4"); // Green Color
	replace_all(msg, 190, "^x01", "^1"); // Default Color
	replace_all(msg, 190, "^x03", "^3"); // Team Color
	replace_all(msg, 190, "^0", "^0"); // Team2 Color
	
	if (id) players[0] = id; else get_players(players, count, "ch");
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}
stock ShakeScreen(id, const Float:seconds)
{
	message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0, 0, 0}, id);
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(1<<13);
	message_end( );
}

stock FadeScreen(id, const Float:seconds, const red, const green, const blue, const alpha)
{      
	message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, id);
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(floatround(4096.0 * seconds, floatround_round));
	write_short(0x0000);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha);
	message_end( );
}
stock valid_message(const iMessage[])
{
	if(iMessage[0] == '/' || iMessage[0] == '@' || iMessage[0] == '@' && iMessage[1] == '@' || iMessage[0] == '@' && iMessage[1] == '@' && iMessage[2] == '@' || !strlen(iMessage))
	{
		return false;
	}
	
	return true;
}


Nume: Base Builder Game Mod: Frags Level
Versiune: 0.0.8
Link oficial:

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

Code: Select all

nume_plugin.amxx
4. Alti pasi necesari....

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
  • GiveTime - In cat timp de la inceperea rundei sa dea itemele .. (default: 30)
    GameNameOn - Schimba Game Name-ul (default: 1) [1 ON / 0 OFF]
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator): -

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
  • /lvl - afiseaza levelul
    say - afiseaza textul cu prefix in fata ([LVL: %d] - unde %d reprezinta levelul)
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- HamSandWich
- nVault
- Fun

Imagini:
| Afiseaza codul
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
----------------------------------------------------------------------------
Image
Change Log

Code: Select all

0.0.1 -> Lansarea [Versiune Publica]
0.0.2 -> Adaugarea de iteme in plugin (abilitati) [Versiune Publica]
0.0.3 -> Schimbarea CoolDownului itemelor din PlayerSpawn in log eventul New Round [Versiune Publica]
0.0.4 -> Adaugarea de native [Versiune Privata]
0.0.5 -> Adaugarea comenzilor amx_give_frags / amx_take_frags ... Adaugarea schimbarii numelui game modului (prin cvar 1 On / 0 OFF) [Versiune Publica]
0.0.6 -> Fixare buguri [Versiunea Publica]
0.0.7 -> Optimizare Cod ... [Versiune Publica]
0.0.8 -> Fixare bug nVault save ... Optimizare cod ... Fixare buguri minore & majore (si cel care dadea index out of bounds la level maxim) ... [Versiune publica]

Autor: Ghost??????
De ce esti tzigan b**t? Pluginul asta eu i l-am dat lui askhaner sa mi-l faca iar acuma imi furi dreptul de autor?
I-a sa vorbesc cu askhanar sa vad daca e asa =))
Mereu se gasesc unii care sa vina sa zica ca au copyright pe nu stiu ce .. M-ai demult am auzit pe unu care cica are copyright pentru jocu' ala DayZ :)) .. Ca e tester =))
User avatar
b|t|d
Membru, skill 0
Membru, skill 0
Posts: 94
Joined: 14 Jan 2011, 18:21
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Location: ro
Has thanked: 20 times
Contact:

15 Jul 2014, 20:22

Salut , se poate pune in loc de Hp sa-ti dea (jetpack) sau arme ([CSO] PlasmaGun) ?
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

30 Jul 2014, 16:36

Prea va complicati cu eroarea la level maxim.

Tot ce trebuie de facut e sa verifici la fiecare kill ce lvl are, si in caz ca are lvl maxim se intrerupe executia.

Code: Select all

public DeathMsg( )
{
	if(PlayerLevel[iAttacker] = MAX_LEVELS - 1)
		return PLUGIN_HANDLED;
}
Last edited by Cosmin on 30 Jul 2014, 16:40, edited 1 time in total.
Reason: e logic ca asa trebuie,doar ca trebuie sa gandesti putin :))
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
Post Reply

Return to “Pluginuri eXtream”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 21 guests