Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zasięg Widzenia Eventu
Autor Wiadomość
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 21 Cze, 2011 19:57
Zasięg Widzenia Eventu
Zasięg Widzenia


Opis:
Ten skrypt pozwala na to, by zdarzenia nas zauważały. Przydatne do sekwencji skradankowych, gonitw, etc.

Info:
Autor: BigEd781
Konfig: Angius

Skrypt:
Spoiler:

Kod:

#======================================================
#                  ~~ZASIĘG WIDZENIA~~
#======================================================
#                      Autor: BigEd781
#         Dopisanie tych komentarzy: Angius
#            Specjalnie dla UltimaTeam.pl
#======================================================
#======================================================
# Konfiguracja:
#======================================================
# Chcielibyście... Tu nie ma co konfigurować, serio!
# Jedynie mogę opisać jak toto wywołać. Otóż przydatna jest ta linijka:
# $game_map.player_in_range?(event_id, range)
# Jako event_id wpisujecie ID zdarzenia (toto co się jako domyślna nazwa wyświetla)
# Jako range wpisujecie promień pola widzenia.
# Taa-daam!
#======================================================
# Jak tej linijki użyć? To proste! Używamy jej w warunku/conditional branch
# wybierając z ostatniej karty "skrypt" i tam toto wklejając.
# Taa-daam!
#======================================================
#            TEGO LEPIEJ NIE DOTYKAĆ
#======================================================
class Point
 
  attr_reader :y
  attr_reader :x
 
  def initialize(x, y)
    @x = x
    @y = y
  end
 
end

class Game_Map
 
  def event_in_range?(event_id1, event_id2, range)
    e_loc1 = Point.new(events[event_id1].x, events[event_id1].y)
    e_loc2 = Point.new(events[event_id2].x, events[event_id2].y)     
    return (get_distance(e_loc1, e_loc2) <= range)
  end
 
  def player_in_range?(event_id, range)
    p_loc = Point.new($game_player.x, $game_player.y)
    e_loc = Point.new(events[event_id].x, events[event_id].y)     
    return (get_distance(p_loc, e_loc) <= range)
  end

  def get_distance(p1, p2) 
    dx = (p1.x - p2.x)**2   
    dy = (p1.y - p2.y)**2   
    return Math.sqrt(dx + dy).to_i
  end
 
end


Sposób użycia:
Wyjaśnione w skrypcie (dzięki Ayene :-) )
Lub w demku: http://www.ultimateam.pl/files/Zasieg_Widzenia.exe
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


Ostatnio zmieniony przez Angius Wto 28 Cze, 2011 21:43, w całości zmieniany 3 razy  
 
 
Aruka21 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 23 Paź 2010
Posty: 129
Skąd: Samo dno piekieł.
Wysłany: Wto 28 Cze, 2011 11:07
Nie zbyt rozumiem.
Czy mógłbym Cię prosić o demko ? :-D



Pozdrawiam Aruka21 :papa:
________________________
Mój aktualny projekt: Edeon
Oto link:http://www.ultimateam.pl/viewtopic.php?p=73129#73129

Zyska Sławę Królem Będzie,
Kto Się Uświadomi We Śnie,
Kto Zdobędzie Szczyt W Błękicie,
Będzie Tym Co Jest Na Szczycie.
 
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 28 Cze, 2011 14:00
Demko zrobione. Niestety u mnie wywala jakiś błąd :/
http://www.mediafire.com/?qgbr9734a2b37xy
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Aruka21 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 23 Paź 2010
Posty: 129
Skąd: Samo dno piekieł.
Wysłany: Wto 28 Cze, 2011 20:16
u mnie także wyskakuje błąd.
________________________
Mój aktualny projekt: Edeon
Oto link:http://www.ultimateam.pl/viewtopic.php?p=73129#73129

Zyska Sławę Królem Będzie,
Kto Się Uświadomi We Śnie,
Kto Zdobędzie Szczyt W Błękicie,
Będzie Tym Co Jest Na Szczycie.
 
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 28 Cze, 2011 20:17
Czyli co? Czakamy na kogoś, kto zna się na Ruby? :mrgreen:
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Aruka21 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 23 Paź 2010
Posty: 129
Skąd: Samo dno piekieł.
Wysłany: Wto 28 Cze, 2011 20:40
popieram pomysł :mrgreen:
Albo można poprosić Ayene :-D
Napiszę do niej.
________________________
Mój aktualny projekt: Edeon
Oto link:http://www.ultimateam.pl/viewtopic.php?p=73129#73129

Zyska Sławę Królem Będzie,
Kto Się Uświadomi We Śnie,
Kto Zdobędzie Szczyt W Błękicie,
Będzie Tym Co Jest Na Szczycie.
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 28 Cze, 2011 21:02
Wyskakuje błąd, gdyż samo:
Kod:
player_in_range?(1, 5)

nie wystarczy... zapytanie powinno wyglądać tak:
Kod:
$game_map.player_in_range?(1, 5)


PS Edytowałam demo zamieszczone wcześniej przez Angiusa :arrow: http://www.ultimateam.pl/files/Zasieg_Widzenia.exe
________________________


 
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 28 Cze, 2011 21:43
Dzięki, Ayene, uzupełniłem pierwszy post :przytul:
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Aruka21 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 23 Paź 2010
Posty: 129
Skąd: Samo dno piekieł.
Wysłany: Sob 21 Sty, 2012 13:55
Sorrki że piszę post, pod postem ale między nimi jest różnica kilku miesięcy przerwy, mam pytanie, a mianowicie czy można zrobić tak aby zdarzenie widziało tylko to co jest przed nim ? Chodzi o to aby ten zasięg widzenia nie był okręgiem dookoła zdarzenia tylko linią przed nim. Mam nadzieję iż rozumiecie o co mi chodzi. Chętnego podjęcia się tego wyzwania(przerobienie aktualnego skryptu) proszę o napisanie mi na pw. Oczywiście będzie pomógł i przy najbliższej okazji odwdzięczę się jak tylko potrafię.

Pozdrawiam i czekam na wiadomości prywatne Aruka21 ;-)
________________________
Mój aktualny projekt: Edeon
Oto link:http://www.ultimateam.pl/viewtopic.php?p=73129#73129

Zyska Sławę Królem Będzie,
Kto Się Uświadomi We Śnie,
Kto Zdobędzie Szczyt W Błękicie,
Będzie Tym Co Jest Na Szczycie.
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene