• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Svargrond arena help!

Mestor

Active Member
Joined
Feb 1, 2009
Messages
515
Reaction score
34
Location
Sweden
Need help with Svargrond arena... I need script for it, Im using 0.4_Dev and my problem is after when you paid the npc and when you entering the tp... Nothing Happens! Can someonge help me? :thumbup:
 
Last edited:
Code:
<npc name="Halvar" script="data/npc/scripts/arena.lua" floorchange="0" access="5" level="1" maglevel="1">
    <health now="150" max="150"/>
    <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. Im leader of the Svargrond Arena." />
</parameters>
</npc>

and arena.lua :

Code:
        domodlib('arenaFunctions')
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)             npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                    npcHandler:onThink()                    end
local focus = 0

local talk_start = 0

local TS = 0



function onCreatureDisappear(cid, pos)

    if focus == cid then

        selfSay('Good bye then.')

        focus = 0

        talk_start = 0

    end

end



local function BYE()

    focus = 0

    talk_start = 0

    TS = 0

end



function msgcontains(txt, str)

      return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end



function onCreatureSay(cid, type, msg)



    msg = string.lower(msg)

    if (msgcontains(msg, 'hi') and (focus == 0)) then

        selfSay('Hello ' .. getCreatureName(cid) .. ', Do you want to make arena?.')

          focus = cid

          talk_start = os.clock()

        TS = 1

    elseif msgcontains(msg, 'hi') and (focus ~= cid) then

          selfSay('Im Bussy')

    elseif TS == 1 and msgcontains(msg, 'yes') or msgcontains(msg, 'fight') or msgcontains(msg, 'arena') then

        if getPlayerStorageValue(cid, myArenaLevel) < 3 then

            local enterArena = myArenaLevelIs(cid)

            if getPlayerLevel(cid) >= enterArena.RLV then

                if getPlayerMoney(cid) >= enterArena.RC then

                    setPlayerStorageValue(cid, talkNPC, 1)

                    doPlayerRemoveMoney(cid, enterArena.RC)

                    selfSay("Now you can go to test... ".. enterArena.LN .."")

                    BYE()

                else

                    selfSay("You don\'t have "..enterArena.RC.." gp! Come back when you will be ready!")

                    BYE()

                end

            else

                selfSay("You don\'t have "..enterArena.RLV.." level! Come back when you will be ready!")

                BYE()

            end

        else

            selfSay(Cancel[6])

            BYE()

        end

    elseif TS == 1 and msgcontains(msg, 'no') then

        selfSay("Bye!.")

        BYE()

    elseif msgcontains(msg, 'bye') then

        selfSay("Bye!.")

        BYE()

    end

    return true

end



function onThink()

    doNpcSetCreatureFocus(focus)

    if (os.clock() - talk_start) > 60 then

          if focus > 0 then

              selfSay('Good bye then.')

          end

          focus = 0

      end

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

rep+
 
Back
Top