Punkty umiejętności
Aktualny czas: 28-04-26, 19:45 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VX] Punkty umiejętności
Allemov Offline
*


Liczba postów: 75
Dołączył: 29-07-13

Pomógł: 2



Post: #1
Punkty umiejętności

Hej!

Zacznijmy może od tego, że w UW i raczkującym UW2 używam skryptu punktów umiejętności następujących autorów:

# Requiem Upgrade
# Autor: Requiem
# Zamieścił: Karsznickus
# Modyfikacja z samowyskakującym oknem: Ayene
# Modyfikacja z ikoną awansu pobrana od Blizzarda


Z małymi modyfikacjami własnymi tj. wyłączeniem możliwości dodawania punktów do niektórych statystyk.

No i teraz chciałbym od tych samych punktów uzależnić możliwość nabywania UMIEJĘTNOŚCI. Czyli bohater otrzymuje wybór: Nauczyć się umiejętności 'Wędkowanie' czy zwiększyć sobie manę.

Przeczytałem cały skrypt - z resztą nie pierwszy raz, bo robiłem to już kombinując z tym wyłączeniem możliwości dodawania wspomnianym wyżej - i nigdzie nie widzę, czegoś takiego, jak numer zmiennej, w którym przechowywana jest informacja, o ilości punktów.

A co za tym idzie: nie potrafię sprawdzać, ani zmieniać tej liczby w trakcie interakcji z NPC, który miałby nas uczyć umiejętności.

Alternatywą jest zabawa ze zdarzeniami i stworzenie niezależnych punktów do umiejętności, różnych od tych do statystyk. Nie wiem tylko czy to oby na pewno jest dobry pomysł. Raczej trochę ograniczający wybór. Jak sądzicie?

Może ktoś (np. Ayene) wie gdzie przechowywana jest liczba punktów i jak sprawić by była zmienną?
28-02-15 01:29
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #2
RE: Punkty umiejętności

Aby odwołać się do punktów, które ma wskazany bohater, wystarczy użyć kodu:
$game_actors[ID].points
gdzie ID to id bohatera w bazie danych.
Aby dodać je jednej osobie:
$game_actors[ID].points += 5
Znak "+=" jest o tyle ważny, że gdybyś użył samego "=" to przypisałbyś nową wartość, zamiast ją zwiększyć. Adekwatnie jest z odejmowaniem "-=", mnożeniem "*=", itd.

Aby dodać wszystkim bohaterom w drużynie:
$game_party.members.each {|a| a.points += 5}

Możesz również wpisać ten kod w nową definicję w "Game_Interpreter", np.
def add_points(p)
    $game_party.members.each {|a| a.points += p}
  end
dzięki czemu w poleceniu "Scripts" możesz użyć skróconej formy:
add_points(5)

Jeśli chciałbyś dodać osobne punkty za umiejętności (aby nie były współdzielone, a i ich liczba mogłaby się różnić). Wystarczy, że dodasz odpowiednio pod:
Points_Gained = 5 # liczba punktów co poziom
Skill_Points_Gained = 3
następnie pod:
attr_accessor :points
attr_accessor :spoints
następnie pod:
@points = 0
@spoints = 0
następnie pod:
@points += Points_Gained
@spoints += Skill_Points_Gained
Wówczas dodajesz punkty umiejętności kodem:
$game_actors[ID].spoints += 5

[Obrazek: aye_furniture_pres.png]
28-02-15 11:00
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.