• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6

    Compartir:

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

    Josens

    Josens
    Miembro
    Miembro
    Hola, mucho tiempo que no hacía un aporte jeje, pero he vuelto.

    Hoy les traigo un npc que al decirle a quien quieres matar, este ira y seguirá hasta matarlo, pero, ¿Cómo funciona?, Pss fácil, con este dialogo:

    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6 Sin_ty10

    Al hacer esto, el sicario ira hasta tu victima, lo seguira por unos segundos y BOOM!, se muere.

    Aqui una muestra:
    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6 Giphy

    Okey, antes de darles el script, les diré una recomendación, aunque esto es OPCIONAL. Pueden hacer que este npc se consiga al usar un item, con un script básico como por ejemplo:

    Código:
    function onUse(cid, item, pos)
    local config = {
    npcName = 'Sicarius'
    }

    if (doCreateNpc(config.npcName, getThingPos(cid), false))then
     doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
     return doPlayerSendTextMessage(cid, 22, "No puedes colocar a tu sicario aqui.")
     end

    doRemoveItem(item.uid, 1)
    return true
    end

    Y en actions.xml
    Código:
    <action itemid="X" event="script" value="ARCHIVO.lua"/>


    Y para que sea mejor, que ese item, se consiga en una quest o pagando, quien sabe como, usen su imaginación, pero recuerden, es solo si es que quieren, si no, en el npc hay una opcion que te
    cobrará para asesinar.

    Ahora, el script del npc, vayan a data/npc/scripts, crean un archivo y dentro pegan esto:
    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 state = 0

    local config = {
    levelToKill = 15,

    needMoneyToKill = true,
    killCost = 500000,

    damageType = COMBAT_DEATHDAMAGE,
    effectType = CONST_ME_SUDDENDEATH,
    sendShoot = true,
    shootType = CONST_ANI_SUDDENDEATH
    }

    function creatureSayCallback(cid, type, msg)
        if not npcHandler:isFocused(cid) then
          return false
        end

        if msgcontains(msg, "kill") and state < 1 then
          selfSay("Wow! then, say me the name of your victim.", cid)
          state = 1
       
       elseif msg ~= nil and state == 1 then
          target = getPlayerByNameWildcard(msg)
          if not target then
             state = 0
             return selfSay("The victim is not online, sorry *:c*", cid)
             end
          if tonumber(getPlayerLevel(target)) < tonumber(config.levelToKill) then
             state = 0
             return selfSay("Sorry!!! that victim is so weakly.", cid)
             end
          if getPlayerAccess(target) > 1 then
             state = 0
             return selfSay("Sorry! He is an admin.", cid)
             end
          if target == cid then
             state = 1
             return selfSay("No, I don't need your name, I need the name of the victim...", cid)
             end
             
          selfSay("Ooh, mmm kill in this world is ilegal, are you sure to do this action?"..(config.needMoneyToKill == true and ", it cost "..config.killCost.." gp." or ""), cid)
          state = 2
       elseif msgcontains(msg, "yes") and state == 2 then
          if config.needMoneyToKill then
             if not doPlayerRemoveMoney(cid, config.killCost) then
             state = 0
             return selfSay("Sorry, you need "..tostring(config.killCost).." gp to kill your target.", cid)
             end
          end
          selfSay("Okay okay! There I go!")
          doSendMagicEffect(getThingPos(getNpcCid()), CONST_ME_POFF)
          doTeleportThing(getNpcCid(), getThingPos(target))
          doSendMagicEffect(getThingPos(getNpcCid()), CONST_ME_TELEPORT)
          local newspeed = getCreatureSpeed(target)*2
          doChangeSpeed(getNpcCid(), newspeed)
          selfFollow(target)

          addEvent(doCreatureSay, 2000, getNpcCid(), "Take It!")
          addEvent(doTargetCombatHealth, 2000, target, config.damageType, -99999, -9999999, config.effectType)
          if config.sendShoot then
             addEvent(function()   doSendDistanceShoot(getThingPos(getNpcCid()), getThingPos(target), config.shootType) end, 2000)
             end
          addEvent(doSendMagicEffect, 2500, getNpcCid(), CONST_ME_POFF)
          addEvent(doRemoveCreature, 2500, getNpcCid())
       end

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

    Como configurarlo?, aqui:

    levelToKill - Nivel requerido de la victima para ser asesinada.

    needMoneyToKill - Si esta en true, requerirás dinero para matar a tu victima.
    killCost - Si needMoneyToKill es True, entonces aquí pon el costo de el asesinato.

    damageType - Tipo de daño que recibirá la victima. ejemplos(COMBAT_PHYSICALDAMAGE, COMBAT_FIREDAMAGE, Etc).
    effectType - Efecto que le saldra a tu victima al ser dañada. ejemplos(CONST_ME_BLOOD, CONST_ME_FIRE), tambien puede ser en numeros.
    sendShoot - Si lo activas, cuando el sicario ataque la victima, saldra un efecto de disparo.
    shootType - Si sendShoot es True, entonces aqui pon el efecto. ejemplos)CONST_ANI_ARROW, CONST_ANI_FIRE), tambien puede ser en numeros.

    Y ahora dentro de un archivo xml, en data/npc, peguen esto:
    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="Sicarius" script="ARCHIVO.lua" walkinterval="2000" floorchange="0">
        <health now="100" max="100"/>
        <look type="131" head="0" body="0" legs="95" feet="115" addons="0"/>
        <parameters>
            <parameter key="message_greet" value="Hi |PLAYERNAME|, What do you want?"/>
        </parameters>
    </npc>

    En script="" Ponga el nombre de su archivo de script creado anteriormente.

    Espero que les haya gustado Very Happy

    Creditos Josens.



    Última edición por Josens el Sáb Nov 25, 2017 2:27 pm, editado 2 veces



    Very Happy
    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6 11ln580

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    lollllllllllllllllllllllllllll excelente npc (y)



    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6 YNU5B25
    https://www.tibiaface.com

    rombj

    rombj
    Nuevo Miembro
    Nuevo Miembro
    Está muy bueno el npc jeje!

    [Adm] SevuOT

    [Adm] SevuOT
    Miembro
    Miembro
    Buen Aporte, aunque le faltaria alguna condicion para que solo los de su level o mayor puedan asesinar a otra persona!

    Pero esta muy bueno el aporte, a lo mejor haga este npc para TFS 1.3



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    Npc Sicario, mata a quien tu quieras. Tfs 0.4 8.6 TRJEB8aSRYK5IulEU6ilJw

    Gatillo

    Gatillo
    Nuevo Miembro
    Nuevo Miembro
    muy bueno hermano lo probe y todo y todo bien pero, solo un problemita, no se si sea yo o el script. cree el action y etc del item pero cuando uso el item que cree solo el item desaparece y no aparece el sicario solo desaparece el item y no pasa mas. ayudame a solucionar bro. gracias, SALUDOS.!

    zeneel

    zeneel
    Miembro
    Miembro
    Alguno de ustedes ya lo transporfo a TFS 1.3?



    Question BUMP MI POST Question

    Contenido patrocinado


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