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

Kilka problemów.


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1012
  • Lokalizacja:Sosnowiec
Offline

Napisano 12.03.2010 23:21

Mam problem. Dałem mojej nowej klasie, że ma 30 dmg więcej jak walnie w plecy i zrobiłem to tak:


/* ==================================================================================================== */

public add_bonus_darksteel(attacker,id,damage)
{
	if (player_b_darksteel[attacker] > 0)
	{
		if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
		{
			
			new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)
			
			Effect_Bleed(id,248)
			change_health(id,-dam,attacker,"world")
		}
	}
        if (c_darksteel[attacker] > 0)
	{
		if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
		{
			
			new dam = floatround (15+player_strength[id]*2*c_darksteel[id]/10.0)
			
			Effect_Bleed(id,248)
			change_health(id,-dam,attacker,"world")
		}
	}
}

/* ==================================================================================================== */

Ale nic to nie daje, nie ma więcej dmg w plecy...

Ofc. Dodałem
c_darksteel[33]
i przed Switchem i w
new c_darksteel[33]

Oraz mam 16 klas, ale w cvarach mam abcdefghi i mam wszystkie klasy odblokowane, czemu?

Użytkownik Screeaam... edytował ten post 12.03.2010 23:24


#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 12.03.2010 23:28

new dam = floatround (15+player_strength[id]*2*c_darksteel[id]/10.0)

Ja widze 15 :F

Pamietaj dac cos w zmienna c_darksteel[id] przy wybraniu klasy :F

12 marzec 2010 - 23:28:

Oraz mam 16 klas, ale w cvarach mam abcdefghi i mam wszystkie klasy odblokowane, czemu?


Sam je dodałeś, wiec to ty powinieneś wiedzieć :F
  • +
  • -
  • 1

#3 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1012
  • Lokalizacja:Sosnowiec
Offline

Napisano 12.03.2010 23:32

Czyli ma być:

new dam = floatround (30+player_strength[id]*2*c_darksteel[id]/10.0)

A w zmiennej ma być tak:

c_darksteel[id] = 30

czy:

c_darksteel[id] = 1

I przed Switchem
c_darksteel[id] = 0






====================================================================================================================

Czy takie coś bd działać?:


/* ==================================================================================================== */

public add_theif_bonus(id,attacker_id)
{
	if (player_b_theif[attacker_id] > 0)
	{
		new roll1 = random_num(1,5)
		if (roll1 == 1)
		{
			if (cs_get_user_money(id) > player_b_theif[attacker_id])
			{
				cs_set_user_money(id,cs_get_user_money(id)-player_b_theif[attacker_id])
				if (cs_get_user_money(attacker_id) + player_b_theif[attacker_id] <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+player_b_theif[attacker_id])		
				}
			}
			else
			{
				new allthatsleft = cs_get_user_money(id)
				cs_set_user_money(id,0)
				if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)			
				}
			}
		}
	}
        if (c_theif[attacker_id] > 0)
	{
		new roll1 = random_num(1,5)
		if (roll1 == 1)
		{
			if (cs_get_user_money(id) > c_theif[attacker_id])
			{
				cs_set_user_money(id,cs_get_user_money(id)-c_theif[attacker_id])
				if (cs_get_user_money(attacker_id) + c_theif[attacker_id] <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+c_theif[attacker_id])		
				}
			}
			else
			{
				new allthatsleft = cs_get_user_money(id)
				cs_set_user_money(id,0)
				if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)			
				}
			}
		}
	}
}

/* ==================================================================================================== */

I z
c_theif
robie to samo co wyżej, tylko przy wyborze klasy w menu wpisuje:

c_theif[id] = 850

850 ilość kasy, dobrze?

Użytkownik Screeaam... edytował ten post 12.03.2010 23:37


#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 12.03.2010 23:41

c_darksteel - musi byc wieksze od 0, a co 10 siły bedzie zadawac dodatkowo c_darksteel[id] obrazen.

Kod nizej powinien dzialac na moje (zmeczone) oko.
  • +
  • -
  • 1

#5 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1012
  • Lokalizacja:Sosnowiec
Offline

Napisano 12.03.2010 23:46

c_darksteel - musi byc wieksze od 0, a co 10 siły bedzie zadawac dodatkowo c_darksteel[id] obrazen.

Kod nizej powinien dzialac na moje (zmeczone) oko.


Czyli w menu wyboru klasy
c_darksteel[id] = 1
? A gdzie jest od zadawania Dmg?

I jeszcze jedna rzecz. Jak z pluginu wyciagnac funkcje i wgrac w Diablo? Co stamtad potrzebuje?

A jak mam Thiefa, to co odpowiada za ilość kradnięcia kasy?

Użytkownik Screeaam... edytował ten post 12.03.2010 23:48


#6 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 13.03.2010 00:48

new dam = floatround (30+player_strength[id]*2*c_darksteel[id]/10.0)

Rozbijamy na 2:
dmg podstawowe:
30

dodatkowe dmg od statow i itemu:
player_strength[id]*2*c_darksteel[id]/10.0

