KAYNAK KOD Spell Of Stone System (Skill Açtırma)

CMDK

Admin
Premium Üye
KY Saygın Üye
KY Uzman Üye
KY Kıdemli Üye
KY YardımSever
Bağımlı Üye
Coder
KY Paylaşım Editörü
Katılım
3 Mar 2021
Mesajlar
477
Çözümler
73
Tepkime puanı
1,413
Puanları
153
Mevcut sourceden ayıklanmış kodlar daha bilgili olan arkadaş hatalar varsa yardımcı olmak için yazabilir.
Master Görevini veya daha farklı görevlerde eklenebilir.
İtem ve para miktarını kendiniz değiştirirsiniz.

Skill.jpg

User.h
C++:
    void SpellOfStoneSystem(uint8 SkillLevel);
    void UserSkillQuestSave(uint16 SkillQuestID);
   
    DECLARE_LUA_FUNCTION(OpenSkill) {
        LUA_NO_RETURN(LUA_GET_INSTANCE()->SpellOfStoneSystem(
            LUA_ARG(uint8, 2)));
    }

User.cpp
C++:
    void CUser::UserSkillQuestSave(uint16 SkillQuestID)
{
    _USER_QUEST_INFO* pQuestInfo = m_questMap.GetData(SkillQuestID);

    if (pQuestInfo != nullptr)
        return;

    _USER_QUEST_INFO* pUserQuest = new _USER_QUEST_INFO();

    pUserQuest->QuestState = 2;

    if (m_questMap.PutData(SkillQuestID, pUserQuest))
    {
        Packet result(WIZ_QUEST, uint8(2));
        result << uint16(SkillQuestID) << uint8(2);
        Send(&result);
    }

}

Define.h
C++:
#define ITEM_SPELL_STONE        810369000

User.Cpp veya kendiniz ayrı cpp oluşturabilirsiniz.

Luaengine.cpp
C++:
 MAKE_LUA_FUNCTION(OpenSkill)

lua_bindidigs.cpp
C++:
 MAKE_LUA_METHOD(OpenSkill)
LUA_WRAPPER_USER_FUNCTION(OpenSkill);

lua_bindidigs.h
C++:
 LUA_FUNCTION(OpenSkill);

NPC_us.TBL
Kod:
 20035    [Skill Opener] Maria    25275    0    0    0    0

Quest_Menü_us.TBL
Kod:
47000    70 Level Skill Quest
47002    72 Level Skill Quest
47003    74 Level Skill Quest
47004    75 Level Skill Quest
47005    76 Level Skill Quest
47006    78 Level Skill Quest
47007    80 Level Skill Quest

Quest_talk_us.TBL
Kod:
 47005    Buradan Gorev Skillerini Actirabilirsin. Detaylar Icin Foruma Goz Atabilirsin    0    0

K_NPC
Kod:
 20035    [Skill Opener] Maria    20513    50    0    0    1    7    174    1    3    3    0    80    1000    500    100000    0    0    15000    375    375    3000    1500    2    7    1000    0    0    0    250    250    250    250    250    250    250    90    7    14    35    20000    0    0    NULL
K_NPCPOS
,
Kod:
 21    20035    100    0    0    0    0    799    555    799    555    799    555    799    555    1    30    0    0        0
QUEST_HELPER
Kod:
 23001    2    1    0    5    3    1    1    20035    0    0    100    0    0    0    SkillOpener.lua                             -1    63    1
SkillOpener.lua
Kod:
 --local Ret = 0;
local NPC = 20035;

if (EVENT == 100) then
Class = CheckClass (UID);
-- Warrior
if (Class == 1 or Class == 5 or Class == 6) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47004,75,47007,80);
end
-- Rogue
if (Class == 2 or Class == 7 or Class == 8) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47002,72,47004,75,47007,80);
end
--Mage
if (Class == 3 or Class == 9 or Class == 10) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47002,72,47004,75,47007,80);
end
-- Priest
if (Class == 4 or Class == 11 or Class == 12) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000,70,47002,72,47003,74,47004,75,47005,76,47006,78,47007,80);
end

end

if (EVENT == 70) then
OpenSkill(UID,70);
end
if (EVENT == 72) then
OpenSkill(UID,72);
end
if (EVENT == 74) then
OpenSkill(UID,74);
end
if (EVENT == 75) then
OpenSkill(UID,75);
end
if (EVENT == 76) then
OpenSkill(UID,76);
end
if (EVENT == 78) then
OpenSkill(UID,78);
end
if (EVENT == 80) then
OpenSkill(UID,80);
end
--SpellOfStoneSystem -- 47005
 
Son düzenleme:

nksfatih

KY Üye
KY YardımSever
Katılım
12 Eki 2023
Mesajlar
75
Çözümler
3
Tepkime puanı
2
Puanları
8
teşekkürler
 

hkn74100

KY Kıdemli Üye
Katılım
6 Şub 2022
Mesajlar
238
Tepkime puanı
4
Puanları
48
Mevcut sourceden ayıklanmış kodlar daha bilgili olan arkadaş hatalar varsa yardımcı olmak için yazabilir.
Master Görevini veya daha farklı görevlerde eklenebilir.
İtem ve para miktarını kendiniz değiştirirsiniz.

Ekli dosyayı görüntüle 1362

User.h
C++:
    void SpellOfStoneSystem(uint8 SkillLevel);
    void UserSkillQuestSave(uint16 SkillQuestID);
  
    DECLARE_LUA_FUNCTION(OpenSkill) {
        LUA_NO_RETURN(LUA_GET_INSTANCE()->SpellOfStoneSystem(
            LUA_ARG(uint8, 2)));
    }

User.cpp
C++:
    void CUser::UserSkillQuestSave(uint16 SkillQuestID)
{
    _USER_QUEST_INFO* pQuestInfo = m_questMap.GetData(SkillQuestID);

    if (pQuestInfo != nullptr)
        return;

    _USER_QUEST_INFO* pUserQuest = new _USER_QUEST_INFO();

    pUserQuest->QuestState = 2;

    if (m_questMap.PutData(SkillQuestID, pUserQuest))
    {
        Packet result(WIZ_QUEST, uint8(2));
        result << uint16(SkillQuestID) << uint8(2);
        Send(&result);
    }

}

Define.h
C++:
#define ITEM_SPELL_STONE        810369000

User.Cpp veya kendiniz ayrı cpp oluşturabilirsiniz.
*** Gizli metin: alıntı yapılamaz. ***


Luaengine.cpp
C++:
 MAKE_LUA_FUNCTION(OpenSkill)

lua_bindidigs.cpp
C++:
 MAKE_LUA_METHOD(OpenSkill)
LUA_WRAPPER_USER_FUNCTION(OpenSkill);

lua_bindidigs.h
C++:
 LUA_FUNCTION(OpenSkill);

NPC_us.TBL
Kod:
 20035    [Skill Opener] Maria    25275    0    0    0    0

Quest_Menü_us.TBL
Kod:
47000    70 Level Skill Quest
47002    72 Level Skill Quest
47003    74 Level Skill Quest
47004    75 Level Skill Quest
47005    76 Level Skill Quest
47006    78 Level Skill Quest
47007    80 Level Skill Quest

Quest_talk_us.TBL
Kod:
 47005    Buradan Gorev Skillerini Actirabilirsin. Detaylar Icin Foruma Goz Atabilirsin    0    0

K_NPC
Kod:
 20035    [Skill Opener] Maria    20513    50    0    0    1    7    174    1    3    3    0    80    1000    500    100000    0    0    15000    375    375    3000    1500    2    7    1000    0    0    0    250    250    250    250    250    250    250    90    7    14    35    20000    0    0    NULL
K_NPCPOS
,
Kod:
 21    20035    100    0    0    0    0    799    555    799    555    799    555    799    555    1    30    0    0        0
QUEST_HELPER
Kod:
 23001    2    1    0    5    3    1    1    20035    0    0    100    0    0    0    SkillOpener.lua                             -1    63    1
SkillOpener.lua
Kod:
 --local Ret = 0;
local NPC = 20035;

if (EVENT == 100) then
Class = CheckClass (UID);
-- Warrior
if (Class == 1 or Class == 5 or Class == 6) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47004,75,47007,80);
end
-- Rogue
if (Class == 2 or Class == 7 or Class == 8) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47002,72,47004,75,47007,80);
end
--Mage
if (Class == 3 or Class == 9 or Class == 10) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000, 70,47002,72,47004,75,47007,80);
end
-- Priest
if (Class == 4 or Class == 11 or Class == 12) then
SelectMsg(UID, 2, -1, 47005, NPC, 47000,70,47002,72,47003,74,47004,75,47005,76,47006,78,47007,80);
end

end

if (EVENT == 70) then
OpenSkill(UID,70);
end
if (EVENT == 72) then
OpenSkill(UID,72);
end
if (EVENT == 74) then
OpenSkill(UID,74);
end
if (EVENT == 75) then
OpenSkill(UID,75);
end
if (EVENT == 76) then
OpenSkill(UID,76);
end
if (EVENT == 78) then
OpenSkill(UID,78);
end
if (EVENT == 80) then
OpenSkill(UID,80);
end
--SpellOfStoneSystem -- 47005
TEŞEKKÜRLER
 
Reklam