A jak się to powtórzy kilka razy, to wtedy się tym zajmiemy; na razie szkoda czasu na to.
Bug raport - zglaszanie bledow w grze
Moderators: Public Relations Department, Players Department
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
Te 4. punkty to ja z palca wyssałem. Nie zaglądałem do tego kodu i w rzeczywistości może ta kolejność wyglądać inaczej, tak więc rozważania na temat szczegółów możemy sobie darować
. Chciałem tylko pokazać wam, w czym tkwi problem.
A jak się to powtórzy kilka razy, to wtedy się tym zajmiemy; na razie szkoda czasu na to.
A jak się to powtórzy kilka razy, to wtedy się tym zajmiemy; na razie szkoda czasu na to.
- Raist
- Posts: 919
- Joined: Wed Aug 24, 2005 6:42 pm
- Location: POLAND
- WojD
- Posts: 1968
- Joined: Mon Oct 31, 2005 6:14 am
- Location: PL
- Contact:
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
Raist, to niczego nie rozwiązuje, bo żeby nadać status 'nieaktywny' trzeba najpierw sprawdzić, czy już ktoś go wcześniej nie nadał. Tak więc można sobie wyobrazić, że między sprawdzeniem, a nadaniem statusu nieaktywnego ktoś inny może też zacząć podnosić i w ten sposób może się zdarzyć, że dwaj gracze będą po sprawdzeniu, a przed zmianą statusu.Raist wrote:Albo mozna nadac kazdemu przedmiotowi dodatkowy parametr w stylu aktywny/nieaktywny. Ktos zaczyna proces podnoszenia i algorytm nadaje przedmiotowi status nieaktywny (zablokowany) i juz nikt nie moze go podnoscic. Po zakonczeniu algorytmu spowrotem nastepuje zmiana na aktywny.
Ten błąd to klasyczne zadanie z teorii programowania współbieżnego. Jest na to w miarę proste rozwiązanie, więc nie musicie kombinować. Niezależnie od tego błąd ten na razie nie będzie naprawiany.
-
Diabelek
- Posts: 188
- Joined: Fri Aug 19, 2005 7:44 am
- Location: Poland - Poznan
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
Jeśli chodzi o ogólne rozwiązanie, to trzeba pogooglać, na przykład tak: "critical section" solution
Jednak w tym przypadku rozwiązanie jest nieklasyczne i opiera się na tym, iż zmiana położenia klucza odbywa się w następujący sposób:Wystarczy zmienić na:
Nie zostanie jednak ono zastosowane, gdyż rozważamy przeniesienie Cantr na MySQL 4.1 lub wyższe, które wspiera transakcyjność, co całkowice rozwiązuje sprawę bez żadnej pracy z naszej strony.
Wystarczy?
Jednak w tym przypadku rozwiązanie jest nieklasyczne i opiera się na tym, iż zmiana położenia klucza odbywa się w następujący sposób:
Code: Select all
UPDATE objects SET location=:player_inventory WHERE id=:object_idCode: Select all
UPDATE objects SET location=:player_inventory WHERE id=:object_id AND location=:on_the_groundNie zostanie jednak ono zastosowane, gdyż rozważamy przeniesienie Cantr na MySQL 4.1 lub wyższe, które wspiera transakcyjność, co całkowice rozwiązuje sprawę bez żadnej pracy z naszej strony.
Wystarczy?
- WojD
- Posts: 1968
- Joined: Mon Oct 31, 2005 6:14 am
- Location: PL
- Contact:
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
- WojD
- Posts: 1968
- Joined: Mon Oct 31, 2005 6:14 am
- Location: PL
- Contact:
-
Diabelek
- Posts: 188
- Joined: Fri Aug 19, 2005 7:44 am
- Location: Poland - Poznan
-
belin
- Posts: 562
- Joined: Sun Nov 06, 2005 11:26 pm
- Location: Poland - Warsaw
- Contact:
Jedna z moich postaci znalazla miejsce gdzie dwie drogi prowadzace w jednym kierunku (np. wschodnim) wioda w dwa rozne miejsca... taaa... bug czy tez rozwidlenie po drodze? Nie chce mi sie pojsc i trafic w jakis matrix ;-D
Z planu jaki sobie stworzylem jeden "wchod" sie zgadza, natomiast drugi powinien byc raczej "polnocnym-wschodem".
Z planu jaki sobie stworzylem jeden "wchod" sie zgadza, natomiast drugi powinien byc raczej "polnocnym-wschodem".
- Sigvald
- Posts: 50
- Joined: Fri Jul 29, 2005 11:03 pm
- Location: Kraków
-
belin
- Posts: 562
- Joined: Sun Nov 06, 2005 11:26 pm
- Location: Poland - Warsaw
- Contact:
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
- Raist
- Posts: 919
- Joined: Wed Aug 24, 2005 6:42 pm
- Location: POLAND
marol wrote:Dlaczego dwa miejsca nie miałyby być w tym samym kierunku? Jeśli dzielimy wszystkie możlie kierunki na 16 przedziałów, to czasami zdarza się, że dwa z nich znajdą się w tym samym przedziale.
Nie uwazasz ze nazwy drog sa odzwierciedleniem tego co widzi nasza postac patrzac na rozwidlenia? Powinna byc mozliwosc rozroznienia tych 2 kierunkow.
Who is online
Users browsing this forum: No registered users and 1 guest

