[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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

[XP] Blokada zmiany broni

Post autor: goblin!!! »

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:
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Awatar użytkownika
Dr.Man
Posty: 140
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Post autor: Dr.Man »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

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ł.
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
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: 1948
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Post autor: Dragon Kamillo »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

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.
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Awatar użytkownika
Dr.Man
Posty: 140
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Post autor: Dr.Man »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

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
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Awatar użytkownika
Dr.Man
Posty: 140
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Post autor: Dr.Man »

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: 1948
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Post autor: Dragon Kamillo »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

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.
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Awatar użytkownika
Dr.Man
Posty: 140
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Post autor: Dr.Man »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

Dr.Man pisze: Wywołaj tą komendę: $equip_fix[0][0] = 1
e.png
Tyle XD
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Awatar użytkownika
Dr.Man
Posty: 140
Rejestracja: 10 lip 2013, 12:13

Re: [XP] Blokada zmiany broni

Post autor: Dr.Man »

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: 1948
Rejestracja: 18 paź 2009, 21:23
Lokalizacja: Poznań/Granowiec

Re: [XP] Blokada zmiany broni

Post autor: Dragon Kamillo »

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: 200
Rejestracja: 05 lis 2015, 19:40
Lokalizacja: Odległa ziemniaczana republika

Re: [XP] Blokada zmiany broni

Post autor: goblin!!! »

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.
Przybyłem, zobaczyłem, wystrzeliłem gdzieś w kosmos.
~ Prawdopodobnie Chruszczow, o Łajce.
Zablokowany