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

Item redukyjący hp.


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

#1 dog_1

    Profesjonalista

  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:150
  • Lokalizacja:Gdańsk
Offline

Napisano 25.07.2011 20:40

Dobry wieczór.
Napotkałem na dziwny problem podczas tworzenia itemów które redukują hp. Są takie same jak Stalker ring z małymi różnicami w widoczności i redukowanego hp.
O to ich kody
case 99:
{
player_item_name[id] = "Stalker 2"
player_item_id[id] = rannum
player_b_inv[id] = 20
player_b_reduceH[id] = 55
if (is_user_alive(id)) set_user_health(id,45)
case 100:
{
player_item_name[id] = "Stalker 3"
player_item_id[id] = rannum
player_b_reduceH[id] = 95
player_b_inv[id] = 1
item_durability[id] = 50

if (is_user_alive(id)) set_user_health(id,5)

Dodaję te itemy do public add_redhealth_bonus(id) w ten sposób:
public add_redhealth_bonus(id)
{
if (player_b_reduceH[id] > 0)
change_health(id,-player_b_reduceH[id],0,"")
if(player_item_id[id]==17 || player_item_id[id]==100)
set_user_health(id,5)
if(player_item_id[id]==99)
set_user_health(id,45)
}

I już przy tym publicu są problemy, zaraz wyjaśnię.
W public task_setplayer(args[]) ustawiłem
if(player_item_id[id]==17 || player_item_id[id]==100 ) fm_set_user_health(id,5)
if(player_item_id[id]==99) fm_set_user_health(id,45)

W public change_health
if(player_item_id[id]==17 || player_item_id[id]==100 &&hp>0)
{
set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1)
}
if(player_item_id[id]==99 &&hp>0)
{
set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1)
}

Ten wyżej mało ważny.

Itemy działają, ale bugują wszystkie itemy typu Unique. W public award_unique_item(id) nic nie zmieniałem. Bug jest taki, że jakimś dla mnie dziwnym sposobem, ustawiają 5 hp na każdej rundzie. Tak jak te 2 itemy. Nie wiem dlaczego jeszcze przypisuje im wartość unique jak są w zwykłych case. Ale jak usunę te itemy z public add_redhealth_bonus to Itemy inique działają poprawnie. Może o czymś jeszcze zapomniałem dopisać?

++ będą.

@edit
Zauważyłem coś dopiero i proszę o wyjaśnienie ;)
W public award_unique_item(id) mam takie linijki
player_item_name[id] = Unique_name
player_item_id[id] = 100

Znaczy to że item nr. 100 jest itemem z serii unique? Jeżeli tak to problem się rozwiązał?:) I głupie pytanie, case 100 w public award_item zostawić jako wolny? W sensie
Case 99:{item}
case 101:{item}

Użytkownik dog_1 edytował ten post 29.07.2011 18:50

  • +
  • -
  • 0

#2 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.07.2011 19:02

Jak masz więcej niż 100 normalnych itemów to do itemu unique przypisz wartość, np. 200.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#3 dog_1

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:150
  • Lokalizacja:Gdańsk
Offline

Napisano 29.07.2011 20:35

Racja, problem rozwiązany :) Można zamknąć.
  • +
  • -
  • 0




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

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