What's new

Pomoc z npc

Verdehile

User
Joined
Dec 25, 2023
Messages
10
Reaction score
0
Witam może mi ktoś powiedzieć dlaczego npc wgl nie reaguje na ''hi''? to kod lua

Python:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local SKULL_ITEM_ID = 7499
local PLATINUM_COIN_ID = 2152
local GHOSTLY_EYE_ITEM_ID = 7956
local PLATINUM_COIN_REWARD = 5

local npcMissions = {
    [1] = {
        description = "Przynieś pięć czaszek.",
        requiredItem = SKULL_ITEM_ID,
        requiredItemCount = 5,
        rewardItem = PLATINUM_COIN_ID,
        rewardCount = 1,
        completed = false
    },
    [2] = {
        description = "Przynieś dziesięć oczu zjawy.",
        requiredItem = GHOSTLY_EYE_ITEM_ID,
        requiredItemCount = 10,
        rewardItem = PLATINUM_COIN_ID,
        rewardCount = PLATINUM_COIN_REWARD,
        completed = false
    }
}

local function checkPlayerMissionProgress(cid)
    local playerMissions = getPlayerStorageValue(cid, 1000)
    if playerMissions == -1 then
        playerMissions = {}
    end
    return playerMissions
end

local function checkMissionCompletion(cid, mission)
    local playerMissions = checkPlayerMissionProgress(cid)
    if not playerMissions[mission] then
        return false
    end

    if playerMissions[mission] == 1 then
        return true
    else
        return false
    end
end

local function setMissionComplete(cid, mission)
    local playerMissions = checkPlayerMissionProgress(cid)
    playerMissions[mission] = 1
    setPlayerStorageValue(cid, 1000, playerMissions)
end

function onCreatureAppear(cid) end
function onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) end
function onThink() end

function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msg == "hi" then
        local playerLevel = getPlayerLevel(cid)
        if playerLevel >= 15 then
            if not checkMissionCompletion(cid, 2) then
                selfSay("Cześć! Widzę, że osiągnąłeś wystarczający poziom, aby podjąć kolejne wyzwanie. Czy jesteś gotowy na kolejną misję?", cid)
                talkState[talkUser] = 1
            else
                selfSay("Witaj ponownie! Czy potrzebujesz czegoś jeszcze?", cid)
            end
        else
            selfSay("Witaj! Czy potrzebujesz pomocy?", cid)
        end
    elseif msg == "misja" then
        local playerMissions = checkPlayerMissionProgress(cid)
        if not playerMissions[1] then
            selfSay(npcMissions[1].description, cid)
            talkState[talkUser] = 2
        else
            selfSay("Już masz aktywną misję. Wróć, gdy ją ukończysz.", cid)
        end
    elseif msg == "tak" and talkState[talkUser] == 1 then
        if getPlayerItemCount(cid, 10022) >= 1 then
            if doPlayerRemoveMoney(cid, 15000) then
                doPlayerRemoveItem(cid, 10022, 1)
                doPlayerAddItem(cid, 9933)
                selfSay("Proszę bardzo.", cid)
                setMissionComplete(cid, 2)
            else
                selfSay("Przepraszam, nie masz wystarczająco złota.", cid)
            end
        else
            selfSay("Przepraszam, nie masz przedmiotu.", cid)
        end
        talkState[talkUser] = 0
    elseif msg == "nie" and talkState[talkUser] == 1 then
        selfSay("Dobrze, jak chcesz.", cid)
        talkState[talkUser] = 0
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

a tu daje kod xml
XML:
<npc name="Kolekcjoner" script="data/npc/scripts/Kolekcjoner.lua" access="5" lookdir="1">
    <health now="1000" max="1000"/>
    <look type="14" head="90" body="12" legs="3" feet="8" addons="1"/>
    <parameters>
        <parameter key="message_greet" value="Witaj |PLAYERNAME|. Jestem Kolekcjonerem. Mam dla ciebie zadania do wykonania!" />
    </parameters>
</npc>
 
Last edited by a moderator:

Kuzyn

Dziad.
Staff member
Joined
May 3, 2008
Messages
1,936
Reaction score
165
Masz jakieś błędy w konsoli czy po prostu nie reaguje i tyle?
Nic nie napisałeś w ogóle o tym co to za silnik, ale może spróbuj z tym NPCtem?
 

Verdehile

User
Joined
Dec 25, 2023
Messages
10
Reaction score
0
Masz jakieś błędy w konsoli czy po prostu nie reaguje i tyle?
Nic nie napisałeś w ogóle o tym co to za silnik, ale może spróbuj z tym NPCtem?
To jest visum ots 8.7 tak nic wgl nie reaguje a na silniku nic się nie pojawia
 
Top