Skocz do zawartości

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
PokeMod

[ROZWIĄZANE] Odczytywanie zadanych obrażeń przez użytkownikaWykorzystanie natywów zawartych w Poke-Modzie.

pokemod poke_damage poke_aoe_damage poke_line_damage

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

#1 OnlyOne2

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Imię:Jacek
Offline

Napisano 28.04.2013 17:42

Witam wszystkich serdecznie!
Dzisiaj modyfikowałem swój silnik pokemoda, lecz "kołaczy" mnie jedna opcja. Otóż patrząc na strukturę samego PokeMod'a, wprowadza on w jakimś tam stopniu Odczyt obrażeń, które zadaliśmy "skilem" pokemona.

 

Moje pytanie jest następujące :

1. Jakich DOKŁADNIE argumentów używa ta funkcja:

 

Poke_Damage

 

Patrząc na dokładną definicję w pokemod.inc , widzimy: 

//Obrażenia zadane  ostatniemu przeciwnikowi
native Poke_Damage(victim, attacker, damage, Attack[], POKE_TYPE:attack_type=MAX_TYPES, POKE_TYPE:victim_type=MAX_TYPES, PM_STATUS:status=MAX_STATUS, status_mult=1);
//Całkowite obrażenia zadane w rundzie
native Poke_AoE_Damage(attacker, Float:origin[3], radius, maxdamage, Attack[], AOE_FLAGS:aoe_flags=AOE_NORMAL, POKE_TYPE:attack_type=MAX_TYPES, POKE_TYPE:victim_type=MAX_TYPES, PM_STATUS:status=MAX_STATUS, status_mult=1);
//Nie mam pojęcia czym różni się od @Up
native Poke_Line_Damage(attacker, Float:start[3], Float:end[3], radius, maxdamage, Attack[], POKE_TYPE:attack_type=MAX_TYPES, POKE_TYPE:victim_type=MAX_TYPES, PM_STATUS:status=MAX_STATUS, status_mult=1);

Teraz tak. zagłębiając się w użycie w przykładowym pluginie.

public DeathMsg()
{

new kid = read_data(1)
new vid = read_data(2)

/* new damage = ? obrażenia zadane przez gracza? czy co :D */

new wyswietl = Poke_Damage(kid,vid, "damage" ...) // Moje pytanie brzmi .. Co dokładnie oznacza funkcja damage? czym ona dokładnie jest oraz jakie są inne zmienne przy tej funkcji ..

// Powiedzmy że chcę to wyświetlić w HUD'ie

	set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
	show_hudmessage(0,"%s zadal %s obrazen!", kid, wyswietl)
}

Proszę o "rozwianie" moich pytań.

 

Pozdrawiam

OnlyOne

 


  • +
  • -
  • 0

#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 28.04.2013 18:07

Pierw w twoim kodzie jest błąd
show_hudmessage(0,"%s zadal %s obrazen!", kid, wyswietl)
kid - to id więc nie wypiszesz tego jako string, tak samo wyswietl.
show_hudmessage(0,"%d zadal %d obrazen!", kid, wyswietl)
Teraz do twojego pytania. Nie rozumiem za bardzo o co Ci chodzi z tymi argumentami. Może o to:
Victim - Id gracza, który otrzymał obrażenia
Attacker - Id gracza, który zadał obrażenia
damage - Liczba zadanych obrażeń
Reszte Ci nie powiem, gdyż za bardzo poke nie znam. W ogóle za bardzo nie rozumiem, dlaczego
native Poke_Damage
Jest w natywie, po składni wygląda mi na forward.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 OnlyOne2

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Imię:Jacek
Offline

Napisano 28.04.2013 18:19

No tak, ja myślę podobnie, lecz: 

co ja mam wpisać za damage? ...
Przecież to właśnie chcę wiedzieć - Ile gracz zadał obrażeń. 
Mogę pokazać Ci cały register natywu z natives.inl ( Tak zrobię )
 

 public _Damage(iPlugin,iParams)
 {
	if(iParams!=4)
		return 0
	new victim = get_param(1)
	new attacker = get_param(2)
	if(!Pokemod_Connected(victim) || !Pokemod_Connected(attacker))
		return 0
	new damage = get_param(3)
	new Attack[51]
	get_string(4, Attack, 50)
	new POKE_TYPE:_attack_type = POKE_TYPE:get_param(5)
	new POKE_TYPE:_victim_type = POKE_TYPE:get_param(6)
	new PM_STATUS:_status = PM_STATUS:get_param(7)
	new status_mult = get_param(8)
	return pokedamage(victim, attacker, damage, Attack, _attack_type, _victim_type, _status, status_mult)
 }

  • +
  • -
  • 0

#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 28.04.2013 18:24

Ahaa, spróbuj tak:
new victim, attacker, damage, attack[64]
pokedamage(victim, attacker, damage, Attack)
client_print(0, 3, "V: %d | A: %d | DMG: %d | At: %s", victim, attacker, damage, attack, attack, attack)
Nie jestem pewien czy zadziała.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 OnlyOne2

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Imię:Jacek
Offline

Napisano 29.04.2013 08:11

Niestety, plugin kompiluje się poprawnie - jednak nie wyświetla on zadanych obrażeń ;/


  • +
  • -
  • 0

#6 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 29.04.2013 09:04

Trzeba pamiętać o tym, że victim = PokeSkillTarget(id), bynajmniej w środku pokemoda. Co za tym idzie łatwiej można tworzyć tam pluginy. Ja włączyłem do środka nowe menu wymiany pokemonów, ponieważ miałem udostępnionych więcej funkcji niż z samej bliblioteki.


  • +
  • -
  • 0

#7 OnlyOne2

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Imię:Jacek
Offline

Napisano 29.04.2013 09:26

Czyli proponujesz mi, ażebym wbudował tą funkcja w sam silnik pokemoda? :)

 

Czy mógłbyś "podpowiedzieć" mi kilka trików z tym silnikiem czy to na łamach forum, czy na gadugadu? :)

 

Byłbym bardzo zobowiązany.

 

Serdecznie pozdrawiam

OnlyOne


  • +
  • -
  • 0

#8 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 29.04.2013 09:29

Wg mnie byłoby o wiele łatwiej.

 

----

Tak na marginesie nie pomagam w związku z pokemodem, tylko staram się nakierować. Za dużo czasu przy nim pracowałem, żeby "zmarnować" tą wiedzę ^^

 

PS : nie czytam gg. Za dużo spamu.


  • +
  • -
  • 0

#9 OnlyOne2

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Imię:Jacek
Offline

Napisano 29.04.2013 09:45

Ok. Szkoda :)

Musze sam do tego dojść metodą prób i błędów, jeszcze jedno moje pytanie..

Tylko je już skieruję na PW.

W tym momencie proszę o nie zamykanie tego topica ;)


  • +
  • -
  • 0

#10 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 01.05.2013 09:36

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: pokemod, poke_damage, poke_aoe_damage, poke_line_damage

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

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