Ir para conteúdo
  • 0

Script de Task


SkyDarkyes

Pergunta

Exemplo:Vou mata o boss,ai vou para o npc e digo

 

Player:HI

NPC:Fale os monstros que você matou

Player:Neji Boss

NPC:Toma seu premio

 

Seria igual system de task,mas eu nao preciso pedir antes,é só eu fazer e vo entregar

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

man usa inteligencia e usa o sistema de task do roksas por comando mt mais ultil ai so tu add novos monster

 

http://www.xtibia.com/forum/topic/219909-task-system-command-10/

so um quote aki pra vc, que acho que voce nao leu direito.

 

 

Exemplo:Vou mata o boss,ai vou para o npc e digo

 

Player:HI

NPC:Fale os monstros que você matou

Player:Neji Boss

NPC:Toma seu premio

Link para o comentário
Compartilhar em outros sites

  • 0

Louvaremos a preguiça, script em spoiler.

 

 

 

data/creature/scripts:

TAG : <event type="kill" name="taskSys" event="script" value="SCRIPT.lua"/>

--[[

    Task System criado por Roksas

    Acesse já XTibia.com 

]]--



function onKill(cid, target, lastHit)

local task = taskSys[getCreatureName(string.lower(target))]



if not task then

    return true

end
if getPlayerStorageValue(cid, 333333) <= 3 then

if getPlayerStorageValue(cid, 333333) <= 2 then

    setPlayerStorageValue(cid, 333333, 2)
    doPlayerSendTextMessage(cid, 20, "[Task-System] [Voce acabou de matar o demon].")
    return true

end

else
doPlayerSendTextMessage(cid, 20, "Voce ja matou o Demon")
end
    return true

end

no Login.lua : registerCreatureEvent(cid, "taskSys")

 

DATA/LIB

script.lua:

--[[

    Task System criado por Roksas

    Acesse já XTibia.com 

]]--
 
taskSys = {


    ["Demon"] = {storKill = 333333, goalNeed = 1, raceName = "Demons", can = 15019, exp = 0, money = 0},

    
}

DATA/NPC/

NPC.XML

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Task" script="npcdemon.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="130" head="114" body="119" legs="114" feet="114" corpse="2212"/>

<parameters>
	<parameter key="message_greet" value="Ola |PLAYERNAME|,diga demon para começar"/>
</parameters>
</npc>

NPCSCRIPT.LUA:

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
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 msgcontains(msg, 'Demon') or msgcontains(msg, 'demon') then
               selfSay("Você matou o demon?", cid)
               talkState[talkUser] = 1 
               return true 
                
         elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 1 then 
             if getPlayerStorageValue(cid, 333333) <= 1 then 
               local sto = getPlayerStorageValue(cid, 333333)
               if sto >= 1 then 
                  selfSay("VocE não matou ainda!!", cid)
                  talkState[talkUser] = 0
                  return true
                  end
                elseif getPlayerStorageValue(cid, 333333) <= 2 then
               if getPlayerStorageValue(cid, 333333) <= 2 then
               
                  selfSay("Parabens receba 100 crystal coins por ter matador o Demon", cid)
                  setPlayerStorageValue(cid, 333333, 3)
                  doPlayerAddItem(cid, 2160, 100)
                  talkState[talkUser] = 0    
                end
                elseif getPlayerStorageValue(cid, 333333) == 3 then
                  selfSay("Voce ja matou o Demon", cid)
                  talkState[talkUser] = 0 
                  return true      
                   


            end    
return true

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

 

 

enjoy

Editado por Cleberadm
Link para o comentário
Compartilhar em outros sites

  • 0

Primeiramente, não é Hokage o nome, e sim Task utilize o comando (/n Task).

Mude o XML do NPC por:

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Task" script="npcdemon.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="130" head="114" body="119" legs="114" feet="114" corpse="2212"/>

<parameters>
    <parameter key="message_greet" value="Hello |PLAYERNAME|, say {demon} to start."/>
</parameters>
</npc>

(Ç) São um dos caractéres não aceitáveis pelo XML.

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

 

no lib deu erro '(eof)' expected near

testei aki e ta funcionando manow ta na hora de saber o basico eof e que falta um end *--*

 

falta um end? eof quer dizer que tem um end a mais -.-. o que falta um end. é quando mostra. not 'end' to close function tal...

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

no lib deu erro '(eof)' expected near

testei aki e ta funcionando manow ta na hora de saber o basico eof e que falta um end *--*

 

falta um end? eof quer dizer que tem um end a mais -.-. o que falta um end. é quando mostra. not 'end' to close function tal...

 

ata vlw eu eskeci disso rok me ensionou mais terminei confundindo *--* beurk.gif

Link para o comentário
Compartilhar em outros sites

  • 0

eof tambem pode significar que a pessoa coloco o end errado. tipo tem dois if, em uma só funçao. ai ao inves de exemplo colocar.

end

end

return true

end

 

a pessoa colocar

end

return true

end

end.

 

ai da o erro de eof.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...