Jump to content

Recommended Posts

  • Moderator
10 minutos atrás, peitiolate disse:

Consegue adaptar essa aura pro 0.X?

 

Mais especificamente, 860.

 

function onLove()
if getPlayerTrueLove(girlfriend) then
doPlayerBeHappy(cid, true)
doRemoveVirginity(cid, true)
else
doSendCancel(cid,"you do not know how good it feels to be loved")
end end

;)

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By CaduGTX
      Olá, eu e um amigo fizemos esse script para limpar as casas automaticamente, era um script pessoal mas resolvi postar.
      O Script foi feito em revscript, se for usar da forma antiga, terá que adaptar.

      Basta adicionar um arquivo lua na sua pasta de talkactions:
       
      local function doCheckHouses() local registros = db.storeQuery( "SELECT `houses`.`owner`, `houses`.`id` FROM `houses`,`players` WHERE `houses`.`owner` != 0 AND `houses`.`owner` = `players`.`id`;") if registros ~= false then local count = 0 repeat count = count + 1 local owner = result.getNumber(registros, "owner") local houseId = result.getNumber(registros, "id") local house = House(houseId) if house and (owner > 0) then print(house:getName()) house:setOwnerGuid(0) end until not result.next(registros) result.free(registros) end print('Houses Cleaned') return true end local limparhouse = TalkAction("/limparhouse") function limparhouse.onSay(player, words, param) if not player:getGroup():getAccess() or player:getAccountType() < ACCOUNT_TYPE_GOD then player:sendCancelMessage("Only admins can use this command.") return true end addEvent(doCheckHouses, 10 * 1000) player:sendCancelMessage("Cleaning houses.") return true end limparhouse:separator(" ") limparhouse:register()  
      Para usar é bem simples, basta usar o comando /limparhouse, e dentro de alguns instantes todas as casas serão limpas.

      Creditos:
      -CaduGTX
      -JameesDavid
       
    • By Tricoder
      SCREENSHOT
      http://3.1m.yt/Zwo99Sdx.png
      http://4.1m.yt/oG_cwli8u.png
      ______________________________________________ COMANDOS
      !autoloot add, itemId ou name -- Adicionando um item na lista !autoloot remove, itemId or name -- Remover um item da lista !autoloot show -- Mostrar a lista do autoLoot !autoloot clear -- Limpar a lista do autoLoot ______________________________________________ SCRIPT data/global.lua
      -- AutoLoot config AUTO_LOOT_MAX_ITEMS = 5 -- Reserved storage AUTOLOOT_STORAGE_START = 10000 AUTOLOOT_STORAGE_END = AUTOLOOT_STORAGE_START + AUTO_LOOT_MAX_ITEMS -- AutoLoot config end talkactions/talkactions.xml
      <talkaction words="!autoloot" separator=" " script="autoloot.lua"/> talkactions/scripts/autoloot.lua
      function onSay(player, words, param) local split = param:split(",") local action = split[1] if action == "add" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getId() == 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.") return false end end local itemName = tonumber(split[2]) and itemType:getName() or item local size = 0 for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do local storage = player:getStorageValue(i) if size == AUTO_LOOT_MAX_ITEMS then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The list is full, please remove from the list to make some room.") break end if storage == itemType:getId() then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." is already in the list.") break end if storage <= 0 then player:setStorageValue(i, itemType:getId()) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been added to the list.") break end size = size + 1 end elseif action == "remove" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getId() == 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.") return false end end local itemName = tonumber(split[2]) and itemType:getName() or item for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do if player:getStorageValue(i) == itemType:getId() then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been removed from the list.") player:setStorageValue(i, 0) return false end end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." was not founded in the list.") elseif action == "show" then local text = "-- Auto Loot List --\n" local count = 1 for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do local storage = player:getStorageValue(i) if storage > 0 then text = string.format("%s%d. %s\n", text, count, ItemType(storage):getName()) count = count + 1 end end if text == "" then text = "Empty" end player:showTextDialog(1950, text, false) elseif action == "clear" then for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do player:setStorageValue(i, 0) end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The autoloot list has been cleared.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Use the commands: !autoloot {add, remove, show, clear}") end return false end creaturescripts/creaturescripts.xml
      <event type="kill" name="AutoLoot" script="autoloot.lua" /> creaturescripts/scripts/autoloot.lua
      local function scanContainer(cid, position) local player = Player(cid) if not player then return end local corpse = Tile(position):getTopDownItem() if not corpse then return end if corpse:getType():isCorpse() and corpse:getAttribute(ITEM_ATTRIBUTE_CORPSEOWNER) == cid then for i = corpse:getSize() - 1, 0, -1 do local containerItem = corpse:getItem(i) if containerItem then for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do if player:getStorageValue(i) == containerItem:getId() then containerItem:moveTo(player) end end end end end end function onKill(player, target) if not target:isMonster() then return true end addEvent(scanContainer, 100, player:getId(), target:getPosition()) return true end creaturescripts/scripts/login.lua
      player:registerEvent("AutoLoot") ______________________________________________ CRÉDITOS
      Printer
    • By Hyago Silva
      Estou com erro no talkaction bless, quando eu uso !bless aparece na bio:
      2020-08-05 03:43:37 -  Lua Script Error: [Scripts Interface]
      2020-08-05 03:43:37 -  /home/hyago/otserv/data/scripts/talkactions/player/bless.lua:callback
      2020-08-05 03:43:37 -  ...e/hyago/otserv/data/scripts/talkactions/player/bless.lua:4: attempt to index global 'Blessings' (a nil value)
      2020-08-05 03:43:37 -  stack traceback:
      2020-08-05 03:43:37 -   [C]: in function '__index'
      2020-08-05 03:43:37 -   ...e/hyago/otserv/data/scripts/talkactions/player/bless.lua:4: in function <...e/hyago/otserv/data/scripts/talkactions/player/bless.lua:3>
       
      esse é o script da bless.lua
       
       
      Alguem pode me ajudar?
    • By deltora mapper
      queria alterar esse script para tfs 1.3
       
       
      function onSay(cid, words, param)
      if (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa está em área protegida para utilizar este comando.")
      return TRUE
      end
      if (getPlayerStorageValue(cid, 11548) >= os.time()) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.")
      return TRUE
      end

      if(param ~= "") and (param ~= "vip10") and (param ~= "vip30") and (param ~= "super divine axe") and (param ~= "super divine club") and (param ~= "super divine sword") and (param ~= "super divine crossbow") and (param ~= "livro nivel 6") and (param ~= "super divine staff") and (param ~= "skillclub") and (param ~= "skillsword") and (param ~= "skillfist") and (param ~= "skillaxe") and (param ~= "skilldistance") and (param ~= "skillshielding") and (param ~= "magiclevel") and (param ~= "magiclevel5") and (param ~= "skillclub10") and (param ~= "skillfist10") and (param ~= "skillsword10") and (param ~= "skillaxe10") and (param ~= "skilldistance10") and (param ~= "skillshielding10") and (param ~= "removerfrag") and (param ~= "novark") then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Para comprar digite !comprar (nome do item)\nOpcoes:\nvip10 = 10 dias de vip por 5 barras.\nvip30 = 30 dias de vip por 10 barras.\ndivine staff = divine staff por 30 barras.\ndivine axe = divine axe por 30 barras.\nlivro nivel 6 = livro nivel 6 por 60 barras.\ndivine club = divine club por 30 barras.\ndivine sword = divine sword por 30 barras.\ndivine crossbow = divine crossbow por 30 barras.\nlivro nivel 5 = livro nivel 5 por 30 barras.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nsuper divine axe = super divine axe por 60 barras.\nsuper divine club = super divine club por 60 barras.\nsuper divine sword = super divine sword por 60 barras.\nsuper divine staff = super divine staff por 60 barras.\nsuper divine crossbow = super divine crossbow por 60 barras.\nskillclub = adiciona 1 skill club por 1 barras.\nskillfist = adiciona 1 skill fist por 1 barras.\nskillsword = adiciona 1 skill sword por 1 barras.\nskillaxe = adiciona 1 skill axe por 1 barras.\nskilldistance = adiciona 1 skill distance por 1 barras.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nskillshielding = adiciona 1 skill shielding por 1 barras.\nmagiclevel = adiciona 1 magic level por 3 barras.\nmagiclevel5 = adiciona 5 magic level por 15 barras.\nskillclub10 = adiciona 10 skills club por 10 barras.\nskillfist10 = adiciona 10 skills fist por 10 barras.\nskillsword10 = adiciona 10 skills sword por 10 barras.\nskillaxe10 = adiciona 10 skills axe por 10 barras.\nskilldistance10 = adiciona 10 skill distance por 10 barras.\nskillshielding10 = adiciona 10 skill shielding por 10 barras.\nremoverfrag = remove todos frags por 100k.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O Item desejado não existe em nosso stock. Veja a cima os detalhes dos items disponíveis.")
      return TRUE
      end
      if(param == "") then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Para comprar digite !comprar (nome do item)\nOpcoes:\nvip10 = 10 dias de vip por 5 barras.\nvip30 = 30 dias de vip por 10 barras.\ndivine staff = divine staff por 30 barras.\ndivine axe = divine axe por 30 barras.\ndivine club = divine club por 30 barras.\ndivine sword = divine sword por 30 barras.\ndivine crossbow = divine crossbow por 30 barras.\nlivro nivel 5 = livro nivel 5 por 30 barras.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nsuper divine axe = super divine axe por 60 barras.\nsuper divine staff = super divine staff por 60 barras.\nsuper divine club = super divine club por 60 barras.\nsuper divine sword = super divine sword por 60 barras.\nsuper divine crossbow = super divine crossbow por 60 barras.\nlivro nivel 6 = livro nivel 6 por 60 barras.\nskillclub = adiciona 1 skill club por 1 barras.\nskillfist = adiciona 1 skill fist por 1 barras.\nskillsword = adiciona 1 skill sword por 1 barras.\nskillaxe = adiciona 1 skill axe por 1 barras.\nskilldistance = adiciona 1 skill distance por 1 barras.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nskillshielding = adiciona 1 skill shielding por 1 barras.\nmagiclevel = adiciona 1 magic level por 3 barras.\nmagiclevel5 = adiciona 5 magic level por 15 barras.\nskillclub10 = adiciona 10 skills club por 10 barras.\nskillfist10 = adiciona 10 skills fist por 10 barras.\nskillsword10 = adiciona 10 skills sword por 10 barras.\nskillaxe10 = adiciona 10 skills axe por 10 barras.\nskilldistance10 = adiciona 10 skill distance por 10 barras.\nskillshielding10 = adiciona 10 skill shielding por 10 barras.\nremoverfrag = remove um frag por 100k.")
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nnovark = gera uma nova RK para sua account por 10 barras.\n")
      return TRUE
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "vip10") then
      if getPlayerItemCount(cid, 9971) >= 5 then
      doPlayerAddPremiumDays(cid, 10)
      doPlayerRemoveItem(cid, 9971, 5)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você comprou 10 dias de vip com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "vip30") then
      if getPlayerItemCount(cid, 9971) >= 10 then
      doPlayerAddPremiumDays(cid, 30)
      doPlayerRemoveItem(cid, 9971, 10)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você comprou 30 dias de vip com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "super divine axe") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 8926, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine axe com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "super divine staff") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 8922, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine staff com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "super divine club") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 7423, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine club com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "super divine sword") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 7403, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine sword com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "super divine crossbow") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 8851, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine crossbow com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "livro nivel 6") then
      if getPlayerItemCount(cid, 9971) >= 60 then
      local bag = doPlayerAddItem(cid, 1997, 1)
      local new_item = doAddContainerItem(bag, 8921, 1)
      doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: "..  getPlayerGUID(cid) ..".")
      doPlayerRemoveItem(cid, 9971, 60)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um livro nivel 6 com sucesso.")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "magiclevel") then
      if getPlayerMagLevel(cid) >= 200 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter magic level acima de 200.")
      return TRUE
      end
      if(not isSorcerer(cid) and not isDruid(cid) and not isInfernalist(cid)) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Sorcerers, Druids e Infernalists podem comprar magic level.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 3 then
      local pid = getPlayerGUID(cid) 
      doPlayerRemoveItem(cid, 9971, 3)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + 1 WHERE `id` = "..pid)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillclub") then
      if getPlayerSkillLevel(cid, SKILL_CLUB) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isDrunou(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Drunous podem comprar skill de club.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local club = getPlayerSkillLevel(cid, SKILL_CLUB) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (club + 1) .. ", `count` = 0 WHERE `skillid` = 1 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillfist") then
      if getPlayerSkillLevel(cid, SKILL_FIST) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isChampionknocker(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Champions podem comprar skill de fist.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local fist = getPlayerSkillLevel(cid, SKILL_FIST) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (fist + 1) .. ", `count` = 0 WHERE `skillid` = 0 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end

      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillsword") then
      if getPlayerSkillLevel(cid, SKILL_SWORD) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isKnight(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Knights podem comprar skill de sword.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local sword = getPlayerSkillLevel(cid, SKILL_SWORD) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (sword + 1) .. ", `count` = 0 WHERE `skillid` = 2 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillaxe") then
      if getPlayerSkillLevel(cid, SKILL_AXE) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isKnight(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Knights podem comprar skill de axe.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local axe = getPlayerSkillLevel(cid, SKILL_AXE) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (axe + 1) .. ", `count` = 0 WHERE `skillid` = 3 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skilldistance") then
      if getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isPaladin(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Paladins podem comprar skill de distance.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local distance = getPlayerSkillLevel(cid, SKILL_DISTANCE) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (distance + 1) .. ", `count` = 0 WHERE `skillid` = 4 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillshielding") then
      if getPlayerSkillLevel(cid, SKILL_SHIELD) >= 350 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if(not isPaladin(cid) and not isKnight(cid) and not isDrunou(cid)) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Paladins, Knights e Drunous podem comprar skill de shield.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 1 then
      local pid = getPlayerGUID(cid)
      local shield = getPlayerSkillLevel(cid, SKILL_SHIELD) 
      doPlayerRemoveItem(cid, 9971, 1)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (shield + 1) .. ", `count` = 0 WHERE `skillid` = 5 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "magiclevel5") then
      if getPlayerMagLevel(cid) >= 196 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter magic level acima de 200.")
      return TRUE
      end
      if(not isSorcerer(cid) and not isDruid(cid) and not isInfernalist(cid)) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Sorcerers, Druids e Infernalists podem comprar magic level.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 15 then
      local pid = getPlayerGUID(cid) 
      doPlayerRemoveItem(cid, 9971, 15)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + 5 WHERE `id` = "..pid)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillfist10") then
      if getPlayerSkillLevel(cid, SKILL_FIST) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isChampionknocker(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Champions podem comprar skill de fist.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local fist = getPlayerSkillLevel(cid, SKILL_FIST) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (fist + 10) .. ", `count` = 0 WHERE `skillid` = 0 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillclub10") then
      if getPlayerSkillLevel(cid, SKILL_CLUB) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isDrunou(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Drunous podem comprar skill de club.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local club = getPlayerSkillLevel(cid, SKILL_CLUB) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (club + 10) .. ", `count` = 0 WHERE `skillid` = 1 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillsword10") then
      if getPlayerSkillLevel(cid, SKILL_SWORD) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isKnight(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Knights podem comprar skill de sword.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local sword = getPlayerSkillLevel(cid, SKILL_SWORD) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (sword + 10) .. ", `count` = 0 WHERE `skillid` = 2 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillaxe10") then
      if getPlayerSkillLevel(cid, SKILL_AXE) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isKnight(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Knights podem comprar skill de axe.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local axe = getPlayerSkillLevel(cid, SKILL_AXE) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (axe + 10) .. ", `count` = 0 WHERE `skillid` = 3 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skilldistance10") then
      if getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if not isPaladin(cid) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Paladins podem comprar skill de distance.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local distance = getPlayerSkillLevel(cid, SKILL_DISTANCE) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (distance + 10) .. ", `count` = 0 WHERE `skillid` = 4 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "skillshielding10") then
      if getPlayerSkillLevel(cid, SKILL_SHIELD) >= 341 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.")
      return TRUE
      end
      if(not isPaladin(cid) and not isKnight(cid) and not isDrunou(cid)) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Paladins, Knights e Drunous podem comprar skill de shield.")
      return TRUE
      end
      if getPlayerItemCount(cid, 9971) >= 10 then
      local pid = getPlayerGUID(cid)
      local shield = getPlayerSkillLevel(cid, SKILL_SHIELD) 
      doPlayerRemoveItem(cid, 9971, 10)
      setPlayerStorageValue(cid,11548,os.time()+0)
      doRemoveCreature(cid)
      db.executeQuery("UPDATE `player_skills` SET `value` = " .. (shield + 10) .. ", `count` = 0 WHERE `skillid` = 5 and `player_id` = " .. pid .. ";")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "removerfrag") then
      if getPlayerItemCount(cid, 2160) >= 10 then
      doPlayerRemoveItem(cid, 2160, 10)
      db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `unjustified` = 1 AND `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ") LIMIT 1;")
      setPlayerStorageValue(cid,11548,os.time()+30)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você removeu seus frags com sucesso.")
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      return TRUE
      end
      end
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      if(param == "novark") then
      if getPlayerItemCount(cid, 9971) >= 10 then
      setPlayerRecoveryKey(cid)
      doPlayerRemoveItem(cid, 9971, 10)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ATENÇÃO! Esta será a única vez que sua RK será mostrada, portanto, anote-a em um lugar seguro fora de seu computador!\n" .. setPlayerRecoveryKey(cid) .. "")
      setPlayerStorageValue(cid,11548,os.time()+30)
      return TRUE
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
      end
      end
      return TRUE
      end
    • By luanluciano93
      Auction System: sistema que disponibiliza uma negociação offline, onde você oferta um item e esse item é divulgado no site do server ou in-game e qualquer player pode comprar o item utilizando um comando especificado, é como se fosse um market para servidores mais antigos.
       
      Lembrando que esse sistema também funciona para TFS 1.x 
       


      Os comandos disponíveis são:
      !offer add, itemName, itemCount, itemPrice ex: !offer add, plate armor, 1, 500 !offer buy, AuctionID ex: !offer buy, 9 !offer remove, AuctionID ex: !offer remove, 8 !offer list  
      Crie uma arquivo .lua dentro da pasta data/talkactions/scripts com o nome auction_system.lua, dentro do mesmo adicione o code: 
       
      Em seguida em talkactions.xml adicione a tag: 
      <talkaction words="!offer" separator=" " script="auction_system.lua" /> No banco de dados execute as querys:
      CREATE TABLE `auction_system` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player_id` int(11) NOT NULL, `item_name` varchar(255) NOT NULL, `item_id` smallint(6) NOT NULL, `count` smallint(5) NOT NULL, `value` int(7) NOT NULL, `date` bigint(20) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;  

       
      A base do script foi retirado do script do vDk neste link, e caso alguém queira o PHP deste script pode usar esse: 

       
×
×
  • Create New...

Important Information

Confirmação de Termo