[XP] Blokada zmiany broni

Problemy związane z pracą w RM, poszukiwania współpracowników. Uwaga na zasady zakładania tematów!

Moderatorzy: GameBoy, Dragon Kamillo

Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

[XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 16:37

Witam.
Otóż potrzebuję zablokować zmianę broni, ale nie w sensie, że w zakładce ,bohaterowie' na zawsze, tylko do spełnienia warunku.
Wpadłem na parę pomysłów, ale każdy kończył się ziemniakiem z sosem czekoladowym. Pierwszym było oczywiście
ustawienie zmiennej na ID i ciągłe zakładanie po ID, ale takich opcji XP nie mia w zdarzeniach. Drugim jest wieeeelki warunek do każdej z broni, ale jest to rozwiązanie po prostu nie optymalne i nie efektywne. Trzecim jest wyłączenie menu, ale to też nie jest dobre wyjście, z pewnych względów, mógłbym to uzasadnić jakoś w grze, ale takie coś to już rozwiązanie ostateczne. Czwartym była etykieta warunkowa, czyli modyfikacja drugiego, ale to też niezbyt dobre...
i tak miałem parę pomysłów, ale żaden nie był dobry, a skryptów dopiero się uczę, i tak się was pytam, cze jest na to rozwiązanie w zakresie optymalnych i efektywnych w zdarzeniach, czy trzeba mocy skryptu użyć? (pewnie rozwiązanie jest tak proste, że go nie zauważyłem)
Mam nadzieje, że o niczym nie zapomniałem.
Tyle. Bardzo krótko, co nie? XD :lol:
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dr.Man
Posty: 129
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Postautor: Dr.Man » 02 wrz 2017, 16:54

Czyli w skrócie szukasz komendy którą możesz zablokować albo odblokować zmianę np, broni lub zbroi dla danego bohatera?
Obrazek
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 17:04

Dr.Man pisze:Czyli w skrócie szukasz komendy którą możesz zablokować albo odblokować zmianę np, broni lub zbroi dla danego bohatera?


Tak. Można tak w skrócie powiedzieć. A w zasadzie to pół prawda - szukam sposobu jak to zrobić, bo komendy takiej nie widzę. A nawet nie, bo jak bym szukał, chybabym w request napisał.
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dragon Kamillo

Golden Forki 2016 - Pełne Wersje (miejsce 3); Golden Forki 2013 - Zapowiedzi (zwycięstwo); Liga Mapperów Sezon IV (miejsce 2)
Posty: 1799
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Postautor: Dragon Kamillo » 02 wrz 2017, 18:15

Kod: Zaznacz cały

$game_actors[$game_variables[numer]].equip($game_variables[numer], $game_variables[numer])


Nie sprawdzałem tego, ale jak dasz to w wywołaj skrypt to możliwe że zadziała, tylko pamiętaj że musisz to mieć w jednej linijce, najlepiej użyć polskiej bety wydania 4 która na to pozwala.

pierwsza zmienna - numer bohatera z bazy danych.
druga zmienna - typ przedmiotu (czy broń czy co innego, nie wiem czy liczone od 0 czy od 1, ale kolejność taka sama jak w komendzie w evencie zmień ekwipunek.
trzecia zmienna - numer broni, czy tam zbroi.

I wtedy zrobisz se to pierwszym sposobem jaki podałeś.
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 19:17

goblin!!! pisze:Pierwszym było oczywiście ustawienie zmiennej na ID i ciągłe zakładanie po ID, ale takich opcji XP nie mia w zdarzeniach.


Dragon Kamillo pisze:I wtedy zrobisz se to pierwszym sposobem jaki podałeś.


Resztę dopowiedz sam XD
Fakt, że to ekwipuje broń, ale po wcześniejszym ID, i muszę wykryć ID, czyli z tego co zrozumiałem tą 3 zmienną.
Nie mniej, dziękuje za chęci.
Może ja czegoś w tym skrypcie nie rozumiem XD.
Tyle.
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dr.Man
Posty: 129
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Postautor: Dr.Man » 02 wrz 2017, 20:11

Sprawa wygląda tak, jest taka komenda: $data_actors[@actor_id].weapon_fix = true/false, może być także armor1_fix, armor2_fix, w zależności od elementu ekwipunku do 4. Ale problem jest taki że przy wywoływaniu wyskakuje błąd że jest to nieokreślona metoda a wzmianka o niej jest tylko w game_actor.

Niestety wymyśliłem tylko alternatywne rozwiązanie, żeby za pomocą skryptu stworzyć nową "bazę danych" połączoną z Scene_equip sprawdzającą czy dany element przedmiotu u danego bohatera zablokowany lub odblokowany.

http://wklej.org/id/3246753/
edit: Mała akrualizacja
edit2: optymalizacja

Jedyne co musisz zrobić to zmieniać wartość w tabeli na "1" w zależności jakiemu bohaterowi chcesz zablokować dany element ekwipunku.
np. gdy chcesz zablokować bohaterowi broń o id 2, wywołujesz w zdarzeniu tą komendę: "$equip_fix[2][0] = 1
a jak chcesz odblokować to robisz to samo tylko że zmieniasz wartość na 0.
Obrazek
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 20:50

Dr.Man pisze:Jedyne co musisz zrobić to zmieniać wartość w tabeli na "1" w zależności jakiemu bohaterowi chcesz zablokować dany element ekwipunku.
np. gdy chcesz zablokować bohaterowi broń o id 2, wywołujesz w zdarzeniu tą komendę: "$equip_fix[2][0] = 1
a jak chcesz odblokować to robisz to samo tylko że zmieniasz wartość na 0.



/edit, sory źle zrozumiałem XD
testuje, powiem czy działa
/edit2 nie zbyt działa, nie wiem czemu
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dr.Man
Posty: 129
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Postautor: Dr.Man » 02 wrz 2017, 21:07

Powiedz mi jakie id ma ten bohater i który element ekwipunku chcesz zablokować
Obrazek
Awatar użytkownika
Dragon Kamillo

Golden Forki 2016 - Pełne Wersje (miejsce 3); Golden Forki 2013 - Zapowiedzi (zwycięstwo); Liga Mapperów Sezon IV (miejsce 2)
Posty: 1799
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Postautor: Dragon Kamillo » 02 wrz 2017, 21:10

goblin!!! pisze:Resztę dopowiedz sam XD
goblin!!! pisze:Wpadłem na parę pomysłów, ale każdy kończył się ziemniakiem z sosem czekoladowym. Pierwszym było oczywiście
ustawienie zmiennej na ID i ciągłe zakładanie po ID, ale takich opcji XP nie mia w zdarzeniach.


Po prostu podałem jak dodać opcję której ci tutaj brakowało.

Oczywiście to dziwne rozwiązanie, bo nadal gracz może zmieniać broń w ekwipunku, a potem się dziwić czemu mu nie zmieniło... Ale to ty wpadłeś na ten pomysł jako na pierwszą myśl rozwiązania swojego problemu XD.


Oczywiście miałem jeszcze zaproponować stworzenie kopii przedmiotów, o takich samych nazwach i opisach, ale bez możliwości założenia ich przez bohatera i podmiankę tego, albo po prostu jakoś inaczej to rozwiązać, np sklepy na efentach i brak możliwości posiadania przez bohatera więcej niż 1,2 broni przy sobie - bo za cięzkie itp.

Przy okazji jestem ciekawy czy eventem jest się w stanie założyć bohaterowi broń której nie może używać, ale to już trochę inny temat.
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 21:10

Dr.Man pisze:Powiedz mi jakie id ma ten bohater i który element ekwipunku chcesz zablokować


A jakie ID może mieć bohater w grze w której jest tylko jeden bohater? :lol: 001 według bazy danych, czyli 1 po prostu.
I broń chcę zablokować.

Dragon Kamillo pisze:Po prostu podałem jak dodać opcję której ci tutaj brakowało.

Ale co mi z tego, ja muszę mieć ID broni na którą chce zmienić. Muszę je pobrać skądś. A nie mogę ustawić zmiennej przez zdarzanie na ID tej broni bo takiej opcji nie mam zwyczajnie XD i chyba trzeba w skrypcie.
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dr.Man
Posty: 129
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Postautor: Dr.Man » 02 wrz 2017, 21:18

No właśnie z tym rożnie, jest możliwość przecież posiadania jednego bohatera w bazie danych o id 5, dlatego pytam dla pewności.
Wywołaj tą komendę: $equip_fix[0][0] = 1

W Ruby 0 odpowiada pierwszemu wyrazowi w tablicy, dlatego jest tam 0 a nie 1.

0 - bohater o id 1 w bazie danych
1 - bohater o id 2 w bazie danych
itd

0 - broń
1 - tarcza
2 - helm
3 - zbroja
4 - akcesoria
Obrazek
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 21:27

Dr.Man pisze:Wywołaj tą komendę: $equip_fix[0][0] = 1

e.png
tyle
e.png (5.02 KiB) Przejrzano 194 razy


Tyle XD
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.
Awatar użytkownika
Dr.Man
Posty: 129
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Postautor: Dr.Man » 02 wrz 2017, 21:38

Obrazek
Awatar użytkownika
Dragon Kamillo

Golden Forki 2016 - Pełne Wersje (miejsce 3); Golden Forki 2013 - Zapowiedzi (zwycięstwo); Liga Mapperów Sezon IV (miejsce 2)
Posty: 1799
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Postautor: Dragon Kamillo » 02 wrz 2017, 21:48

Udało mi się zmusić RMXP do zapisania id broni do zmiennej, ale trochę to pokomplikowane.
Pierwsze zmiany w skryptach.
Wchodzimy do interpreter 4, tam mamy to co odpowiada nam za komende ustaw zmienną.
tam jest parę zmian, najlepiej dam ci całą zmienioną ta klasę i już, podmienisz sobie i po problemie.
Spoiler:


linijka 42 wygląda tak: case @parameters[5] + $game_variables[30]
to 30 to numer zmiennej, zmień sobie na jaką chcesz.
Potem jak będziesz chciał zapisać id posiadanej broni przez bohatera do zmiennej to ustawiasz tą zmienną ( w moim wypadku 30) na wartość 1 i dajesz polecenie zmień zmienną (normalnie w evencie) wybierasz ta opcję gdzie możesz zapisać np HP bohatera do zmiennej, dajesz bohatera jakiego chcesz i wybierasz ostatnią opcję - wtedy zapisuje ci id broni bohatera - wsio. Jak chcesz przywrócić normalne działanie tej opcji to wyzeruj zmienną 30 czy która tam masz.
Awatar użytkownika
goblin!!!
Posty: 124
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Postautor: goblin!!! » 02 wrz 2017, 21:50

Już wiem w czym leży problem, po prostu nie wiem czemu, na starych zapisach (czyt. przed dodaniem skryptu) to nie działa nie wiem czemu, ale gdy dałem do nowej gry wsio jest ok. NIE WIEM czemu, ale wiem, że tak jest.
Trochę mi to średnio pasuje :/

@up
Działa raz, raz nie. Ale częściej działa.
Ostatnio zmieniony 02 wrz 2017, 22:01 przez goblin!!!, łącznie zmieniany 1 raz.
Cisza potrafi więcej mówić od milionów słów, rzucanych codziennie na wiatr, który ledwo je niesie.

Wróć do „Pomoc”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości