Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z biologiem od Endymiona


Rekomendowane odpowiedzi

Opublikowano
2 minuty temu, Ups... napisał:

Pokaż syserr ch, prawdopodobnie nie masz jakiejś funkcji.

W syserze nie mam nic co dotyczyło by questa.

W głównym temacie Endymion wstawił, że użył tą funkcję aby nie było problemów z bonusami.

int affect_add_new_bonus(lua_State * L){
	CQuestManager & q = CQuestManager::instance();
	LPCHARACTER ch = q.GetCurrentCharacterPtr();
        if (ch==NULL) return 0;
	
	ch->AddAffect(lua_tonumber(L, 1), aApplyInfo[(BYTE)(lua_tonumber(L, 2))].bPointType, lua_tonumber(L, 3), 0, lua_tonumber(L, 4), 0, false);
	return 0;
}

 

Nie wstawiałem jej nigdzie bo nie wiem czy trzeba.

Opublikowano
8 minut temu, Ups... napisał:

Trzeba w source.

Ale, że tą funkcję dodać albo podmienić. W jakim pliku i czy jest 100% pewności, że zadziała jeżeli to zrobię.

Bo to może być wina czegoś innego.

Opublikowano

W questlua_affect.cpp dodaj funkcje i dopisz to w luaL_reg affect_functions[] = na końcu pliku.

Quest się zapętla ponieważ nie może wykonać funkcji i się "skończyć".

Prawie na pewno chodzi o to, a nawet jeśli nie to i tak musisz ją dodać bo bez tego quest i tak nie zadziała (chyba, że go odpowiednio edytujesz)

74f31dbf1675f.jpg

 

Opublikowano
12 minut temu, Ups... napisał:

W questlua_affect.cpp dodaj funkcje i dopisz to w luaL_reg affect_functions[] = na końcu pliku.

Quest się zapętla ponieważ nie może wykonać funkcji i się "skończyć".

Prawie na pewno chodzi o to, a nawet jeśli nie to i tak musisz ją dodać bo bez tego quest i tak nie zadziała (chyba, że go odpowiednio edytujesz)

Dodałem funkcję na końcu, wygląda to tak:

int affect_remove_all_collect( lua_State* L )
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        if ( ch != NULL )
        {
            ch->RemoveAffect(AFFECT_COLLECT);
        }

        return 0;
    }
    
    int affect_add_new_bonus(lua_State * L){
            CQuestManager & q = CQuestManager::instance();
            LPCHARACTER ch = q.GetCurrentCharacterPtr();
            if (ch==NULL) return 0;
    
            ch->AddAffect(lua_tonumber(L, 1), aApplyInfo[(BYTE)(lua_tonumber(L, 2))].bPointType, lua_tonumber(L, 3), 0, lua_tonumber(L, 4), 0, false);
            return 0;
    }

 

Tylko co mam dopisać w tym _reg affect_functions[]?

Bo trzeba jedną linijkę.

Mam takie coś:

{ "add",        affect_add        },
            { "remove",        affect_remove        },
            { "remove_bad",    affect_remove_bad    },
            { "remove_good",    affect_remove_good    },
            { "add_hair",        affect_add_hair        },
            { "remove_hair",    affect_remove_hair        },
            { "add_collect",        affect_add_collect        },
            { "add_collect_point",        affect_add_collect_point        },
            { "remove_collect",        affect_remove_collect    },
            { "remove_all_collect",    affect_remove_all_collect    },
            { "get_apply_on",    affect_get_apply_on },

Tak będzie dobrze?

{ "add_new_bonus",    affect_add_new_bonus },

Opublikowano

{ "add_new_bonus",    affect_add_new_bonus},

 

Czekaj, piszę to z głowy i nie pamiętam czy ten plik to nie jest czasem questlua_quest.cpp.

W każdym razie zasada i tu i tu taka sama, popróbuj.

74f31dbf1675f.jpg

 

Opublikowano
1 godzinę temu, Ups... napisał:

{ "add_new_bonus",    affect_add_new_bonus},

 

Czekaj, piszę to z głowy i nie pamiętam czy ten plik to nie jest czasem questlua_quest.cpp.

W każdym razie zasada i tu i tu taka sama, popróbuj.

Działa, dzięki za pomoc.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...