Display Coin

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

03 Apr 2016, 12:14

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <engine>

// #define PLUGIN   "[ZP] Mario Coins"
// #define VERSIO   "1.0"
// #define AUTHOR   "tuty // london modifications" 

new const ClassName[] = "Coins";
new const SoundPick[] = "ZombieOutStanding/coin.wav";
new const SoundBonu[] = "ZombieOutStanding/pickup.wav";
new const CoinModel[] = "models/ZombieOutStanding/coin.mdl";
new const SpriteExp[] = "sprites/ZombieOutStanding/blue.spr";

new g_bonus_health, g_bonus_armor, g_bonus_packs;
new Sprite;

native zp_set_user_ammo_packs(id, packs);
native zp_get_user_ammo_packs(id);
native zp_get_user_zombie(id);

public plugin_init()
{
	register_event("DeathMsg", "make_coin", "a");
	register_logevent("RoundEnd", 2, "1=Round_End");
	register_think(ClassName, "coin_think");
	register_touch(ClassName, "player", "coin_bonus");
	g_bonus_armor = register_cvar("zp_bonus_armor", "15");
	g_bonus_health = register_cvar("zp_bonus_health", "20");
	g_bonus_packs = register_cvar("zp_bonus_packs", "5");
}

public plugin_precache()
{
	engfunc(EngFunc_PrecacheModel, CoinModel);
	engfunc(EngFunc_PrecacheSound, SoundPick);
	engfunc(EngFunc_PrecacheSound, SoundBonu);
	Sprite = engfunc(EngFunc_PrecacheModel, SpriteExp);
}

public make_coin()
{
	new killer = read_data(1);
	new victim = read_data(2);
	
	if(killer == victim)
		return PLUGIN_HANDLED;
		
	new fOrigin[3];
	pev(victim, pev_origin, fOrigin);
	fOrigin[2] += 4.0;
	
	new iEnt = create_entity("info_target");
	if(!pev_valid(iEnt))
		return PLUGIN_HANDLED;
		
	engfunc(EngFunc_SetOrigin, iEnt, fOrigin);
	engfunc(EngFunc_SetModel, iEnt, CoinModel);
	set_pev(iEnt, pev_classname, ClassName);
	
	set_pev(iEnt, pev_solid, SOLID_SLIDEBOX);
	set_pev(iEnt, pev_movetype, MOVETYPE_NONE);
	set_pev(iEnt, pev_framerate, 1.0);
	set_pev(iEnt, pev_sequence, 1.0);
	
	engfunc(EngFunc_SetSize, iEnt, Float:{ -10.0, -10.0, -10.0}, Float:{ 10.0, 10.0, 10.0 });
	engfunc(EngFunc_DropToFloor, iEnt);
	
	set_pev(iEnt, pev_nextthink, get_gametime() + 1.0);
	return PLUGIN_CONTINUE;
}

public RoundEnd()
	remove_entity_name(ClassName);
	
public coin_think(iEnt)
{
	if(pev_valid(iEnt))
	{
		set_pev(iEnt, pev_nextthink, get_gametime() + 1.0);
		set_pev(iEnt, pev_framerate, 1.0);
		set_pev(iEnt, pev_sequence, 1.0);
	}
}

public coin_bonus(iEnt)
{
	if(pev_valid(iEnt))
	{
		switch(random_num(1, 4))
		{
			case 1: 
			{
				for(new i = 1; i < 32; i++)
				{
					if(!is_user_alive(i))
						return PLUGIN_HANDLED;
						
					if(zp_get_user_zombie(i))
						return PLUGIN_HANDLED;
						
					new szData = get_pcvar_num(g_bonus_armor);
					set_user_armor(i, get_user_armor(i) + szData);
					ColorChat(i, "!x04[ZP] !x03You found !x04%d AP", szData);
					client_cmd(i, "spk ^"%s^"", SoundBonu);
					set_pev(iEnt, pev_flags, FL_KILLME);
				}
			}
			
			case 2:
			{
				for(new i = 1; i < 32; i++)
				{
					if(!is_user_alive(i))
						return PLUGIN_HANDLED;
					
					if(zp_get_user_zombie(i))
						return PLUGIN_HANDLED;
						
					new szData = get_pcvar_num(g_bonus_health);
					set_user_health(i, get_user_health(i) + szData);
					ColorChat(i, "!x04[ZP] !x03You Found !x04%d HP", szData);
					client_cmd(i, "spk ^"%s^"", SoundBonu);
					set_pev(iEnt, pev_flags, FL_KILLME);
				}
			}
			
			case 3:
			{
				for(new i = 1; i < 32; i++)
				{
					if(!is_user_alive(i))
						return PLUGIN_HANDLED;
						
					if(zp_get_user_zombie(i))
						return PLUGIN_HANDLED;
						
					new szData = get_pcvar_num(g_bonus_packs);
					zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) + szData);
					ColorChat(i, "!x04[ZP] !x03You Found !x04%d Packs", szData);
					client_cmd(i, "spk ^"%s^"", SoundBonu);
					set_pev(iEnt, pev_flags, FL_KILLME);
				}
			}
			
			case 4:
			{
				for(new i = 1; i < 32; i++)
				{
					if(!is_user_alive(i))
						return PLUGIN_HANDLED;
						
					new iOrigin[3];
					pev(i, pev_origin, iOrigin);
					
					message_begin(MSG_ONE, SVC_TEMPENTITY);
					write_byte(TE_EXPLOSION);
					write_coord(iOrigin[0]);
					write_coord(iOrigin[1]);
					write_coord(iOrigin[2]);
					write_short(Sprite);
					write_byte(30);
					write_byte(10);
					write_byte(2);
					write_byte(50);
					write_byte(10);
					message_end();
					
					user_silentkill(i);
					ColorChat(i, "!x04[ZP] !x03You found a !x04Mine");
					client_cmd(i, "spk ^"%s^"", SoundBonu);
					set_pev(iEnt, pev_flags, FL_KILLME);
				}
			}
		}
	}
	
	return PLUGIN_CONTINUE;
}

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");
	replace_all(msg, 190, "!x03", "^3");
	
	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();
			}
		}
	}
}


De ce nu imi apare coin-ul cand fac un kill?
RoyalServer 2
The Kalu
Fost administrator
Fost administrator
Posts: 13708
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

08 Apr 2016, 19:46

https://forums.alliedmods.net/showthread.php?t=226183

Vezi ce scrie HamletEagle despre death event.
Image
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

08 Apr 2016, 20:11

eu nu ma folosesc de vreun parametru [acel coin nu trebuie sa apara numai lui x/y, apare la toata lumea, de acea am folosit create_entity("info_target").]
The Kalu
Fost administrator
Fost administrator
Posts: 13708
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

08 Apr 2016, 20:21

LondoN eXtream wrote:eu nu ma folosesc de vreun parametru [acel coin nu trebuie sa apara numai lui x/y, apare la toata lumea, de acea am folosit create_entity("info_target").]
Aia morti sau aia vii deoarece vad ca nu verifici.
Image
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

09 Apr 2016, 09:55

Eu cand mor si ma uit spec pe cineva, el tot trebuie sa apara.
Cand atacatorul trece prin el sa primeasca unul din bonusuri.
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

10 Apr 2016, 12:21

Kommendante wrote:https://forums.alliedmods.net/showthread.php?t=226183

Vezi ce scrie HamletEagle despre death event.
Nah, tutorialul ala e vechi si nu explica mai nimic. E in cosu de gunoi cu un motiv :))
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 4 guests