Erikas Kontenis
Excellent OT User
Hiho, Thanks For loking But Can Anybody Give For me Arener Npc Working 100% In Tfs 0.2.5 Mystic Spirit ? It's For me Will by Very Usefull Thanks For Helping Big big Thanks From me And Ofc Rep+++ ^_^
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Arener" script="data/npc/scripts/arena.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="300" head="0" body="0" legs="0" feet="0" corpse="5995"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|, Do you want to fight in the arena?"/>
</parameters>
</npc>
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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
function enterArena(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
local cost = 0
local levelname = ''
if getPlayerStorageValue(cid, 42355) < 1 then
cost = 1000
levelname = 'Greenhorn'
levelneeded = 40
elseif getPlayerStorageValue(cid, 42355) == 1 then
cost = 5000
levelname = 'Scrapper'
levelneeded = 50
elseif getPlayerStorageValue(cid, 42355) == 2 then
cost = 10000
levelname = 'Warlord'
levelneeded = 60
end
if string.lower(keywords[1]) == 'yes' and parameters.prepare ~= 1 then
if getPlayerStorageValue(cid, 42351) ~= 1 then
if(getPlayerLevel(cid) >= levelneeded) then
if(getPlayerMoney(cid) >= cost) then
npcHandler:say('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)
doPlayerRemoveMoney(cid, cost)
setPlayerStorageValue(cid, 42351, 1)
else
npcHandler:say('You need ' .. cost .. ' gold pieces to enter this arena in this {difficulty}!', cid)
npcHandler:resetNpc()
end
else
npcHandler:say('You need level ' .. levelneeded .. ' for this arena {difficulty}!', cid)
npcHandler:resetNpc()
end
else
npcHandler:say('You have already paid the {fee} for entering the arena pits!', cid)
end
npcHandler:resetNpc()
elseif string.lower(keywords[1]) == 'no' then
npcHandler:say('Come back when you feel ready!', cid)
npcHandler:resetNpc()
else
if getPlayerStorageValue(cid, 42355) < 3 then
npcHandler:say('So you agree with the {rules} and want to participate in the challenge? The {fee} for one try in {' .. levelname .. '} {difficulty} {level} is ' .. cost .. ' gold pieces. Do you really want to participate and pay the {fee}?', cid)
else
npcHandler:say('You\'ve already completed the arena in all {difficulty} {levels}.',cid)
npcHandler:resetNpc()
end
end
return true
end
local yesNode = KeywordNode:new({'yes'}, enterArena, {})
local noNode = KeywordNode:new({'no'}, enterArena, {})
local node1 = keywordHandler:addKeyword({'arena'}, enterArena, {prepare=1})
node1:addChildKeywordNode(yesNode)
node1:addChildKeywordNode(noNode)
local node2 = keywordHandler:addKeyword({'fight'}, enterArena, {prepare=1})
node2:addChildKeywordNode(yesNode)
node2:addChildKeywordNode(noNode)
local node3 = keywordHandler:addKeyword({'yes'}, enterArena, {prepare=1})
node3:addChildKeywordNode(yesNode)
node3:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())