Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Automatyzacja eventu kowala
#1
Wracam ze starym tematem, aby go przegadać w RK. Chodzi o zautomatyzowanie eventu kowala, tak by wieść leciała automatycznie w momencie, gdy kowal wykuje odpowiedni ekwipunek. Oczywiście w kwestii założeń eventu nic się nie zmienia, kowal musi mieć smoczą broń +2100 niehybrydową oraz zbroję +6300 niehybrydową oraz posiadać te rzeczy w swoim ekwipunku.

Dzięki temu event leci od razu po wykuciu, jest niezależny od tego jak Władca lub Namiestnik wchodzi do gry.
Dodatkowo omijamy sytuację, gdyby jeden kowal chciał "podarować" event drugiemu (bo np sam ugrał wcześniej) i przekazał mu ekwipunek - oczywiście takie rzeczy można aktualnie sprawdzać na bazie, ale jest to dodatkowa praca.
Inna sytuacja gdy jeden kowal wykuje max eq, nie zauważy tego, pójdzie do pracy, ogarnie po pracy że to on ugrał event, a tu się okazuje że event już padł. Wtedy Nerph oczywiście może zweryfikować (a przynajmniej zakładam, że takie rzeczy jak id gracza który wykuł ekwipunek jest) i poprawnej osobie przyznać event, aczkolwiek tak jak wyżej, jest to dodatkowa praca.

Temat poruszony jakiś czas temu w propozycjach: http://amorion.pl/forum/showthread.php?tid=1922
#2
Nie wiem, jak to wygląda od strony kodu, ale jeśli nie jest to dużo roboty dla Nerpha, to ok.
#3
Broń może być hybrydowa na event. W panelu w grze nie ma logów z kucia, więc takie rzeczy pozostają do sprawdzania Nerphowi w bazie.

Uważam tak jak Shade, jeżeli to niedużo roboty ze strony kodowania to można zmienić.
Angel
#4
Nie zakładam by było to dużo roboty, ale wypadałoby ustalić warunki odpalenia się eventu, a i pułapek jest kilka.
Samo posiadanie obu rzeczy nie jest rozwiązaniem ponieważ równie dobrze może prowadzić do nadużyć, gdy dwóch różnych kowali prześle po jednym przedmiocie do osoby trzeciej - wówczas event mógłby wygrać kowal (a nawet nie-kowal), który nie wykonał żadnego z nich.

Jakimś rozwiązaniem jest tu dodatkowe pole zapisujące twórcę przedmiotu, ale powiedziałbym, że wtedy trzeba by dobrze ustalić warunek sprawdzający wszystkie inne przedmioty w grze. Poza tym problemem mogłoby być przerzucanie przedmiotów przez klan (kolejne pole zachowujące pierwotnego autora).

Z mojej perspektywy, jeśli chcielibyśmy uchronić "zapominalskich" przed przegapieniem eventu, proponowałbym raczej inne rozwiązanie tymczasowe (albo i nie).
Mianowicie wykonanie przedmiotu eventowego (spełniającego warunki dowolnej broni +2100 i zbroi niehybrydowej +6300) mogłoby być raportowane do administracji (dziennik/poczta), dzięki czemu będzie istniała opcja zweryfikowania kto był pierwszy, a przede wszystkim nadania tytułu właściwej osobie, nawet jeśli nie prześle ona tych przedmiotów.

A jeśli nie, to możemy rozmawiać dalej.
#5
Myślę, że to raportowanie o wykonaniu przedmiotu eventowego ma sens i brzmi całkiem ok.

Dużym problemem było też to, że w okresie eventu kowala rangowi byli mało aktywni - przez co jeszcze kilka dni kowale kują, nie wiedząc, że event wpadł. Takie raportowanie uniknęłoby pewnie aż takiego opóźnienia, bo dostałby je Władca/Namiestnik i kto pierwszy zobaczy, może odpali wieść.

Dotyczyłoby zapewne wkucia zbroi, bo miecz robi się dużo szybciej. Ale też wypadałoby wysłać oba przedmioty do kogoś, aby była pewnośc, że oba jednak są.

Pomyślałam jeszcze o jakimś budynku, do którego można by przesyłać eventową zbroję i miecz tak, aby pojawiło się powiadomienie zarówno u Władcy i Namiestnika, i wtedy mieliby oboje pewność, bez czekania na siebie wzajemnie - ogłosili zwycięzcę. Ale to też wymaga jakiegoś sprawdzenia, czy zostało wykute przez tego samego kowala. Obecnie to sprawdzacie ręcznie?
#6
Czy tutaj jest jeszcze jakiś pomysł, jak to można zrobić? Przydałby się ktoś kto zna się na kodowaniu i napisał co jest możliwe do zrealizowania.
#7
Jako, że event kowala w praktyce ogranicza się do wykucia określonej zbroi (miecz raczej mają wszyscy ^^), to najprościej byłoby zredukować ten event do właśnie wykucia takiej zbroi i wtedy automatycznie odpalać przy wykuciu takowej i blokować za pomocą jakiejś flagi, żeby event nie odpalał się wielokrotnie.

Ewentualnie możnaby w kuźni, domu cechowym czy jakimkolwiek innym budynku, który z logicznego punktu widzenia mógłby do tego pasować, jakiś pokój w którym kowale oddawaliby określone przedmioty na ten event (obecnie miecz + zbroję, chociaż przy takim rozwiązaniu proponowałbym to rozszerzyć do całego kompletu - zbroja, miecz, tarcza, nagolenniki i hełm).
Do takiego rozwiązania przydałoby się jeszcze dodać jakieś pole do wykuwanych przedmiotów (mogłoby być jawne... wtedy biegalibyśmy w zbroi wykutą przez kowala Aranę Dracarys albo ukryte, wtedy wizualnie nic by się nie zmieniło) informujące o ID wykonawcy - przedmiot mógłby być przyjęty tylko i wyłącznie wtedy gdy ID wykonawcy zgadzałoby się z ID przekazującego. Chociaż wydaje mi się, że opcja z raportowaniem o której wspomniał Nerph realizuje podobną funkcjonalność.
#8
Ogólnie przesył itemow możemy z Nerphem sprawdzić w logach. Ważniejsza byłaby automatyzacja.
Nie wiem jak wyglądałoby to ze strony kodowania - można by dodać w skarbcu królewskim możliwość dodania zbroi i broni, z blokadą na 1 komplet od tego samego gracza i automatycznym odpaleniem.
Przyznam szczerze, że trudno mi uwierzyć w zapominalstwo w przypadku eventów.
Angel
#9
Podsumowując ten temat i pojawiające się pomysły...
Jak zrobić, aby event kowala szybciej został zakończony poprzez automatyzację?

1. Raport pojawiający się rangowym (Władcy i Namiestnikowi?), gdy niehybrydowa zbroja +6300 zostanie wykuta.
To skraca czas, zakładając, że chociaż jeden z rangowych pojawi się w ciągu dnia, ale nie wskoczy wieść automatycznie. Więc to dalej niewielka automatyzacja.

2. Stworzenie budynku, w którym będzie trzeba oddać eventowe przedmioty, po których sprawdzeniu system sam by wyświetlił wieść i blokował ten budynek, gdy wieść się pojawi.
a) Tutaj dodałabym jakieś wymogi, np. minimalna umiejętności kowalstwa, aby pojawił się budynek, co by nie dać pożywki jakimś trollom, co postanowią wrzucić itemy eventowe dla nie kowala. Obecnie mam 2500 kowalstwa i wykuty set na 100, a zbroję kuje na 90 level.
b) Mamy również możliwość ingerencji w event, np. dodania potrzeby wykucia całego setu na 100 level. Do czasu wykucia zbroi, każdy klan już posiada max hełm, nagolenniki, tarczę i miecz. Taki zabieg sprawiłby, że nie tylko dla klanu by się kuło, a każdy kowal musiałby wykupić wszystkie plany na 100 level i wykuć własny set.

3. Dodanie do każdego przedmiotu wytworzonego (kowalskie, ale wtedy może i stolarskie, oraz alchemiczne?) informacji kto go stworzył. Przydatne w przypadki 1 i 2 opcji.

4. Automatyzacja, zakładająca, że gdy kowal wykona niehybrydową zbroję +6400 wieść sama się pojawia. Tutaj mamy wówczas ograniczenie eventu do wykucia zbroi - 1 przedmiotu.

Dalej uważam, że Nerph powinien tutaj się wypowiedzieć i stwierdzić, co łatwiej byłoby też dla niego i jednocześnie rozwiązałoby problem. Jeżeli nie... to może rozpocznijmy głosowanie, w którym każdy wybrałby tylko 1 opcję.
#10
@Nerph:
Cytat:Samo posiadanie obu rzeczy nie jest rozwiązaniem ponieważ równie dobrze może prowadzić do nadużyć, gdy dwóch różnych kowali prześle po jednym przedmiocie do osoby trzeciej - wówczas event mógłby wygrać kowal (a nawet nie-kowal), który nie wykonał żadnego z nich.

Jakimś rozwiązaniem jest tu dodatkowe pole zapisujące twórcę przedmiotu, ale powiedziałbym, że wtedy trzeba by dobrze ustalić warunek sprawdzający wszystkie inne przedmioty w grze. Poza tym problemem mogłoby być przerzucanie przedmiotów przez klan (kolejne pole zachowujące pierwotnego autora).

Nie ma żadnych pułapek, tworzymy tabele w bazie danych, która ma kolumny: id, id gracza (nie mylić z id które się ma w danej erze), typ eventu ('kowal') oraz era (nie wiem czy przy resecie ery baza jest czyszczona - jeśli tak to kolumna niepotrzebna). Upraszczając tak jak Hastin zasugerował, czyli event kowala jako wykucie max zbroi, wystarczy przy wykuciu zbroi zrobić select do tabeli, który sprawdzi czy już jest wykuta zbroja, jeśli jest, to nie dodajemy do bazy, jeśli nie ma, to znak że jesteśmy pierwsi. Wtedy (po zapisie rekordu do bazy) odpala się funkcja, która wysyła wieść oraz funkcja, która wpisuje gracza do galerii bohaterów. Żadna filozofia, a mamy załatwione z głowy i od razu po wykuciu event wpada w ręce gracza, tak jak alchemik, stolarz itd. Jeśli zostajemy przy broni + zbroi na event, to dochodzi sprawdzenie czy dany gracz już wykuł drugi przedmiot eventowy, jeśli tak, wpada event, jeśli nie, to nie.


Skocz do:


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