Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PaintballMod

Przerobienie paintballnade

paintballmod

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 Workout

    Zaawansowany

  • Użytkownik

Reputacja: -1
Mniej niż zer0.

  • Postów:109
  • Lokalizacja:krk
Offline

Napisano 16.08.2014 16:28

Proszę żeby ktoś wywalił wszystkie modele granatów stąd i zostawił tylko to że granat po wybuchnięciu zabija od razu wszystkich w pobliżu

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Paintball Nade"
#define VERSION "1.0"
#define AUTHOR "WhooKid"

new pbnade, radius, MaxPlayers, blood1, blood2;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	pbnade = register_cvar("amx_pbnade", "1");

	if (get_pcvar_num(pbnade))
	{
		register_event("CurWeapon", "ev_curweapon", "be");
		register_forward(FM_SetModel, "fw_setmodel");
		register_forward(FM_Think, "fw_think");

		radius = register_cvar("pbnade_radius", "150");
		
		MaxPlayers = get_maxplayers();
	}
}

public plugin_precache()
{
	register_cvar("amx_pbnade", "1")
	if (get_cvar_num("amx_pbnade"))
	{
		precache_model("models/p_pbnade.mdl");
		precache_model("models/v_pbnade.mdl");
		precache_model("models/w_pbnade.mdl");
		blood1 = precache_model("sprites/blood.spr");
		blood2 = precache_model("sprites/bloodspray.spr");
	}
}

public ev_curweapon(id)
{
	new model[25];
	pev(id, pev_viewmodel2, model, 24);
	if (equali(model, "models/v_hegrenade.mdl"))
	{
		set_pev(id, pev_viewmodel2, "models/v_pbnade.mdl");
		set_pev(id, pev_weaponmodel2, "models/p_pbnade.mdl");
	}
}

public fw_setmodel(ent, model[]) 
{
	if (equali(model, "models/w_hegrenade.mdl")) 
	{
		engfunc(EngFunc_SetModel, ent, "models/w_pbnade.mdl");
		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED;
}

public fw_think(ent)
{
	new model[25];
	pev(ent, pev_model, model, 24);

	if (!equali(model, "models/w_pbnade.mdl"))
		return FMRES_IGNORED;

	set_task(1.6, "act_explode", ent);

	return FMRES_SUPERCEDE;
}

public act_explode(ent)
{
	if (!pev_valid(ent))
		return;

	new origin[3], Float:forigin[3], colors[4], owner = pev(ent, pev_owner), user_team = get_user_team(owner);

	colors = (user_team == 1) ? { 255, 0, 247, 70} : { 0, 255, 208, 30};
	pev(ent, pev_origin, forigin);
	FVecIVec(forigin, origin);

	new id, Float:distance = float(get_pcvar_num(radius)), Float:porigin[3];

	while (id++ < MaxPlayers)
		if (is_user_alive(id))
		{
			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_LAVASPLASH);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2] - 50);
			message_end();

			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_BLOODSPRITE);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2] + 20);
			write_short(blood2);
			write_short(blood1);
			write_byte(colors[2]);
			write_byte(30);
			message_end();

			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_DLIGHT);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2]);
			write_byte(40);
			write_byte(colors[0]);
			write_byte(20);
			write_byte(colors[1]);
			write_byte(8);
			write_byte(60);
			message_end();

			if (user_team != get_user_team(id) || owner == id)
			{
				pev(id, pev_origin, porigin);
				if (get_distance_f(forigin, porigin) <= distance)
					if (fm_is_visible(ent, id))
						ExecuteHam(Ham_TakeDamage, id, ent, owner, (id != owner) ? 100.0 : 300.0, 0);
			}
		}

	emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);

	engfunc(EngFunc_RemoveEntity, ent);
}

stock bool:fm_is_visible(ent, target)
{
	if (pev_valid(ent) && pev_valid(target))
	{
		new Float:start[3], Float:view_ofs[3], Float:point[3];
		pev(ent, pev_origin, start);
		pev(ent, pev_view_ofs, view_ofs);
		pev(target, pev_origin, point);
		start[0] += view_ofs[0];
		start[1] += view_ofs[1];
		start[2] += view_ofs[2];
		engfunc(EngFunc_TraceLine, start, point, 1, ent, 0);
		new Float:fraction;
		get_tr2(0, TR_flFraction, fraction);
		if (fraction == 1.0)
			return true;
	}
	return false;
}

  • +
  • -
  • 0

#2 CzarnaDupa

    Najgorszy z najgorszych >.<

  • Użytkownik

Reputacja: 83
Zaawansowany

  • Postów:268
  • GG:
  • Imię:Michał
  • Lokalizacja:Mielec
Offline

Napisano 16.08.2014 16:32

Hmmm a czy czasem po wywaleniu all modeli nie będziesz widział tego granatu nawet w ręcę?
Sorki, że tak dopytuje ale wydaje mi się to hmmm troszkę dziwne ;P


  • +
  • -
  • 0

#3 Workout

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: -1
Mniej niż zer0.

  • Postów:109
  • Lokalizacja:krk
Offline

Napisano 16.08.2014 17:46

Chodziło mi o to żeby z normalnego granata był dalej granat do paintball bo mdl do granatów wszystkich ja mam :D


  • +
  • -
  • 0

#4 Damian.

    Zaawansowany

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:88
  • Imię:Damian
  • Lokalizacja:Bydzia
Offline

Napisano 16.08.2014 17:47

Cvar

 

amx_pbnade (domyślnie 1) - Włącza paintballowe granaty dla graczy

  • +
  • -
  • 0

#5 Workout

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: -1
Mniej niż zer0.

  • Postów:109
  • Lokalizacja:krk
Offline

Napisano 16.08.2014 18:37

Wiem że ten carv wyłącza granaty ale ja ich nie chce wyłączyć tylko chce zostawić jedną rzecz żeby granat wybuchowy był normalny reszte wywalić bo cały plugin crashuje mi serwer


  • +
  • -
  • 0

#6 GoldenKill

    Guru

  • Power User

Reputacja: 506
Wszechwiedzący

  • Postów:792
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 17.08.2014 00:51

Sprawdź

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Paintball Nade"
#define VERSION "1.0"
#define AUTHOR "WhooKid"

new pbnade, radius, MaxPlayers, blood1, blood2;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	pbnade = register_cvar("amx_pbnade", "1");

	if (get_pcvar_num(pbnade))
	{
		register_forward(FM_Think, "fw_think");

		radius = register_cvar("pbnade_radius", "150");
		
		MaxPlayers = get_maxplayers();
	}
}

public plugin_precache()
{
	register_cvar("amx_pbnade", "1")
	if (get_cvar_num("amx_pbnade"))
	{
		blood1 = precache_model("sprites/blood.spr");
		blood2 = precache_model("sprites/bloodspray.spr");
	}
}

public fw_think(ent)
{
	set_task(1.6, "act_explode", ent);
}

public act_explode(ent)
{
	if (!pev_valid(ent))
		return;

	new origin[3], Float:forigin[3], colors[4], owner = pev(ent, pev_owner), user_team = get_user_team(owner);

	colors = (user_team == 1) ? { 255, 0, 247, 70} : { 0, 255, 208, 30};
	pev(ent, pev_origin, forigin);
	FVecIVec(forigin, origin);

	new id, Float:distance = float(get_pcvar_num(radius)), Float:porigin[3];

	while (id++ < MaxPlayers)
		if (is_user_alive(id))
		{
			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_LAVASPLASH);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2] - 50);
			message_end();

			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_BLOODSPRITE);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2] + 20);
			write_short(blood2);
			write_short(blood1);
			write_byte(colors[2]);
			write_byte(30);
			message_end();

			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
			write_byte(TE_DLIGHT);
			write_coord(origin[0]);
			write_coord(origin[1]);
			write_coord(origin[2]);
			write_byte(40);
			write_byte(colors[0]);
			write_byte(20);
			write_byte(colors[1]);
			write_byte(8);
			write_byte(60);
			message_end();

			if (user_team != get_user_team(id) || owner == id)
			{
				pev(id, pev_origin, porigin);
				if (get_distance_f(forigin, porigin) <= distance)
					if (fm_is_visible(ent, id))
						ExecuteHam(Ham_TakeDamage, id, ent, owner, (id != owner) ? 100.0 : 300.0, 0);
			}
		}

	emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);

	engfunc(EngFunc_RemoveEntity, ent);
}

stock bool:fm_is_visible(ent, target)
{
	if (pev_valid(ent) && pev_valid(target))
	{
		new Float:start[3], Float:view_ofs[3], Float:point[3];
		pev(ent, pev_origin, start);
		pev(ent, pev_view_ofs, view_ofs);
		pev(target, pev_origin, point);
		start[0] += view_ofs[0];
		start[1] += view_ofs[1];
		start[2] += view_ofs[2];
		engfunc(EngFunc_TraceLine, start, point, 1, ent, 0);
		new Float:fraction;
		get_tr2(0, TR_flFraction, fraction);
		if (fraction == 1.0)
			return true;
	}
	return false;
}

  • +
  • -
  • 0

"Wojownik nie umiera lekko. Śmierć, by go dopaść, musi stoczyć z nim walkę. A wojownik łatwo śmierci nie ulega."

 

Carlos Castaneda, The Wheel of Time

 

 

Mam na sprzedaż unikatowy system questów, nową walutę oraz rangi na cod moda. Zainteresowanych zapraszam na pw, GG lub Steam.






Również z jednym lub większą ilością słów kluczowych: paintballmod

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych