TM-r3acT Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Temat z metin2dev robi ładny burdel z state questów Klient: http://wklej.org/id/3009673/ Serwer: http://wklej.org/id/3009532/ Odnośnik do komentarza
.imaguś. Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Jeżeli ktoś ma błąd z uiinventory (nie podam już dokładnie syserr bo nie skopiowałem) nad wndEquip = self.GetChild("CostumeSlot" dodać GetObject = self.GetChild A co do tematu - działa. would u miss me? Odnośnik do komentarza
TM-r3acT Opublikowano 8 Stycznia 2017 Autor Udostępnij Opublikowano 8 Stycznia 2017 Jeżeli ktoś ma błąd z uiinventory (nie podam już dokładnie syserr bo nie skopiowałem) nad wndEquip = self.GetChild("CostumeSlot" dodać GetObject = self.GetChild A co do tematu - działa. dziwne, poprawiono Odnośnik do komentarza
Intern Opublikowano 15 Stycznia 2017 Udostępnij Opublikowano 15 Stycznia 2017 Coś to nie działa. Wywala cały kanał jak chcę się wylogować albo /g (przy założonym kostiumie - nie ważne czy widoczny czy nie) sysser czysty a db pokazuje tylko : Process: FDWATCH: peer null in event: ident 20 Nie to nie jest wina żadnego moba ani mapy tylko tego systemu. (po usunięciu go wszystko działa) Odnośnik do komentarza
TM-r3acT Opublikowano 15 Stycznia 2017 Autor Udostępnij Opublikowano 15 Stycznia 2017 Coś to nie działa. Wywala cały kanał jak chcę się wylogować albo /g (przy założonym kostiumie - nie ważne czy widoczny czy nie) sysser czysty a db pokazuje tylko : Process: FDWATCH: peer null in event: ident 20 Nie to nie jest wina żadnego moba ani mapy tylko tego systemu. (po usunięciu go wszystko działa) źle go dodajesz, wrzuć char_item.cpp i item.cpp Odnośnik do komentarza
Intern Opublikowano 15 Stycznia 2017 Udostępnij Opublikowano 15 Stycznia 2017 char.cpp (zakomentowane bo nie usuwałem kodu, a chce pracować dalej) http://wklej.to/7uV1L item.cpp http://wklej.to/Ood8d char_item.cpp http://wklej.to/q3ADY cmd.cpp http://wklej.to/bxPys cmd_general.cpp http://wklej.to/ZbtJ2 @Edit (pełne pliki) Odnośnik do komentarza
canteris Opublikowano 15 Stycznia 2017 Udostępnij Opublikowano 15 Stycznia 2017 To miałeś dodać a nie zakomentować w item.cpp //if (m_pOwner->GetWear(WEAR_COSTUME_BODY) != 0 && m_pOwner->GetQuestFlag("kostium.zmiana") != 1) ma być tak if (m_pOwner->GetWear(WEAR_COSTUME_BODY) != 0 && m_pOwner->GetQuestFlag("kostium.zmiana") != 1) a tego if (0 != m_pOwner->GetWear(WEAR_COSTUME_BODY)) Ma nie być. Poza tym, miałeś dać całe pliki, sorry ale tak ci nikt nie pomoże. Odnośnik do komentarza
Intern Opublikowano 15 Stycznia 2017 Udostępnij Opublikowano 15 Stycznia 2017 To miałeś dodać a nie zakomentować w item.cpp //if (m_pOwner->GetWear(WEAR_COSTUME_BODY) != 0 && m_pOwner->GetQuestFlag("kostium.zmiana") != 1) ma być tak if (m_pOwner->GetWear(WEAR_COSTUME_BODY) != 0 && m_pOwner->GetQuestFlag("kostium.zmiana") != 1) a tego if (0 != m_pOwner->GetWear(WEAR_COSTUME_BODY)) Ma nie być. Poza tym, miałeś dać całe pliki, sorry ale tak ci nikt nie pomoże. Wiem co miałem zrobić i tak zrobiłem... dałem aktualnie wyglądające fragmenty ZAKOMENTOWANE bo skoro to nie działa to po co czekać aż ktoś pomoże lepiej zakomentować NIE USUWAĆ i robić coś innego... (wszystko to co jest w tym temacie jest zakomentowane żebym mógł poruszać się swobodnie po serwerze...) W sumie to nie rozumiem po co całe pliki skoro tylko w tym kodzie jest błąd albo ja go zrobiłem (wszystko inne co dodałem działa). Odnośnik do komentarza
canteris Opublikowano 15 Stycznia 2017 Udostępnij Opublikowano 15 Stycznia 2017 Ten kawałek kodu wygląda dobrze, więc czekaj z tym fragmentem może ci ktoś pomoże, ja niestety jasnowidzem nie jestem. Odnośnik do komentarza
Intern Opublikowano 16 Stycznia 2017 Udostępnij Opublikowano 16 Stycznia 2017 char.cpp (zakomentowane bo nie usuwałem kodu, a chce pracować dalej) http://wklej.to/7uV1L item.cpp http://wklej.to/Ood8d char_item.cpp http://wklej.to/q3ADY cmd.cpp http://wklej.to/bxPys cmd_general.cpp http://wklej.to/ZbtJ2 @Edit (pełne pliki) Jakieś pomysły ? Odnośnik do komentarza
canteris Opublikowano 16 Stycznia 2017 Udostępnij Opublikowano 16 Stycznia 2017 @ Intern Skompiluj kod tak jak masz, odpal serwer, jak złapie crasha, wrzuć syslog i syserr. + syserr z klienta. Odnośnik do komentarza
Intern Opublikowano 16 Stycznia 2017 Udostępnij Opublikowano 16 Stycznia 2017 @canteris wpisałem /g a ale jak chce zmienić postać czy wyjść też wywala. ch1 syserr czysty tylko inf. o starcie kanału syslog http://wklej.to/vKVhc db syserr http://wklej.to/nJWGW syslog http://wklej.to/CnEwE auth syserr czysty syslog http://wklej.to/gdfcw Odnośnik do komentarza
canteris Opublikowano 16 Stycznia 2017 Udostępnij Opublikowano 16 Stycznia 2017 Ale to serwer łapie crasha czy wywala postać? logi wyglądają okej, sam kod też wygląda na poprawnie dodany. Jeszcze pytanie czy używasz ccache do kompilacji? Odnośnik do komentarza
Intern Opublikowano 17 Stycznia 2017 Udostępnij Opublikowano 17 Stycznia 2017 Ale to serwer łapie crasha czy wywala postać? logi wyglądają okej, sam kod też wygląda na poprawnie dodany. Jeszcze pytanie czy używasz ccache do kompilacji? wywala tylko ch1 Nie używam ccache. Odnośnik do komentarza
TM-r3acT Opublikowano 17 Stycznia 2017 Autor Udostępnij Opublikowano 17 Stycznia 2017 jak nie masz założonego kostiumu wszystko działa poprawnie jak założysz i zrobisz tp wywala kanał? zrób tak i daj screen do którego momentu dochodzi WORD CHARACTER::GetPart(BYTE bPartPos) const { assert(bPartPos < PART_MAX_NUM); ChatPacket(CHAT_TYPE_INFO, "sprawdzam 1"); if(bPartPos == PART_MAIN && GetWear(WEAR_COSTUME_BODY) && GetQuestFlag("kostium.zmiana") == 1) ChatPacket(CHAT_TYPE_INFO, "sprawdzam 2"); if(const LPITEM pArmor = GetWear(WEAR_BODY)) ChatPacket(CHAT_TYPE_INFO, "sprawdzam 3"); return (NULL != pArmor) ? pArmor->GetVnum() : GetOriginalPart(PART_MAIN); ChatPacket(CHAT_TYPE_INFO, "nadano"); return m_pointsInstant.parts[bPartPos]; ChatPacket(CHAT_TYPE_INFO, "return"); } Odnośnik do komentarza
NoName#2 Opublikowano 17 Stycznia 2017 Udostępnij Opublikowano 17 Stycznia 2017 jak nie masz założonego kostiumu wszystko działa poprawnie jak założysz i zrobisz tp wywala kanał? zrób tak i daj screen do którego momentu dochodzi WORD CHARACTER::GetPart(BYTE bPartPos) const { assert(bPartPos < PART_MAX_NUM); ChatPacket(CHAT_TYPE_INFO, "sprawdzam 1"); if(bPartPos == PART_MAIN && GetWear(WEAR_COSTUME_BODY) && GetQuestFlag("kostium.zmiana") == 1) ChatPacket(CHAT_TYPE_INFO, "sprawdzam 2"); if(const LPITEM pArmor = GetWear(WEAR_BODY)) ChatPacket(CHAT_TYPE_INFO, "sprawdzam 3"); return (NULL != pArmor) ? pArmor->GetVnum() : GetOriginalPart(PART_MAIN); ChatPacket(CHAT_TYPE_INFO, "nadano"); return m_pointsInstant.parts[bPartPos]; ChatPacket(CHAT_TYPE_INFO, "return"); } hihi, ciekawe czy wypisze mu kiedyś "return" na czacie ^_^ Odnośnik do komentarza
Intern Opublikowano 17 Stycznia 2017 Udostępnij Opublikowano 17 Stycznia 2017 http://wklej.to/xycAe ch->ChatPacket(CHAT_TYPE_INFO, "x"); tez wywala błąd (ch nie zdefiniowane) Odnośnik do komentarza
NoName#2 Opublikowano 17 Stycznia 2017 Udostępnij Opublikowano 17 Stycznia 2017 W funkcji która jest const nie mozesz wywyłać ChatPacket, więc usuń 'const' dla testu, albo zamiast ChatPacket użyj syslog lub syserr. Ale i tak nie rozumiem po co jakies testowe wypisy, skoro można podejrzeć co jest w core po wywaleniu. Ps. W tym co dał TM-r3act dla testu to widać, że się spieszył przy pisaniu przypominam, że przy if jeśli nie ma klamerek wykona się jedna instrukcja, a po returnie nic już się nie wykona.. Odnośnik do komentarza
Intern Opublikowano 17 Stycznia 2017 Udostępnij Opublikowano 17 Stycznia 2017 bez sprawdzam 3 bo nie chcialo skompilowac http://wklej.to/epYvP Odnośnik do komentarza
TM-r3acT Opublikowano 17 Stycznia 2017 Autor Udostępnij Opublikowano 17 Stycznia 2017 W funkcji która jest const nie mozesz wywyłać ChatPacket, więc usuń 'const' dla testu, albo zamiast ChatPacket użyj syslog lub syserr. Ale i tak nie rozumiem po co jakies testowe wypisy, skoro można podejrzeć co jest w core po wywaleniu. Ps. W tym co dał TM-r3act dla testu to widać, że się spieszył przy pisaniu przypominam, że przy if jeśli nie ma klamerek wykona się jedna instrukcja, a po returnie nic już się nie wykona.. moj blad a co do .core to o tym jakos nie pomyslalem... tak wiec @Intern wrzuc gdb core @Edit zmień return (NULL != pArmor) ? pArmor->GetVnum() : GetOriginalPart(PART_MAIN); na return pArmor->GetVnum() i powiedz co sie dzieje Odnośnik do komentarza
Intern Opublikowano 18 Stycznia 2017 Udostępnij Opublikowano 18 Stycznia 2017 W funkcji która jest const nie mozesz wywyłać ChatPacket, więc usuń 'const' dla testu, albo zamiast ChatPacket użyj syslog lub syserr. Ale i tak nie rozumiem po co jakies testowe wypisy, skoro można podejrzeć co jest w core po wywaleniu. Ps. W tym co dał TM-r3act dla testu to widać, że się spieszył przy pisaniu przypominam, że przy if jeśli nie ma klamerek wykona się jedna instrukcja, a po returnie nic już się nie wykona.. moj blad a co do .core to o tym jakos nie pomyslalem... tak wiec @Intern wrzuc gdb core @Edit zmień return (NULL != pArmor) ? pArmor->GetVnum() : GetOriginalPart(PART_MAIN); na return pArmor->GetVnum() i powiedz co sie dzieje Nadal wywala (wina liba?) http://wklej.org/id/3020129/ Odnośnik do komentarza
TM-r3acT Opublikowano 18 Stycznia 2017 Autor Udostępnij Opublikowano 18 Stycznia 2017 wpisz bt full Odnośnik do komentarza
Intern Opublikowano 19 Stycznia 2017 Udostępnij Opublikowano 19 Stycznia 2017 @TM-r3acT bt full #0 0x080ec08b in std::string::_S_construct<char*> () No symbol table info available. #1 0x081846d0 in std::operator+<char, std::char_traits<char>, std::allocator<char> > () No symbol table info available. #2 0x0811cd76 in std::string::_S_construct<char*> () No symbol table info available. #3 0x00000000 in ?? () No symbol table info available. Odnośnik do komentarza
TM-r3acT Opublikowano 19 Stycznia 2017 Autor Udostępnij Opublikowano 19 Stycznia 2017 stripowane masz game? Odnośnik do komentarza
Intern Opublikowano 19 Stycznia 2017 Udostępnij Opublikowano 19 Stycznia 2017 no tak, potem sprawdze jeszcze. Odnośnik do komentarza
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.