Ir para conteúdo

juio cesar

Campones
  • Total de itens

    56
  • Registro em

  • Última visita

Posts postados por juio cesar

  1. Desde já agradeço a quem puder me ajudar a resolver este erro...

    Este é o erro que está dando na distrito 

    [01/07/2020 14:33:32] [Error - Npc interface] 
    [01/07/2020 14:33:32] data/npc/scripts/bomber.lua:onCreatureSay
    [01/07/2020 14:33:32] Description: 
    [01/07/2020 14:33:32] data/npc/scripts/bomber.lua:125: attempt to call global 'getPlayersInArea' (a nil value)
    [01/07/2020 14:33:32] stack traceback:
    [01/07/2020 14:33:32]     data/npc/scripts/bomber.lua:125: in function 'callback'
    [01/07/2020 14:33:32]     data/npc/lib/npcsystem/npchandler.lua:391: in function 'onCreatureSay'
    [01/07/2020 14:33:32]     data/npc/scripts/bomber.lua:15: in function <data/npc/scripts/bomber.lua:15>

  2. [04/08/2018 21:21:05] [Error - TalkAction Interface] 
    [04/08/2018 21:21:05] In a timer event called from: 
    [04/08/2018 21:21:05] data/talkactions/scripts/move1.lua:onSay
    [04/08/2018 21:21:05] Description: 
    [04/08/2018 21:21:05] data/lib/032-position.lua:158: bad argument #1 to 'getn' (table expected, got nil)
    [04/08/2018 21:21:05] stack traceback:
    [04/08/2018 21:21:05]     [C]: in function 'getn'
    [04/08/2018 21:21:05]     data/lib/032-position.lua:158: in function 'getPosfromArea'
    [04/08/2018 21:21:05]     data/lib/newStatusSyst.lua:843: in function <data/lib/newStatusSyst.lua:840>

  3. 2 minutos atrás, Duhisback disse:

    eu editei e coloquei mais um abaixo, caso não dê eu encontrei esse outro

      Mostrar conteúdo oculto

    function onThink()

    local r = db.getResult('SELECT * FROM shop_history WHERE processed=0')

    if r:getID() ~= -1 then

      repeat

       local cid = getPlayerByName(r:getDataString('player'))

       if isPlayer(cid) then

        local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid

        if bp ~= 0 then

         local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product'))

         if j:getID() ~= -1 then

          local id = tonumber(j:getDataInt('item'))

          local tid = tonumber(r:getDataInt('id'))

          local count = tonumber(j:getDataInt('count'))

          local tipe = tonumber(j:getDataInt('type'))

          local name = j:getDataString('name')

          if tipe == 5 or tipe == 8 then

           local w = getItemInfo(id).weight * count

           if getPlayerFreeCap(cid) >= w then

            if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then

             doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You have received '..name..' from our shop system")

             db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid)

            else

             doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive .'.name..')')

            end

           else

            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive  '..name..' (You need: '..getItemInfo(id).weight * count..' Capacity)')

           end

          elseif tipe == 6 or tipe == 7 then

           local bid, bcap =

            tipe == 6 and 1987 or 1988,

            tipe == 6 and 8 or 20

           local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap)

           if getPlayerFreeCap(cid) >= w then

            local c = doCreateItemEx(bid)

            for i = 1, bcap do

             doAddContainerItem(cid, id, count)

            end

            if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then

             doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received '..name..' from our shop system')

             db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..id)

            else

             doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sorry, you don\'t have enough space to receive" '..name..')

            end

           else

            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive '..name..' (You need: '..w..' Capacity')')

           end

          end

          j:free()

         end

        else

         doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don\'t have a container in your backpack slot.")

        end

       end

      until not r:next()

      r:free()

    end

    return true

    end

     

    e também esse

      Mostrar conteúdo oculto
    
    
    function onThink(interval, lastExecution, thinkInterval)
     
    local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")
     
    if(result:getID() ~= -1) then
    while(true) do
    cid = getCreatureByName(tostring(result:getDataString("player")))
    product = tonumber(result:getDataInt("product"))
    itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";")
    if isPlayer(cid) then
    local id = tonumber(itemr:getDataInt("item"))
    local tid = tonumber(result:getDataInt("id"))
    local count = tonumber(itemr:getDataInt("count"))
    local tipe = tonumber(itemr:getDataInt("type"))
    local productn = tostring(itemr:getDataString("name"))
    if isInArray({5,8},tipe) then
    if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then
    if isContainer(getPlayerSlotItem(cid, 3).uid) then
    received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count)
    if received then
    doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop")
    db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
    else
    doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<")
    end
    else
    doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<")
    end
    else
    doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para recber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." Capacidade)")
    end
    elseif isInArray({6,7},tipe) then
    if tipe == 6 then
    bcap = 8
    bid = 1987
    elseif tipe == 7 then
    bcap = 20
    bid = 1988
    end
    if isItemRune(id) then
    count = 1
    end
    if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then
    local bag = doCreateItemEx(bid, 1)
    for i = 1,bcap do
    doAddContainerItem(bag, id, count)
    end
    received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag)
    if received == RETURNVALUE_NOERROR then
    doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop")
    db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
    else
    doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<")
    end
    else
    doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para receber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." capacidade)")
    end
    end
    end
    itemr:free()
    if not(result:next()) then
    break
    end
    end
    result:free()
    end
    return true
    end

     

    [03/08/2018 20:31:28] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:1: ')' expected near '?'
    [03/08/2018 20:31:28] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
    [03/08/2018 20:31:28] data/globalevents/scripts/shop.lua:1: ')' expected near '?'

  4. 2 minutos atrás, Duhisback disse:

    Eu não manjo muito de script então estou tentando te ajudar com alguns servers que tenho aqui no pc que já tem esse script...

     

    Testa esse!

      Ocultar conteúdo
    
    
    function onThink()
    local r = db.getResult('SELECT * FROM shop_history WHERE processed=0')
    if r:getID() ~= -1 then
     repeat
      local cid = getPlayerByName(r:getDataString('player'))
      if isPlayer(cid) then
       local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid
       if bp ~= 0 then
     local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product'))
     if j:getID() ~= -1 then
      local id = tonumber(j:getDataInt('item'))
      local tid = tonumber(r:getDataInt('id'))
      local count = tonumber(j:getDataInt('count'))
      local tipe = tonumber(j:getDataInt('type'))
      local name = j:getDataString('name')
      if tipe == 5 or tipe == 8 then
       local w = getItemInfo(id).weight * count
       if getPlayerFreeCap(cid) >= w then
        if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then
    	 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system')
    	 db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid)
        else
    	 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive >> '..name..' <<')
        end
       else
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..getItemInfo(id).weight * count..' Capacity)')
       end
      elseif tipe == 6 or tipe == 7 then
       local bid, bcap =
        tipe == 6 and 1987 or 1988,
        tipe == 6 and 8 or 20
       local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap)
       if getPlayerFreeCap(cid) >= w then
        local c = doCreateItemEx(bid)
        for i = 1, bcap do
    	 doAddContainerItem(c, id, count)
        end
        if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then
    	 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system')
    	 db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..tid)
        else
    	 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough space to receive >> '..name..' <<')
        end
       else
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..w..' Capacity)')
       end
      end
      j:free()
     end
       else
     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have a container in your backpack slot.')
       end
      end
     until not r:next()
     r:free()
    end
    return true
    end

     

    Mesmo erro

  5. 3 minutos atrás, Duhisback disse:

    Amigo testa esse daqui

     

    Globalevents/scripts cria um arquivo.lua com nome shop.lua e coloca esse script

      Ocultar conteúdo

    function onThink(interval, lastExecution)

        local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")
        
            if(result:getID() ~= -1) then
                while(true) do
                    cid = getCreatureByName(tostring(result:getDataString("player")))
                    product = tonumber(result:getDataInt("product"))
                    itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";")
                        if isPlayer(cid) then
                            local id = tonumber(itemr:getDataInt("item"))
                            local tid = tonumber(result:getDataInt("id"))
                            local count = tonumber(itemr:getDataInt("count"))
                            local tipe = tonumber(itemr:getDataInt("type"))
                            local productn = tostring(itemr:getDataString("name"))
                                if isInArray({5,8},tipe) then
                                    if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then
                                        if isContainer(getPlayerSlotItem(cid, 3).uid) then
                                            received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count)
                                            if received then
                                                doPlayerSendTextMessage(cid,19, "Voce recebeu Um(a) >> "..productn.." << Do Shop")
                                                db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
                                            else
                                                doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<")
                                            end
                                        else
                                            doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<")
                                        end
                                    else
                                        doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
                                    end
                                elseif isInArray({6,7},tipe) then
                                        if tipe == 6 then
                                            bcap = 8
                                            bid = 1987
                                        elseif tipe == 7 then
                                            bcap = 20
                                            bid = 1988
                                        end
                                        if isItemRune(id) then
                                            count = 1
                                        end
                                        if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then
                                            local bag = doCreateItemEx(bid, 1)
                                                for i = 1,bcap do
                                                    doAddContainerItem(bag, id, count)
                                                end
                                            received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag)
                                            if received == RETURNVALUE_NOERROR then
                                                doPlayerSendTextMessage(cid,19, "Voce recebeu Um(a) >> "..productn.." << Do Shop")
                                                db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
                                            else
                                                doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<")
                                            end
                                        else
                                            doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
                                        end
                                end
                        end
                    itemr:free()
                    if not(result:next()) then
                        break
                    end
                end
                result:free()
            end
        return true
    end

     

    em globalevents.xml coloca a tag

     

      Ocultar conteúdo

    <globalevent name="shop" interval="120" script="shop.lua"/>

     

    se resolveu da REP +

    [03/08/2018 19:55:31] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?'
    [03/08/2018 19:55:31] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
    [03/08/2018 19:55:31] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?'

    @Duhisback?

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...