? A gdzie jest od zadawania Dmg?

Funkcja obsluguje dawanie/zabieranie hp (kopiowac zywcem do innych funkcji :F ):
change_health(id,-dam,attacker,"world")

I jeszcze jedna rzecz. Jak z pluginu wyciagnac funkcje i wgrac w Diablo? Co stamtad potrzebuje?


Edytujesz sma, kompilujesz do amxx i wgrywasz na serwer - przy braku bledow bedzie dzialac.

A jak mam Thiefa, to co odpowiada za ilość kradnięcia kasy?

c_theif[id] = 850 // kradniesz 850$
  • +
  • -
  • 1

#7 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1012
  • Lokalizacja:Sosnowiec
Offline

Napisano 13.03.2010 18:12

Ok, a np. taki BunnyHop?

/*
 *
 *	Author:		Cheesy Peteza
 *	Date:		22-Apr-2004 (updated 2-March-2005)
 *
 *
 *	Description:	Enable bunny hopping in Counter-Strike.
 *
 *	Cvars:
 *			bh_enabled		1 to enable this plugin, 0 to disable.
 *			bh_autojump		If set to 1 players just need to hold down jump to bunny hop (no skill required)
 *			bh_showusage		If set to 1 it will inform joining players that bunny hopping has been enabled
 *						and how to use it if bh_autojump enabled.
 *
 *	Requirements:	AMXModX 0.16 or greater
 *
 *
 */

#include <amxmodx>
#include <engine>

#define	FL_WATERJUMP	(1<<11)	// player jumping out of water
#define	FL_ONGROUND	(1<<9)	// At rest / on the ground

public plugin_init() {
	register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
	register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)

	register_cvar("bh_enabled", "1")
	register_cvar("bh_autojump", "1")
	register_cvar("bh_showusage", "1")
}

public client_PreThink(id) {
	if (!get_cvar_num("bh_enabled"))
		return PLUGIN_CONTINUE

	entity_set_float(id, EV_FL_fuser2, 0.0)		// Disable slow down after jumping

	if (!get_cvar_num("bh_autojump"))
		return PLUGIN_CONTINUE

// Code from CBasePlayer::Jump (player.cpp)		Make a player jump automatically
	if (entity_get_int(id, EV_INT_button) & 2) {	// If holding jump
		new flags = entity_get_int(id, EV_INT_flags)

		if (flags & FL_WATERJUMP)
			return PLUGIN_CONTINUE
		if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
			return PLUGIN_CONTINUE
		if ( !(flags & FL_ONGROUND) )
			return PLUGIN_CONTINUE

		new Float:velocity[3]
		entity_get_vector(id, EV_VEC_velocity, velocity)
		velocity[2] += 250.0
		entity_set_vector(id, EV_VEC_velocity, velocity)

		entity_set_int(id, EV_INT_gaitsequence, 6)	// Play the Jump Animation
	}
	return PLUGIN_CONTINUE
}

public client_authorized(id)
	set_task(30.0, "showUsage", id)

public showUsage(id) {
	if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
		return PLUGIN_HANDLED

	if ( !get_cvar_num("bh_autojump") ) {
		client_print(id, print_chat, "[AMX] Bunny hopping is enabled on this server. You will not slow down after jumping.")
	} else {
		client_print(id, print_chat, "[AMX] Auto bunny hopping is enabled on this server. Just hold down jump to bunny hop.")
	}
	return PLUGIN_HANDLED
}

Musze zdefiniować:

#define	FL_WATERJUMP	(1<<11)	// player jumping out of water
#define	FL_ONGROUND	(1<<9)	// At rest / on the ground

W client prethink:
public client_PreThink(id) {
	if (player_b_bh[id] > 0)
		return PLUGIN_CONTINUE

	entity_set_float(id, EV_FL_fuser2, 0.0)		// Disable slow down after jumping

	if (player_b_bh[id] > 0)
		return PLUGIN_CONTINUE

// Code from CBasePlayer::Jump (player.cpp)		Make a player jump automatically
	if (entity_get_int(id, EV_INT_button) & 2) {	// If holding jump
		new flags = entity_get_int(id, EV_INT_flags)

		if (flags & FL_WATERJUMP)
			return PLUGIN_CONTINUE
		if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
			return PLUGIN_CONTINUE
		if ( !(flags & FL_ONGROUND) )
			return PLUGIN_CONTINUE

		new Float:velocity[3]
		entity_get_vector(id, EV_VEC_velocity, velocity)
		velocity[2] += 250.0
		entity_set_vector(id, EV_VEC_velocity, velocity)

		entity_set_int(id, EV_INT_gaitsequence, 6)	// Play the Jump Animation
	}
	return PLUGIN_CONTINUE
}

Coś takiego? ;d I
new player_b_bh[33]
gdzieś na górze.

13 marzec 2010 - 11:51:
A to, że Mag zamraża wogóle działa? Bo jakoś tego nie widać. ;/

13 marzec 2010 - 18:12:
Poza tym, Zabójca ma moc, że jak kogoś strzeli też nie działa, czemu?




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

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