←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pare pytań Diablo 5.9I

Locked

  • +
  • -
Sniper Elite's Photo Sniper Elite 27.04.2011

Witam. Mam parę pytań odnośnie tego Diablo, a mianowicie:

- gdzie jest odnawianie się pancerz barbarzyńcy po zabiciu wroga (w kodzie),
- gdzie się zmienia czas ładowania mocy nożowych,
- czy istnieje jakiś poradnik odnośnie tworzenia efektów takich jak np. item, który sprawia, że wybuchasz po śmierci,

Dziękuje bardzo za chociażby jedną odpowiedź.
Quote

  • +
  • -
Dalinor's Photo Dalinor 27.04.2011

Pancerz barbarzyńcy:
stock refill_ammo(id)
{
new wpnid
if(!is_user_alive(id) || pev(id,pev_iuser1)) return;

cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);



Ładowanie mocy nożowej:

W funkcji:
public client_PreThink ( id ) 


szukasz

else if(casting[id]==0)
Quote

  • +
  • -
ParadisO's Photo ParadisO 27.04.2011

czas ładowania mocy nożowych zależy od inteligencji gracza
Quote

Zaszka's Photo Zaszka 27.04.2011

czas ładowania mocy nożowych zależy od inteligencji gracza


A czy mu to jest potrzebne?

On sie pyta gdzie to jest...


//////////////////////////////////
Nie istnieje w dziale diablomod poradnik do tworzenia efektów
Poszukaj w google fraze efekty msg czy jakos ;]
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 27.04.2011

No tak od int tez moze, ale przy 0 int szybsze bieganie laduje sie 10 sek, a magiczny pancerz chyba tylko 6 i o to mi chodzi.

Oczywiście plusy lecą.

Dodano 27 kwiecień 2011 - 14:52:
Jak dodać aby inna klasa miała też odnowione 200 armoru po zabiciu kogoś bo sam tego nie kminie.
Quote

  • +
  • -
Dalinor's Photo Dalinor 27.04.2011

W:
public DeathMsg(id)


Szukasz
if (player_class[kid] == Barbarzynca )
refill_ammo(kid)


Zmieniasz na:
if (player_class[kid] == Barbarzynca || player_class[kid] == NazwaKlasy)
refill_ammo(kid)


I jeśli chcesz, aby ta klasa nie miała odnowienia amunicji to:
Szukasz:
stock refill_ammo


I zmieniasz cały na:
stock refill_ammo(id)
{
new wpnid
if(!is_user_alive(id) || pev(id,pev_iuser1)) return;

cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);
if(player_class[id] == Barbarzynca)
{
new wpn[32],clip,ammo
wpnid = get_user_weapon(id, clip, ammo)
get_weaponname(wpnid,wpn,31)

new wEnt;

// set clip ammo
wpnid = get_weaponid(wpn)
//wEnt = get_weapon_ent(id,wpnid);
wEnt = get_weapon_ent(id,wpnid);
cs_set_weapon_ammo(wEnt,maxClip[wpnid]);
}

}
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 28.04.2011

Ok, ale czy barbarzyncy tez nie zabierzemy odnowienia ammo? I jeszcze jedno pytanie, gdzie sie ustawia gravitacje klasy?
Quote

  • +
  • -
Dalinor's Photo Dalinor 28.04.2011

w:

public set_gravitychange



Nie, nie zabierzemy.
Edited by Dalinor, 28.04.2011 17:23.
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 28.04.2011

Ok, mam nadzzieje, że wszystko zadziała, sprawdze jutro bo dziś nie mam czasu. Oraz kolejny problem, daje tak:

if( player_class[id]== Paladyn ) JumpsMax[id]=5+floatround(player_intelligence[id]/10.0)
		else if( player_class[id]== Upadlyrycerz ) JumpsMax[id]=2+floatround(player_intelligence[id]/10.0)
		else JumpsMax[id]=0

A mój Upadly Rycerz nie ma tych LongJumpów i tu do was prośba, jak zrobić aby miał te dwa.

Dodano 29 kwiecień 2011 - 07:06:
I ustawiam te grawitacje tak:

public set_gravitychange(id)
{
	if(is_user_alive(id) && is_user_connected(id))
	{
		if(player_class[id] == Ninja)
		{
			if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
			else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
			else set_user_gravity(id, 0.25)
		}
		else if((player_class[id] == Szaman) || (player_class[id] == Belial))
		{
			set_user_gravity(id, 0.6)
		}
		else
		{
			set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
		}
	}
}

I nie dziala ta grawitacja.
Quote

Jagoda's Photo Jagoda 29.04.2011

zrob tak

public set_gravitychange(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
if(player_class[id] == Ninja)
{
if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
else set_user_gravity(id, 0.25)
}
else if((player_class[id] == Szaman) || (player_class[id] == Belial))
{
if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
else set_user_gravity(id, 0.60)
}
else
{
set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
}
}
}
Quote

  • +
  • -
KariiO's Photo KariiO 29.04.2011

W:

public DeathMsg(id)


Szukasz
if (player_class[kid] == Barbarzynca )
refill_ammo(kid)


Zmieniasz na:
if (player_class[kid] == Barbarzynca || player_class[kid] == NazwaKlasy)
refill_ammo(kid)


I jeśli chcesz, aby ta klasa nie miała odnowienia amunicji to:
Szukasz:
stock refill_ammo


I zmieniasz cały na:
stock refill_ammo(id)
{
new wpnid
if(!is_user_alive(id) || pev(id,pev_iuser1)) return;

cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);
if(player_class[id] == Barbarzynca)
{
new wpn[32],clip,ammo
wpnid = get_user_weapon(id, clip, ammo)
get_weaponname(wpnid,wpn,31)

new wEnt;

// set clip ammo
wpnid = get_weaponid(wpn)
//wEnt = get_weapon_ent(id,wpnid);
wEnt = get_weapon_ent(id,wpnid);
cs_set_weapon_ammo(wEnt,maxClip[wpnid]);
}

}

w deathmsg po refill ammo:
if (player_class[kid] == Twoja_Klasa ) cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);

Edited by KariiO, 29.04.2011 09:46.
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 29.04.2011

No tak, ale ja chce, żeby ta klasa miała inną grawitacje, troxhę żeby niżej skakała od ninji.

Dodano 29 kwiecień 2011 - 11:57:

if (player_class[kid] == Twoja_Klasa ) cs_set_user_armor(id,200,CS_ARMOR_VESTHELM);


I reszta kodu się nie wykona dla tej klasy?
Quote

  • +
  • -
Onyke's Photo Onyke 29.04.2011

@up
1.
To zmieniasz te wartosci
if(player_b_gravity[id]>6) set_user_gravity(id, 0.17) //tutaj zmieniasz 0.17 na ile chcesz
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2) //tutaj zmieniasz 0.2 na ile chcesz
else set_user_gravity(id, 0.60) //tutaj zmieniasz 0.60 na ile chcesz. To jest podstawowa grawita bez itemow itp
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 29.04.2011

No właśnie mam tak:

else if((player_class[id] == Szaman) || (player_class[id] == Belial))
		{
            if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
            else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
            else set_user_gravity(id, 0.60)

		}

I dalej ma standardową grawitacje.

+ następna sprawa, mam ustawione żeby dawało 30 hp po zabiciu wroga, a daje ok 45 nie wiem czemu:

public add_barbarian_bonus(id)
{
	if (player_class[id] == Barbarzynca)
	{	
		change_health(id,30,0,"")
	}
	if (player_class[id] == Szkielet)
	{	
		change_health(id,30,0,"")
	}
	if (player_class[id] == Diablo)
	{	
		change_health(id,30,0,"")
	}

help.
Quote

  • +
  • -
KariiO's Photo KariiO 29.04.2011

No właśnie mam tak:

else if((player_class[id] == Szaman) || (player_class[id] == Belial))
		{
            if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
            else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
            else set_user_gravity(id, 0.60)

		}

1.I dalej ma standardową grawitacje.

2.+ następna sprawa, mam ustawione żeby dawało 30 hp po zabiciu wroga, a daje ok 45 nie wiem czemu:

public add_barbarian_bonus(id)
{
	if (player_class[id] == Barbarzynca)
	{	
		change_health(id,30,0,"")
	}
	if (player_class[id] == Szkielet)
	{	
		change_health(id,30,0,"")
	}
	if (player_class[id] == Diablo)
	{	
		change_health(id,30,0,"")
	}

help.

1.
Nie dziw się jak masz tam ifa że musi mieć archy a konkretnie ich moc czyli player_b_gravity...
2.
Obstawiam na kradnięcie/wysysanie HP.
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 29.04.2011

Ad.2 ale tylko po zabiciu tak jest.
Ad.1 czyli jak zrobic aby mial to bez archow?

Dodano 29 kwiecień 2011 - 16:44:
Gdzie jest funkcja, która odpowiada za danie graczowi itemu po zabiciu wroga?
Quote

  • +
  • -
Dalinor's Photo Dalinor 03.05.2011

award_item
Quote

  • +
  • -
Sniper Elite's Photo Sniper Elite 03.05.2011

Ok, dzięki za pomoc, na razie jej już nie potrzebuje bo sobie jakoś radze, może później jeszcze was o coś poproszę.
Oczywiście + dla wszystkich co pomogli.
Quote
Locked