SK
pedido

Script de Task

Por SkyDarkyes, 24 de ago. de 2013 em Scripts

script
20
2.8k
24 de agosto de 2013 às 20:05

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

kttallanK
24 de agosto de 2013 às 20:19

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/

Editado Agosto 24 por kttallan

24 de agosto de 2013 às 20:22

Não quero por comando

MaenilseM
24 de agosto de 2013 às 20:36

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

Session StartS
24 de agosto de 2013 às 21:31

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 Agosto 24 por Cleberadm

24 de agosto de 2013 às 22:05

no lib deu erro '(eof)' expected near

Session StartS
25 de agosto de 2013 às 01:38

Digita como ta o erro... aqui pego o.O

 

 

Cria o arquivo da LIB com nome de taskSys.lua

Editado Agosto 25 por Cleberadm

kttallanK
25 de agosto de 2013 às 07:40

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 *--*

25 de agosto de 2013 às 09:11

Estou tentando /n Hokage mas nao vai

 

O nome no arquivo está Hokage

e o arquivo XML tbm

1239609_497164600367506_1409779674_n.jpg

RoksasR
25 de agosto de 2013 às 09:31

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 Agosto 25 por Roksas

25 de agosto de 2013 às 09:34

Eu ja tinha mudado o nome ai tbm,e deu o erro

 

Mas o fireelement ajudo

RoksasR
25 de agosto de 2013 às 09:39

Poste a resolução para que eu possa mover.

25 de agosto de 2013 às 09:48

An?

MaenilseM
25 de agosto de 2013 às 10:38

 

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...

kttallanK
25 de agosto de 2013 às 13:37

 

 

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