• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Codigo] [PEDIDO] Systema de Mount

    Compartir:

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

    1Thông báo [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 12:24 pm

    MauGame

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Estimados quisiera pedir un sistema de mount como tibia rl, si esto es muy complicado, por que no lo he visto e ningún lado solo mount doll, quisiera que un npc te cambie la montura por el ítem que corresponda y en algunos casos se necesite mas de 1 o 2 por el ítem, por ejemplo el burro con 1 basta pero puede fallar 50% si es que es por npc.

    si esto tan bien esta complicado, podría ser un tipo de actions que darle use el ítem te cambie la montura como ultima opción aun que el npc igual esta bueno como rpg.

    Intente realizar algo así: Pero me dio un error.

    Código:
    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


       local config =
    {
      --["mount"] = {id = x},
      ["widow queen"] =       {id = 1},
      ["racing bird"] =       {id = 2},
      ["war bear"] =          {id = 3},
      ["black Sheep"] =       {id = 4},
      ["midnight panther"] =    {id = 5},
      ["draptor"] =         {id = 6},
      ["titanica"] =          {id = 7},
      ["tin lizzard"] =       {id = 8},
      ["blazebringer"] =       {id = 9},
      ["rapid boar"] =       {id = 10},
      ["Stampor"] =          {id = 11},
      ["undead cavebear"] =    {id = 12},
      ["donkey"] =          {id = 13},
      ["tiger slug"] =       {id = 14},
      ["Uniwheel"] =          {id = 15},
      ["crystal wolf"] =       {id = 16},
      ["brown war horse"] =    {id = 17},
      ["kingly deer"] =       {id = 18},
      ["tamed panda"] =       {id = 19},
      ["dromedary"] =          {id = 20},
      ["king scorpion"] =       {id = 21},
      ["rented horse"] =       {id = 22},
      ["armoured war horse"] = {id = 23},
      ["shadow draptor"] =    {id = 24},
      ["rented horse"] =       {id = 25},
      ["rented horse"] =       {id = 26},
      ["ladybug"] =          {id = 27},
      ["manta"] =             {id = 28},
      ["ironblight"] =       {id = 29},
      ["magma Crawler"] =       {id = 30},
      ["dragonling"] =       {id = 31},
      ["gnarlhound"] =       {id = 32},
      ["crimson ray"] =       {id = 33},
      ["Steelbeak"] =          {id = 34},
      ["water buffalo"] =       {id = 35},
      ["armoured scorpion"] =    {id = 36},
      ["armoured dragonling"] ={id = 37},
      ["armoured cavebear"] =    {id = 38},
      ["the Hellgrip"] =       {id = 39},
      ["lion"] =             {id = 40},
      ["golden lion"] =       {id = 41},
      ["shock head"] =       {id = 42}
    }

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

       if msgcontains(msg, "bag of apple slices") and npcHandler.topic[cid] == 0 then
          npcHandler:say("Deseas la montura del Burro?", cid)
          npcHandler.topic[cid] = 1
       elseif npcHandler.topic[cid] == 1 then
          if msgcontains(msg, "yes") and player:getItemCount(13537) then
             cid:doPlayerRemoveItem(13537, 1)
             cid:doAddMount(13)
             npcHandler:say("Has recibido la montura!!!", cid)
          else
             npcHandler:say("Mentira no tienes el item que me mencionaste!! MANCO!!", cid)
          end
       return true
    end
    end






    npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus)
    npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus)

    npcHandler:setCallback(CALLBACK_GREET, greetCallback)
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())

    Uso la version de TFS 1.3 en versión cliente 10.98

    Ver perfil de usuario

    2Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 12:55 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    prueba

    Código:
    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


      local config =
    {
      --["mount"] = { price = x, id = x},
      ["widow queen"] =      { price = 2, id = 1},
      ["racing bird"] =      { price = 2, id = 2},
      ["war bear"] =          { price = 2, id = 3},
      ["black Sheep"] =      { price = 2, id = 4},
      ["midnight panther"] =    { price = 2, id = 5},
      ["draptor"] =        { price = 2, id = 6},
      ["titanica"] =          { price = 2, id = 7},
      ["tin lizzard"] =      { price = 2, id = 8},
      ["blazebringer"] =      { price = 2, id = 9},
      ["rapid boar"] =      { price = 2, id = 10},
      ["Stampor"] =          { price = 2, id = 11},
      ["undead cavebear"] =    { price = 2, id = 12},
      ["donkey"] =          { price = 2, id = 13},
      ["tiger slug"] =      { price = 2, id = 14},
      ["Uniwheel"] =          { price = 2, id = 15},
      ["crystal wolf"] =      { price = 2, id = 16},
      ["brown war horse"] =    { price = 2, id = 17},
      ["kingly deer"] =      { price = 2, id = 18},
      ["tamed panda"] =      { price = 2, id = 19},
      ["dromedary"] =          { price = 2, id = 20},
      ["king scorpion"] =      { price = 2, id = 21},
      ["rented horse"] =      { price = 2, id = 22},
      ["armoured war horse"] = { price = 2, id = 23},
      ["shadow draptor"] =    { price = 2, id = 24},
      ["rented horse"] =      { price = 2, id = 25},
      ["rented horse"] =      { price = 2, id = 26},
      ["ladybug"] =          { price = 2, id = 27},
      ["manta"] =            { price = 2, id = 28},
      ["ironblight"] =      { price = 2, id = 29},
      ["magma Crawler"] =      { price = 2, id = 30},
      ["dragonling"] =      { price = 2, id = 31},
      ["gnarlhound"] =      { price = 2, id = 32},
      ["crimson ray"] =      { price = 2, id = 33},
      ["Steelbeak"] =          { price = 2, id = 34},
      ["water buffalo"] =      { price = 2, id = 35},
      ["armoured scorpion"] =    { price = 2, id = 36},
      ["armoured dragonling"] ={ price = 2, id = 37},
      ["armoured cavebear"] =    { price = 2, id = 38},
      ["the Hellgrip"] =      { price = 2, id = 39},
      ["lion"] =            { price = 2, id = 40},
      ["golden lion"] =      { price = 2, id = 41},
      ["shock head"] =      {price = 2,  price = 2, id = 42}
    }

    local function creatureSayCallback(cid, type, msg)


    local chance = 5 --------> porcentage de exito que le entregue la montura

    local t = config[msg]
      if not npcHandler:isFocused(cid) then
          return false
      end

      if msgcontains(msg, "bag of apple slices") and npcHandler.topic[cid] == 0 then
          npcHandler:say("Deseas la montura del Burro?", cid)
          npcHandler.topic[cid] = 1
      elseif npcHandler.topic[cid] == 1 then
          if msgcontains(msg, "yes") and player:getItemCount(13537) then
          if math.random(1, 100) <= chance then
         
            cid:doPlayerRemoveItem(13537, t.price)  ------> id del item price configurable
            cid:doAddMount(t.id)
           
            npcHandler:say("Has recibido la montura!!!", cid)
              else
            npcHandler:say("fallo!", cid)
            cid:doPlayerRemoveItem(13537, t.price)    ------> id del item price configurable
          end
           
           
           
           
           
          else
            npcHandler:say("Mentira no tienes el item que me mencionaste!! MANCO!!", cid)
          end
      return true
    end
    end






    npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus)
    npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus)

    npcHandler:setCallback(CALLBACK_GREET, greetCallback)
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())



    Ver perfil de usuario http://www.tibiaface.com

    3Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 1:05 pm

    MauGame

    avatar
    Nuevo Miembro
    Nuevo Miembro
    me da esta error:

    Código:

    ua Script Error: [Npc interface]
    data/npc/scripts/mounts.lua:onCreatureSay
    data/npc/scripts/mounts.lua:72: attempt to index global 'player' (a nil value)
    stack traceback:
            [C]: in function '__index'
            data/npc/scripts/mounts.lua:72: in function 'callback'
            data/npc/lib/npcsystem/npchandler.lua:411: in function 'onCreatureSay'
            data/npc/scripts/mounts.lua:7: in function <data/npc/scripts/mounts.lua:7>

    Ver perfil de usuario

    4Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 1:38 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:me da esta error:

    Código:

    ua Script Error: [Npc interface]
    data/npc/scripts/mounts.lua:onCreatureSay
    data/npc/scripts/mounts.lua:72: attempt to index global 'player' (a nil value)
    stack traceback:
            [C]: in function '__index'
            data/npc/scripts/mounts.lua:72: in function 'callback'
            data/npc/lib/npcsystem/npchandler.lua:411: in function 'onCreatureSay'
            data/npc/scripts/mounts.lua:7: in function <data/npc/scripts/mounts.lua:7>



    pero es tu scripts de tu npc que me has dado una cosa es soporte y otra cosa que te desarrolle el npc.

    aqui se da soporte no desarrollo



    Ver perfil de usuario http://www.tibiaface.com

    5Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 1:41 pm

    MauGame

    avatar
    Nuevo Miembro
    Nuevo Miembro
    ok, Pense que la categoria pedido era pedir un script en concreto, ya que el que realice supe que estaba malo.

    Ver perfil de usuario

    6Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 2:11 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:ok, Pense que la categoria pedido era pedir un script en concreto, ya que el que realice supe que estaba malo.

    vamos a intentar intregar estas tabla en en otro npc y vemos que sucede



    Ver perfil de usuario http://www.tibiaface.com

    7Thông báo Re: [Codigo] [PEDIDO] Systema de Mount el Miér Mar 28, 2018 2:41 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui tiienes prueba

    Código:
     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

    local function creatureSayCallback(cid, type, msg)
       if not npcHandler:isFocused(cid) then
          return false
       end
       local player = Player(cid)
       
    local table = {
        ["Widow Queen"] = {xitem = 9971, price = 2, id = 1},
        ["Racing Bird"] = {xitem = 9971, price = 2, id = 2},
        ["War Bear"] = {xitem = 9971, price = 2, id = 3},
        ["Black Sheep"] = {xitem = 9971, price = 2, id = 4},
        ["Midnight Panther"] = {xitem = 9971, price = 2, id = 5},
        ["Draptor"] = {xitem = 9971, price = 2, id = 6},
        ["Titanica"] = {xitem = 9971, price = 2, id = 7},
        ["Tin Lizzard"] = {xitem = 9971, price = 2, id = 8},
        ["Blazebringer"] = {xitem = 9971, price = 2, id = 9},
        ["Rapid Boar"] = {xitem = 9971, price = 2, id = 10},
        ["Stampor"] = {xitem = 9971, price = 2, id = 11},
        ["Undead Cavebear"] = {xitem = 9971, price = 2, id = 12},
    ["Donkey"] = {xitem = 9971, price = 2, id = 13},
    ["Tiger Slug"] = {xitem = 9971, price = 2, id = 14},
    ["Uniwheel"] = {xitem = 9971, price = 2, id = 15},
    ["Crystal Wolf"] = {xitem = 9971, price = 2, id = 16},
    ["War Horse"] = {xitem = 9971, price = 2, id = 17},
    ["Kingly Deer"] = {xitem = 9971, price = 2, id = 18},
    ["Tamed Panda"] = {xitem = 9971, price = 2, id = 19},
    ["Dromedary"] = {xitem = 9971, price = 2, id = 20},
    ["Sandstone Scorpion"] = {xitem = 9971, price = 2, id = 21},
    ["Rented Horse"] = {xitem = 9971, price = 2, id = 22},
    ["Fire War Horse"] = {xitem = 9971, price = 2, id = 23},
    ["Shadow Draptor"] = {xitem = 9971, price = 2, id = 24},
    ["Rented Horse"] = {xitem = 9971, price = 2, id = 25},
    ["Rented Horse"] = {xitem = 9971, price = 2, id = 26},
    ["Ladybug"] = {xitem = 9971, price = 2, id = 27},
    ["Manta"] = {xitem = 9971, price = 2, id = 28},
    ["Ironblight"] = {xitem = 9971, price = 2, id = 29},
    ["Magma Crawler"] = {xitem = 9971, price = 2, id = 30},
    ["Dragonling"] = {xitem = 9971, price = 2, id = 31},
    ["Gnarlhound"] = {xitem = 9971, price = 2, id = 32},
    ["Red Manta"] = {xitem = 9971, price = 2, id = 33},
    ["Mechanical Bird"] = {xitem = 9971, price = 2, id = 34},
    ["Water Buffalo"] = {xitem = 9971, price = 2, id = 35},
    ["Armoured Scorpion"] = {xitem = 9971, price = 2, id = 36},
    ["Armoured Dragonling"] = {xitem = 9971, price = 2, id = 37},
    ["Armoured Cavebear"] = {xitem = 9971, price = 2, id = 38},
    ["The Hellgrip"] = {xitem = 9971, price = 2, id = 39},
    ["Lion"] = {xitem = 9971, price = 2, id = 40},
    ["Golden Lion"] = {xitem = 9971, price = 2, id = 41},
    ["Shock Head"] = {xitem = 9971, price = 2, id = 42},
    ["Carpacosaurus"] = {xitem = 9971, price = 2, id = 43},
    ["Death Crawler"] = {xitem = 9971, price = 2, id = 44},
    ["Nethersteed"] = {xitem = 9971, price = 2, id = 45},
    ["Jade Lion"] = {xitem = 9971, price = 2, id = 46},
    ["Tempest"] = {xitem = 9971, price = 2, id = 47},
    ["Flamesteed"] = {xitem = 9971, price = 2, id = 48},
    ["Golden Dragonfly"] = {xitem = 9971, price = 2, id = 49},
    ["Tundra Rambler"] = {xitem = 9971, price = 2, id = 50},

    }   
       
       
       local t = table[msg]
       local chance = 5 --------> porcentage de exito que le entregue la montura
       if table[msg] then
       if math.random(1, 100) <= chance then
        if not player:hasMount(t.id) then
          if player:removeItem(t.xitem,t.price) then
             npcHandler:say({
                "So receive the mount, pilgrim. ...",
                "Felicidades."
             }, cid)
             
             
             player:addMount(t.id)
          else
             npcHandler:say("Hm, no tienes dinero ... <ve a conseguirlo> ", cid)
          end
          
          else
             npcHandler:say("Hm, ya tienes la mount ... <vuelve pronto> ", cid)
          end
          else
             npcHandler:say("Hm, no exito ... <vuelve pronto> ", cid)
             player:removeItem(t.xitem,t.price)
          end
          
          
          
          
          
          
       end
       return true
    end

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






    Ver perfil de usuario http://www.tibiaface.com

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