• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Task Kill Players

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Sistema] Task Kill Players Empty [Sistema] Task Kill Players Vie Ago 28, 2015 1:00 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface

    Tested en TFS 0.3.6.


    bueno aqui les traigo este sistema interesante se trata de la Task Kill Players es muy similar al de la Grizzly Adams pero en ves de matar moustro le dara la mission de matar cierta cantidad de player para completarla.

    nota: tiene un minimo de level de target

    bueno nos vamos a data/npc/script copiamos cualquier archivo y renombramos por death.lua y pegamos esto dentro:

    Código:

            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 config = {
               npcstorage = 18687,
               killstorage = 19001,
               amountkills = 10,
               rewarditem = 2160,
               rewardexp = 12000
            }

            function creatureSayCallback(cid, type, msg)

               local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
            
               if(not npcHandler:isFocused(cid)) then
                  if(msg == 'hi' or msg == 'hello') then
                     if(getPlayerStorageValue(cid, config.npcstorage) == -1) then
                        selfSay('Hello '..getPlayerName(cid)..', I have a mission for you if you are strong enough. I want you to kill 10 players, do you accept?', cid)
                        talkState[talkUser] = 1
                     elseif(getPlayerStorageValue(cid, config.npcstorage) == 1) then
                        selfSay('Did you kill 10 players?', cid)
                        talkState[talkUser] = 1
                     else
                        selfSay('Hello '..getPlayerName(cid)..', bringer of death!', cid)
                     end
                     npcHandler:addFocus(cid)
                  else
                     return false
                  end
               end
            
               if(msgcontains(msg, 'yes')) and talkState[talkUser] == 1 then
                  if(getPlayerStorageValue(cid, config.npcstorage) == -1) then
                     selfSay('Lets see if you can make it!', cid)
                     doPlayerSetStorageValue(cid, config.npcstorage, 1)
                  elseif(getPlayerStorageValue(cid, config.npcstorage) == 1) then
                     if(getPlayerStorageValue(cid, config.killstorage) >= config.amountkills) then
                        selfSay('Well, didn\'t expected it, but well done, here is your reward.', cid)
                        doPlayerAddItem(cid, config.rewarditem, 1)
                                  doPlayerAddExp(cid, config.rewardexp)
                        doPlayerSetStorageValue(cid, config.npcstorage, 2)
                     else
                                 selfSay('You killed '..(getPlayerStorageValue(cid, config.killstorage) +1)..' players, you need to kill '..config.amountkills..'!', cid)
                     end
                  end
                  talkState[talkUser] = 0
               elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
                  talkState[talkUser] = 0
                  selfSay('I knew you were not strong enough!', cid)
               elseif(msgcontains(msg, 'bye')) then
                  selfSay('Bye.', cid)
                  npcHandler:releaseFocus(cid)
               end
               return true
            end
            
            npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)


    luego nos vamos a data/npc y copiamos cualquier archivo y renombramos por Death.xml y pegamos esto dentro:

    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="Death" script="death.lua" walkinterval="2000" floorchange="0">
       <health now="100" max="100"/>
       <look type="300" head="0" body="0" legs="0" feet="0"/>
    </npc>

    Segunda parte:

    Nos vamos a data/creaturescripts/scripts copiamos cualquier archivo y renombramos por killplayer.lua y pegamos esto dentro:

    Código:
    local config = {
       npcstorage = 18687,
       killstorage = 19001,
       targetlevel = 30, -- minimum level of the target
       amountkills = 10
    }

    function onKill(cid, target)

       if(not isPlayer(target)) then
          return true
       end

       if(getPlayerLevel(target) >= config.targetlevel and getPlayerStorageValue(cid, config.npcstorage) == 1) then
          if(getPlayerStorageValue(cid, config.killstorage) >= -1 and getPlayerStorageValue(cid, config.killstorage) < config.amountkills) then      
             setPlayerStorageValue(cid, config.killstorage, getPlayerStorageValue(cid, config.killstorage) + 1)
             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players killed: "..(getPlayerStorageValue(cid, config.killstorage) +1).."/"..config.amountkills..".")
          end
          if((getPlayerStorageValue(cid, config.killstorage) +1) == config.amountkills) then
             doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you have killed "..(getPlayerStorageValue(cid, config.killstorage) +1).." players and finished the mission.")
             setPlayerStorageValue(cid, config.killstorage, getPlayerStorageValue(cid, config.killstorage) + 1)
          end
       end
       return true
    end

    en la misma carpeta buscamos el archivo login.lua y añadimos esta linea:

    Código:
    registerCreatureEvent(cid, "KillPlayer")


    luego nos vamos a data/creaturescripts/creaturescripts.xml y añadimos esta tag:

    Código:
    <event type="kill" name="KillPlayer" event="script" value="killplayer.lua"/>

    y listo eso seria todo.



    Última edición por [Admin] God Maya el Jue Feb 07, 2019 5:30 pm, editado 1 vez



    [Sistema] Task Kill Players YNU5B25
    5 participantes
    http://www.tibiaface.com

    2[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Miér Nov 18, 2015 10:47 am

    Cheka

    Cheka
    Miembro
    Miembro
    seria bueno que fueran a diferente tipo de chares

    5 participantes

    3[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Jue Dic 27, 2018 2:57 am

    TheFlariuz

    TheFlariuz
    Miembro
    Miembro
    no se puede poner para que en ves de que sea una cantidad sea un level determinado oseqa que el npc diga que tienes que matar a un player lvl 400 y despues que diga lo mismo pero con un level diferente

    5 participantes

    4[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Jue Dic 27, 2018 9:59 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    TheFlariuz escribió:no se puede poner para que en ves de que sea una cantidad sea un level determinado oseqa que el npc diga que tienes que matar a un player lvl 400 y despues que diga lo mismo pero con un level diferente

    targetlevel = 30, -- minimum level of the target


    ya tiene identificado aquello



    [Sistema] Task Kill Players YNU5B25
    5 participantes
    http://www.tibiaface.com

    5[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Vie Dic 28, 2018 10:09 pm

    swish rich

    swish rich
    Miembro
    Miembro
    no me funciona me sale esto
    [28/12/2018 22:08:19] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/death.lua
    [28/12/2018 22:08:19] data/npc/scripts/death.lua:6: function arguments expected near 'nCreatureAppear'

    5 participantes

    6[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Vie Dic 28, 2018 10:24 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    swish rich escribió:no me funciona me sale esto
    [28/12/2018 22:08:19] [Warning - NpcScriptNpcScript] Cannot load script: data/npc/scripts/death.lua
    [28/12/2018 22:08:19] data/npc/scripts/death.lua:6: function arguments expected near 'nCreatureAppear'

    dependiendo de la version de consola que usa



    [Sistema] Task Kill Players YNU5B25
    5 participantes
    http://www.tibiaface.com

    7[Sistema] Task Kill Players Empty error en consola Jue Feb 07, 2019 5:18 pm

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    [7/2/2019 17:14:3] [Error - LuaInterface::loadFile] data/npc/scripts/death.lua:6: function arguments expected near 'nCreatureAppear'
    [7/2/2019 17:14:3] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/death.lua
    [7/2/2019 17:14:3] data/npc/scripts/death.lua:6: function arguments expected near 'nCreatureAppear'

    5 participantes

    8[Sistema] Task Kill Players Empty Re: [Sistema] Task Kill Players Jue Feb 07, 2019 5:31 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    problema solucionado con el npc de este systema



    [Sistema] Task Kill Players YNU5B25
    5 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    5 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).