Ir para conteúdo
  • Cadastre-se

Posts Recomendados

.Qual servidor ou website você utiliza como base? 
TFS 1.4

 

Qual o motivo deste tópico? 
Gostaria de solicitar a ajuda de vocês em relação a uma dúvida. Gostaria de realçar algumas cores dentro da GAMESTORE, no caso desse exemplo é o laranja.

Estou enviando uma imagem para dúvidas.

 

Imagem como eu gostaria de fazer.

Citar

gamestore.png.457f4aa877ecc49c6ff1e91404ef8214.png

 

Você tem o código disponível? Segue meu GAMESTORE.LUA

Citar

--[[

Items have been updated so that if the offer type is not one of the types: OFFER_TYPE_OUTFIT, OFFER_TYPE_OUTFIT_ADDON,

OFFER_TYPE_MOUNT, OFFER_TYPE_NAMECHANGE, OFFER_TYPE_SEXCHANGE, OFFER_TYPE_PROMOTION, OFFER_TYPE_EXPBOOST,

OFFER_TYPE_PREYSLOT, OFFER_TYPE_PREYBONUS, OFFER_TYPE_TEMPLE, OFFER_TYPE_BLESSINGS, OFFER_TYPE_PREMIUM,

OFFER_TYPE_ALLBLESSINGS

]]

 

-- Parser

dofile('data/modules/scripts/gamestore/init.lua')

-- Config

 

HomeBanners = {

    images = { "home/banner_cunninghyaena.png", "home/banner_jousters.png" },

    delay = 20

}

 

GameStore.Categories = {

 

-- Exercise Weapons

{   

  icons = { "Category_ExerciseWeapons.png" },

  name = "Exercise Weapons",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = { 

       {

          icons = { "Exercise_Axe.png" },

          name = "Exercise Axe",

          price = 25,

          itemtype = 32385,

          charges = 500,

          description = "<i>Use it to train your axe fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your axe fighting skill\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Bow.png" },

          name = "Exercise Bow",

          price = 25,

          itemtype = 32387,

          charges = 500,

          description = "<i>Use it to train your distance fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your distance fighting skill\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Club.png" },

          name = "Exercise Club",

          price = 25,

          itemtype = 32386,

          charges = 500,

          description = "<i>Use it to train your club fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your club fighting skill\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Rod.png" },

          name = "Exercise Rod",

          price = 25,

          itemtype = 32388,

          charges = 500,

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Sword.png" },

          name = "Exercise Sword",

          price = 25,

          itemtype = 32384,

          charges = 500,

          description = "<i>Use it to train your sword fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your sword fighting skill\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Wand.png" },

          name = "Exercise Wand",

          price = 25,

          itemtype = 32389,

          charges = 500,

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Axe.png" },

          name = "Durable Exercise Axe",

          price = 90,

          itemtype = 40115,

          charges = 1800,

          description = "<i>Use it to train your axe fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your axe fighting skill\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Bow.png" },

          name = "Durable Exercise Bow",

          price = 90,

          itemtype = 40117,

          charges = 1800,

          description = "<i>Use it to train your distance fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your distance fighting skill\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Club.png" },

          name = "Durable Exercise Club",

          price = 90,

          itemtype = 40116,

          charges = 1800,

          description = "<i>Use it to train your club fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your club fighting skill\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Rod.png" },

          name = "Durable Exercise Rod",

          price = 90,

          itemtype = 40118,

          charges = 1800,

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Sword.png" },

          name = "Durable Exercise Sword",

          price = 90,

          itemtype = 40114,

          charges = 1800,

          description = "<i>Use it to train your sword fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your sword fighting skill\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Wand.png" },

          name = "Durable Exercise Wand",

          price = 90, 

          itemtype = 40119, 

          charges = 1800, 

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 1800 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Axe.png" },

          name = "Lasting Exercise Axe",

          price = 720,

          itemtype = 40121,

          charges = 14400,

          description = "<i>Use it to train your axe fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your axe fighting skill\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Bow.png" },

          name = "Lasting Exercise Bow",

          price = 720,

          itemtype = 40123,

          charges = 14400,

          description = "<i>Use it to train your distance fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your distance fighting skill\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Club.png" },

          name = "Lasting Exercise Club",

          price = 720,

          itemtype = 40122,

          charges = 14400,

          description = "<i>Use it to train your club fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your club fighting skill\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Rod.png" },

          name = "Lasting Exercise Rod",

          price = 720,

          itemtype = 40124,

          charges = 14400,

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Sword.png" },

          name = "Lasting Exercise Sword",

          price = 720,

          itemtype = 40120,

          charges = 14400,

          description = "<i>Use it to train your sword fighting skill on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your sword fighting skill\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Exercise_Wand.png" },

          name = "Lasting Exercise Wand",

          price = 720,

          itemtype = 40125,

          charges = 14400,

          description = "<i>Use it to train your magic level on an exercise dummy!</i>\n\n{character}\n{storeinbox}\n{info} use it on an exercise dummy to train your magic level\n{info} usable 14400 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

    },

 },

 

 -- Mounts

{   

  icons = { "Category_Mounts.png" },

  name = "New Mounts",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = { 

       {    

          icons = { "Arctic_Unicorn.png" },

          name = "Artic Unicorn",

          price = 870,

          id = 114,

          description = "{character}\n\n<i>The Arctic Unicorn lives in a deep rivalry with its cousin the Blazing Unicorn. Even though they were born in completely different areas, they somehow share the same bloodline. The eternal battle between fire and ice continues. Who will win? Tangerine vs.crystal blue! The choice is yours!</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,

        },

        {     

          icons = { "Armoured_War_Horse.png" },

          name = "Armoured War Horse",

          price = 870,

          id = 23,

          description = "{character}\n\n<i>The Armoured War Horse is a dangerous black beauty! When you see its threatening, blood-red eyes coming towards you, you'll know trouble is on its way. Protected by its heavy armour plates, the warhorse is the perfect partner for dangerous hunting sessions and excessive enemy slaughtering.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,

        },

        {     

          icons = { "Batcat.png" },

          name = "Batcat",

          price = 870,

          id = 77,

          description = "{character}\n\n<i>Rumour has it that many years ago elder witches had gathered to hold a magical feast high up in the mountains. They had crossbred Batcat to easily conquer rocky canyons and deep valleys. Nobody knows what happened on their way up but only the mount has been seen ever since.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,

        },

    },

  },

   -- Outfits Old

{   

  icons = { "Category_Outfits.png" },

  name = "Outfits Old",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = {

        {

          icons = { "Outfit_Arena_Champion_Male_Addon_3.png", "Outfit_Arena_Champion_Female_Addon_3.png" },

          name = "Full Rune Master Outfit",

          price = 870,

          sexId = {female = 1384, male = 1385},

          addon = 3,

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>Fight your bloody battles in the arena and become a darling of the crowd. Once you have made it to the top and everyone is cheering your name, the fashionable outfit of an Arena Champion will show the world what you are made of.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

          home = true,

        },    

        

    },

  },

 

     -- Outfits New

{   

  icons = { "Category_Outfits.png" },

  name = "Outfits New",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = {

        {

          icons = { "Outfit_Arena_Champion_Male_Addon_3.png", "Outfit_Arena_Champion_Female_Addon_3.png" },

          name = "Full Rune Master Outfit",

          price = 870,

          sexId = {female = 1384, male = 1385},

          addon = 3,

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>Fight your bloody battles in the arena and become a darling of the crowd. Once you have made it to the top and everyone is cheering your name, the fashionable outfit of an Arena Champion will show the world what you are made of.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

          home = true,

        },    

        

    },

  },

     

   -- Outfits Retro

{   

  icons = { "Category_Outfits.png" },

  name = "Outfits Retro",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = {   

        {

          icons = { "Outfit_Retro_Citizen_Male.png", "Outfit_Retro_Citizen_Female.png" },

          name = "Retro Citizen",

          price = 870,

          sexId = {female = 975,male = 974},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>Do you still remember your first stroll through the streets of Thais? For old times' sake, walk the paths of Nostalgia as a Retro Citizen!</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Hunter_Male.png", "Outfit_Retro_Hunter_Female.png" },

          name = "Retro Hunter",

          price = 870,

          sexId = {female = 973,male = 972},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>Whenever you pick up your bow and spears, you walk down memory lane and think of your early days? Treat yourself with the fashionable Retro Hunter outfit and hunt some good old monsters from your childhood.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Knight_Male.png", "Outfit_Retro_Knight_Female.png" },

          name = "Retro Knight",

          price = 870,

          sexId = {female = 971,male = 970},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>Who needs a fancy looking sword with bling-bling and ornaments? Back in the days, we survived without such unnecessary accessories! Time to show those younkers what a Retro Knight is made of.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Mage_Male.png", "Outfit_Retro_Mage_Female.png" },

          name = "Retro Wizzard",

          price = 870,

          sexId = {female = 969, male = 968},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>Dress up as a Retro Mage and you will always cut a fine figure on the battleground while eliminating your enemies with your magical powers the old-fashioned way.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Nobleman_Male.png", "Outfit_Retro_Nobleman_Female.png" },

          name = "Retro Noblewoman",

          price = 870,

          sexId = { female = 967, male = 966},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>King Tibianus has invited you to a summer ball and you have nothing to wear for this special event? Do not worry, the Retro Noble(wo)man outfit makes you a real eye catcher on every festive occasion.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Summoner_Male.png", "Outfit_Retro_Summoner_Female.png" },

          name = "Retro Summoner",

          price = 870,

          sexId = {female = 965, male = 964},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>While the Retro Mage usually throws runes and mighty spells directly at the enemies, the Retro Summoner outfit might be the better choice for Tibians that prefer to send mighty summons to the battlefield to keep their enemies at distance.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

        {

          icons = { "Outfit_Retro_Warrior_Male.png", "Outfit_Retro_Warrior_Female.png" },

          name = "Retro Warrior",

          price = 870,

          sexId = {female = 963, male = 962},

          description = "{character}\n\n{info} colours can be changed using the Outfit dialog\n\n<i>You are fearless and strong as a behemoth but have problems finding the right outfit for your adventures? The Retro Warrior outfit is a must-have for all fashion-conscious old-school Tibians out there.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

        },

      },

  },

 

 -- Furtune 

 { 

   icons = { "Category_HouseUpgrades.png" },

   name = "Furtune",

   rookgaard = true,

   state = GameStore.States.STATE_NONE,

   offers = {   

        {     

          icons = { "Reward_Shrine.png" },

          name = "Daily Reward Shrine",

          price = 150,

          itemtype = 29022,

          count = 1,

          description = "<i>Pick up your daily reward comfortably in your own four walls!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{useicon} use it to open the reward wall\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Demon_Exercise_Dummy.png" },

          name = "Demon Exercise Dummy",

          price = 900,

          itemtype = 32145,

          count = 1,

          description = "<i>Train your skills more effectively at home than in public on this expert exercise dummy!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{info} can only be used by one character at a time\n{useicon} use one of the exercise weapons on this dummy\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Ferumbras_Exercise_Dummy.png" },

          name = "Ferumbras Exercise Dummy",

          price = 900,

          itemtype = 32143,

          count = 1,

          description = "<i>Train your skills more effectively at home than in public on this expert exercise dummy!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{info} can only be used by one character at a time\n{useicon} use one of the exercise weapons on this dummy\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Gilded_Imbuing_Shrine.png" },

          name = "Gilded Imbuing Shrine",

          price = 200,

          itemtype = 27851,

          count = 1,

          description = "<i>Enhance your equipment comfortably in your own four walls!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{useicon} use it with an imbuable item to open the imbuing dialog\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Imbuing_Shrine.png" },

          name = "Imbuing Shrine",

          price = 150,

          itemtype = 27843,

          count = 1,

          description = "<i>Enhance your equipment comfortably in your own four walls!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{useicon} use it with an imbuable item to open the imbuing dialog\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Mailbox.png" },

          name = "Mailbox",

          price = 150,

          itemtype = 26055,

          count = 1,

          description = "<i>Send your letters and parcels right from your own home!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Monk_Exercise_Dummy.png" },

          name = "Monk Exercise Dummy",

          price = 900,

          itemtype = 32147,

          count = 1,

          description = "<i>Train your skills more effectively at home than in public on this expert exercise dummy!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{info} can only be used by one character at a time\n- use one of the exercise weapons on this dummy\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Ornate_Mailbox.png" },

          name = "Ornate Mailbox",

          price = 200,

          itemtype = 26057,

          count = 1,

          description = "<i>Send your letters and parcels right from your own home!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Shiny_Reward_Shrine.png" },

          name = "Shiny Daily Reward Shrine",

          price = 200,

          itemtype = 29024,

          count = 1,

          description = "<i>Pick up your daily reward comfortably in your own four walls!</i>\n\n{house}\n{box}\n{storeinbox}\n{usablebyall}\n{useicon} use it to open the reward wall\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

      },

  }, 

 

-- Hirelings

  {   

    icons = { "Category_HouseTools_NPCApprenticeships.png" },

    name = "Hirelings",

    rookgaard = true,

    state = GameStore.States.STATE_NONE,

    offers = {

        {

          icons = { "Hireling_Male.png" },

          name = "Hireling Apprentice",

          price = 150,

          id = 28799,

          count = 1,

          number = 1,

          sexId = {female = 1107, male = 1108},

          description = "Get your very own hireling to serve you and your guests in your own four walls!\n\n{house} can only be unwrapped in a house owned by the purchasing character\n{boxicon} comes in a magic lamp which can only be used by purchasing character\n{storeinbox}\n{usablebyallicon} can be used by all characters that have access to the house\n{useicon} use the magic lamp to summon your hireling\n{backtoinbox}\n{info} maximum amount that can be owned by character: 10",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING,

        },

        {

          icons = { "Hireling_Male.png" },

          name = "Hireling Name Change",

          price = 250,

          id = 28797,

          count = 1,

          number = 1,

          description = "{info} Change the name of one of your hirelings",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_NAMECHANGE,

        },

        {

          icons = { "Hireling_Male.png" },

          name = "Hireling Sex Change",

          price = 120,

          id = 28796,

          count = 1,

          number = 1,

          description = "{info} Change the sex of one of your hirelings",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_SEXCHANGE,

        },

        {

          icons = { "Hireling_Cook.png" },

          name = "Hireling Cook",

          price = 900,

          id = HIRELING_STORAGE.SKILL + HIRELING_SKILLS.COOKING,

          count = 1,

          number = 1,

          description = "{info} Give your hirelings the ability to cook exclusive status enhancement and instant recovery meals!",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_SKILL,

        },

        {

          icons = { "Hireling_Trader.png" },

          name = "Hireling Trader",

          price = 250,

          id = HIRELING_STORAGE.SKILL + HIRELING_SKILLS.TRADER,

          count = 1,

          number = 1,

          description = "{info} Give your hirelings the ability of trading several types of items, including equipment, tools, potions, runes, wands and rods.",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_SKILL,

        },

        {

          icons = { "Hireling_Steward.png" },

          name = "Hireling Steward",

          price = 250,

          id = HIRELING_STORAGE.SKILL + HIRELING_SKILLS.STEWARD,

          count = 1,

          number = 1,

          description = "{info} Give your hirelings the ability to access and manage your stash at the confort of your from home",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_SKILL,

        },

        {

          icons = { "Hireling_Banker.png" },

          name = "Hireling Banker",

          price = 250,

          id = HIRELING_STORAGE.SKILL + HIRELING_SKILLS.BANKER,

          count = 1,

          number = 1,

          description = "{info} Give your hirelings the ability of managing your banking business.",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_SKILL,

        },

      }, 

  }, 

 

-- Hireling Dresses 

  icons = { "Category_HouseTools_NPCDresses.png" },

  name = "Hireling Dresses",

  rookgaard = true,

  state = GameStore.States.STATE_NONE,

  offers = {

         {

          icons = { "Hireling_Banker.png" },

          name = "Banker Dress",

          price = 500,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.BANKER,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} colours can be changed using the Outfit dialog\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Trader.png" },

          name = "Trader Dress",

          price = 500,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.TRADER,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} colours can be changed using the Outfit dialog\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Cook.png" },

          name = "Cook Dress",

          price = 500,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.COOKING,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} colours can be changed using the Outfit dialog\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Steward.png" },

          name = "Steward Dress",

          price = 500,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.STEWARD,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} colours can be changed using the Outfit dialog\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Servant.png" },

          name = "Servant Dress",

          price = 300,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.SERVANT,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} colours can be changed using the Outfit dialog\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Hydra.png" },

          name = "Hydra Dress",

          price = 900,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.HYDRA,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Ferumbras.png" },

          name = "Ferumbras Dress",

          price = 900,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.FERUMBRAS,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Bonelord.png" },

          name = "Bonelord Dress",

          price = 900,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.BONELORD,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },

        {

          icons = { "Hireling_Dragon.png" },

          name = "Dragon Dress",

          price = 900,

          id = HIRELING_STORAGE.OUTFIT + HIRELING_OUTFITS.DRAGON,

          count = 1,

          number = 1,

          description = "{info} can only be used for hirelings of the purchasing character\n{activated}\n{info} the purchased dress can be used by all hirelings, however, how many hirelings can wear this outfit at the same time depends on the number of dresses you own\n{info} number that can be purchased depends on the amount of hirelings you own",

          type = GameStore.OfferTypes.OFFER_TYPE_HIRELING_OUTFIT,

        },    

      },

  }, 

 

-- Boost

 {   

   icons = { "Category_Boosts.png" },

   name = "Boosts",

   offers = { 

        {

          icons = { "XP_Boost.png" },

          name = "XP Boost",

          price = 30,

          id = 65010,

          description = "<i>Purchase a boost that increases the experience points your character gains from hunting by 50%!</i>\n\n{character}\n{info} lasts for 1 hour hunting time\n{info} paused if stamina falls under 14 hours\n{info} can be purchased up to 5 times between 2 server saves\n{info} price increases with every purchase\n{info} cannot be purchased if an XP boost is already active",

          type = GameStore.OfferTypes.OFFER_TYPE_EXPBOOST,      

        },

      },

   rookgaard = true,

   state = GameStore.States.STATE_NONE,

  },

 

-- Extras

 {

   icons = { "Category_Extras.png" },

   name = "Extras",

   rookgaard = true,

   subclasses = {"Extra Services", "Useful Things"},

 }, 

 

 -- Extras Services

 {   

   icons = { "Category_ExtraServices.png" },

   name = "Extra Services",

   parent = "Extras",

   rookgaard = true,

   state = GameStore.States.STATE_NONE, 

   offers = {       

        {

          icons = { "Name_Change.png" },

          name = "Character Name Change",

          price = 250,

          id = 65002,

          description = "<i>Tired of your current character name? Purchase a new one!</i>\n\n{character}\n{info} relog required after purchase to finalise the name change",

          type = GameStore.OfferTypes.OFFER_TYPE_NAMECHANGE,

        },

        {

          icons = { "Sex_Change.png" },

          name = "Character Sex Change",

          price = 120,

          id = 65003,

          description = "<i>Turns your female character into a male one - or vice versa.</i>\n\n{character}\n{activated}\n{info} you will keep all outfits you have purchased or earned in quest",

          type = GameStore.OfferTypes.OFFER_TYPE_SEXCHANGE,

        },

      },

  },

 

-- Usefull Things  

  {   

   icons = { "Category_UsefulThings.png" },

   name = "Useful Things",

   parent = "Extras",

   rookgaard = true,

   state = GameStore.States.STATE_NONE,

   offers = { 

        {

          icons = { "Gold_Converter.png" },

          name = "Gold Converter",

          price = 5,

          itemtype = 26378,

          charges = 500,

          description = "<i>Changes either a stack of 100 gold pieces into 1 platinum coin, or a stack of 100 platinum coins into 1 crystal coin!</i>\n\n{character}\n{storeinbox}\n{useicon} use it on a stack of 100 to change it to the superior currency\n{info} usable 500 times a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Gold_Pouch.png" },

          name = "Gold Pouch",

          price = 900,

          itemtype = 26377,

          count = 1,

          description = "<i>Carries as many gold, platinum or crystal coins as your capacity allows, however, no other items.</i>\n\n{character}\n{storeinbox}\n{once}\n{useicon} use it to open it\n{info} always placed on the first position of your Store inbox",

          type = GameStore.OfferTypes.OFFER_TYPE_POUNCH,

        },

        {

          icons = { "Instant_Reward_Access.png" },

          name = "Instant Reward Access",

          price = 100,

          id = 2,

          count = 1,

          description = "<i>No matter where you are in Tibia, claim your daily reward on the spot!</i>\n\n{character}\n{info} added to your reward wall\n{info} maximum amount that can be owned by character: 90",

          type = GameStore.OfferTypes.OFFER_TYPE_INSTANT_REWARD_ACCESS,

        },

        {                

          icons = { "Charm_Expansion_Offer.png" },

          name = "Charm Expansion",

          price = 450,

          id = 65005,

          description = "<i>Assign as many of your unlocked Charms as you like and get a 25% discount whenever you are removing a Charm from a creature!</i>\n\n{character}\n{once}",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARMS,

        }, 

        {

          icons = { "Magic_Gold_Converter.png" },

          name = "Magic Gold Converter",

          price = 15,

          itemtype = 32109,

          charges = 500,

          description = "<i>Changes automatically either a stack of 100 gold pieces into 1 platinum coin, or a stack of 100 platinum coins into 1 crystal coin!</i>\n\n{character}\n{storeinbox}\n{useicon} use it to activate or deactivate the automatic conversion\n{info} converts all stacks of 100 gold or platinum in the inventory whenever it is activated\n{info} deactivated upon purchase\n{info} usable for 500 conversions a piece",

          type = GameStore.OfferTypes.OFFER_TYPE_CHARGES,

        },

        {

          icons = { "Permanent_Prey_Slot.png" },

          name = "Permanent Prey Slot",

          price = 900,

          id = 65008,

          description = "<i>Get an additional prey slot to activate additional prey!</i>\n\n{character}\n{info} maximum amount that can be owned by character: 3\n{info} added directly to Prey dialog",

          type = GameStore.OfferTypes.OFFER_TYPE_PREYSLOT,

        },

        {

          icons = { "Prey_Bonus_Reroll.png" },

          name = "Prey Wildcard",

          price = 50,

          id = 1,

          count = 5,

      client = {12},

          description = "<i>Use Prey Wildcards to reroll the bonus of an active prey, to lock your active prey or to select a prey of your choice.</i>\n\n{character}\n{info} added directly to Prey dialog\n{info} maximum amount that can be owned by character: 50",

          type = GameStore.OfferTypes.OFFER_TYPE_PREYBONUS,

        },

        {

          icons = { "Prey_Bonus_Reroll.png" },

          name = "Prey Wildcard",

          price = 200,

          count = 20,

      client = {12},

          description = "<i>Use Prey Wildcards to reroll the bonus of an active prey, to lock your active prey or to select a prey of your choice.</i>\n\n{character}\n{info} added directly to Prey dialog\n{info} maximum amount that can be owned by character: 50",

          type = GameStore.OfferTypes.OFFER_TYPE_PREYBONUS,

        },

    {

          icons = { "Prey_Bonus_Reroll.png" },

          name = "5x Prey Wildcard",

          price = 50,

          id = 48975,

          count = 5,

      client = {11},

          description = "<i>Use Prey Wildcards to reroll the bonus of an active prey, to lock your active prey or to select a prey of your choice.</i>\n\n{character}\n{info} added directly to Prey dialog\n{info} maximum amount that can be owned by character: 50",

          type = GameStore.OfferTypes.OFFER_TYPE_PREYBONUS,

        },

        {

          icons = { "Prey_Bonus_Reroll.png" },

          name = "20x Prey Wildcard",

      id = 48976,

          price = 200,

          count = 20,

      client = {11},

          description = "<i>Use Prey Wildcards to reroll the bonus of an active prey, to lock your active prey or to select a prey of your choice.</i>\n\n{character}\n{info} added directly to Prey dialog\n{info} maximum amount that can be owned by character: 50",

          type = GameStore.OfferTypes.OFFER_TYPE_PREYBONUS,

        },

        {

          icons = { "Temple_Teleport.png" },

          name = "Temple Teleport",

          price = 15,

          description = "<i>Teleports you instantly to your home temple.</i>\n\n{character}\n{useicon} use it to teleport you to your home temple</i>\n{battlesign}\n{info} does not work in no-logout zones or close to a character's home temple",

          type = GameStore.OfferTypes.OFFER_TYPE_TEMPLE,

        },

      }, 

  },

 

   --Tournament

   {

   icons = { "Category_Tournament.png" },

   name = "Tournament",

   rookgaard = true,

   subclasses = {"Tickets", "Exclusive Offers"},

  },

 

  -- Tickets

  {

   icons = { "Category_Tickets.png" },

   parent = "Tournament", 

   name = "Tickets",

   rookgaard = true,

   offers = { 

        {

          icons = { "Tournament_Restricted.png" },

          name = "Restricted Tournament Ticket", 

          price = 500, 

        }, 

      },

 

 -- Exclusive Offers  

 }, { 

      icons = { "Category_ExclusiveOffers.png" },

      name = "Exclusive Offers",

      parent = "Tournament", 

      rookgaard = true,

      state = GameStore.States.STATE_NONE,

      offers = {

        {

          icons = { "Cerberus_Champion.png" },

          name = "Cerberus Champion",

          price = 1250,

          id = 146,

          description = "{info} usable by all characters of the account\n{speedboost}\n\n<i>A fierce and grim guardian of the underworld has risen to fight side by side with the bravest warriors in order to send evil creatures into the realm of the dead. The three headed Cerberus Champion is constantly baying for blood and using its sharp fangs it easily rips apart even the strongest armour and shield.",

          type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Jousting_Eagle.png" },

          name = "Jousting Eagle",

          price = 1250,

          id = 145,

          description = "{info} usable by all characters of the account\n{speedboost}\n\n<i>High above the clouds far away from dry land, the training of giant eagles takes place. Only the cream of the crop is able to survive in such harsh environment long enough to call themselves Jousting Eagles while the weaklings find themselves at the bottom of the sea. The tough ones become noble and graceful mounts that are well known for their agility and endurance.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Outfit_Lion_of_War_Male_Addon_3.png", "Outfit_Lion_of_War_Female_Addon_3.png" },

          name = "Full Lion of War Outfit",

          price = 1750,

          sexId = {female = 1207, male = 1206},

          addon = 3,

          description = "{info} usable by all characters of the account\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>The Lion of War has fought on countless battlefields and never lost once. Enemies tremble with fear when he batters his sword against his almighty shield. Realising that a Lion of War knows no mercy, his opponents often surrender before the battle even begins.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Outfit_Veteran_Paladin_Male_Addon_3.png", "Outfit_Veteran_Paladin_Female_Addon_3.png" },

          name = "Full Veteran Paladin Outfit",

          price = 1750,

          sexId = {female = 1205, male = 1204},

          addon = 3,

          description = "{info} usable by all characters of the account\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>A Veteran Paladin has mastered the art of distance fighting. No matter how far away his prey may be, a marksman like the Veteran Paladin will always hit with extraordinary precision. No one can escape his keen hawk-eyed vision and even small stones become deadly weapons in his hands.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Outfit_Void_Master_Male_Addon_3.png", "Outfit_Void_Master_Female_Addon_3.png" },

          name = "Full Void Master Outfit",

          price = 1750,

          sexId = {female = 1203, male = 1202},

          addon = 3,

          description = "{info} usable by all characters of the account\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>According to ancient rumours, the pulsating orb that the Void Master balances skilfully on the tip of his staff consists of powerful cosmic spheres. If you gaze too long into the infinite emptiness inside the orb, its powers will absorb your mind.</i>",

          type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Cerberus_Champion_Puppy.png" },

          name = "Cerberus Champion Puppy",

          price = 800,

          itemtype = 36299,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{use}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Jousting_Eagle_Baby.png" },

          name = "Jousting Eagle Baby",

          price = 800,

          itemtype = 36297,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{use}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Sublime_Tournament_Accolade.png" },

          name = "Sublime Tournament Accolade",

          price = 500,

          itemtype = 36307,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Sublime_Tournament_Carpet.png" },

          name = "Sublime Tournament Carpet",

          price = 70,

          itemtype = 36302,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{useicon} use an unwrapped carpet to roll it out or up\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Tournament_Accolade.png" },

          name = "Tournament Accolade",

          price = 500,

          itemtype = 36305,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Tournament_Carpet.png" },

          name = "Tournament Carpet",

          price = 70,

          itemtype = 36301,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{useicon} use an unwrapped carpet to roll it out or up\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

          coinType = GameStore.CointType.Tournament,

        },

        {

          icons = { "Baby_Vulcongra_Accolade.png" },

          name = "Baby Vulcongra",

          price = 800,

          itemtype = 37743,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Guzzlemaw_Grub.png" },

          name = "Guzzlemaw Grub",

          price = 800,

          itemtype = 37742,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Cozy_Couch.png" },

          name = "Cozy Couch",

          price = 100,

          itemtype = 37783,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Cozy_Couch_Left_End.png" },

          name = "Cozy Couch Left End",

          price = 100,

          itemtype = 37787,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Cozy_Couch_Right_End.png" },

          name = "Cozy Couch Right End",

          price = 100,

          itemtype = 37791,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Cozy_Couch_Corner.png" },

          name = "Cozy Couch Corner",

          price = 100,

          itemtype = 37799,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Baby_Brain_Squid.png" },

          name = "Baby Brain Squid",

          price = 800,

          itemtype = 37744,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Carved_Table.png" },

          name = "Carved Table",

          price = 100,

          itemtype = 37807,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Carved_Table_Centre.png" },

          name = "Carved Table Centre",

          price = 100,

          itemtype = 37809,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

        {

          icons = { "Carved_Table_Corner.png" },

          name = "Carved Table Corner",

          price = 100,

          itemtype = 37804,

          count = 1,

          description = "{house}\n{box}\n{storeinbox}\n{backtoinbox}",

          type = GameStore.OfferTypes.OFFER_TYPE_HOUSE,

        },

  },

 },

}   

 

-- Each outfit must be uniquely identified to distinguish between addons.

-- Here we dynamically assign ids for outfits. These ids must be unique.

local runningId = 45000

for k, category in ipairs(GameStore.Categories) do

  if category.offers then

    for m, offer in ipairs(category.offers) do

      if not offer.id then

        if type(offer.count) == "table" then

          for i = 1, #offer.price do

            offer.id[i] = runningId

            runningId = runningId + 1

          end

        else

          offer.id = runningId

          runningId = runningId + 1

        end

      end

      if not offer.type then

        offer.type = GameStore.OfferTypes.OFFER_TYPE_NONE

      end

      if not offer.coinType then

        offer.coinType = GameStore.CointType.Coin

      end

    end

  end

end

 

 

Editado por pedrobta (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por FeeTads
      SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.

      **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts

      vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.

      SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.

      vá em creatureevent.cpp

      procure por:
      else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
      Adiciona abaixo:
      else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";  
      Adicione abaixo: 
      case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
      Adicione abaixo:
      case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";

      agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
      uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }

      agora vá em creatureevent.h

      procure por:
      CREATURE_EVENT_PREPAREDEATH
      adicione abaixo:
      CREATURE_EVENT_NOCOUNTFRAG

      procure por:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
      Adicione abaixo:
      uint32_t executeNoCountFragArea(Creature* creature, Creature* target);

      agora vá em player.cpp

      procure por:
      bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
      abaixo de:
      War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
      Adicione o seguinte código:
      if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }

      //

      Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor

      vá até creaturescripts/scripts
      crie um arquivo chamado, "noCountFragInArea.lua"
      e dentro dele cole o código:
       
      --[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
      agora em creaturescripts.xml
      <event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
      agora em creaturescripts/scripts/login.lua
       procure por OU semelhante a esse:
      registerCreatureEvent(cid, "AdvanceSave")
      e abaixo adicione:
      registerCreatureEvent(cid, "fragarea")

      //


      Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script

      Exemplo:
      local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
      assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
      Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
      Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.

      Façam bom proveito dos scripts, e deixem os créditos no script rsrs

      **Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
    • Por Muvuka
      Abri canal a força creaturescript acho que funcione no creaturescript cria script creaturescript
       
      <channel id="9" name="HELP" logged="yes"/>
      <channel id="12" name="Report Bugs" logged="yes"/>
      <channel id="13" name="Loot" logged="yes"/>
      <channel id="14" name="Report Character Rules Tibia Rules" logged="yes"/>
      <channel id="15" name="Death Channel"/>
      <channel id="6548" name="DexSoft" level="1"/>
      <channel id="7" name="Reports" logged="yes"/>
       
      antes de 
              if(lastLogin > 0) then adicione isso:
                      doPlayerOpenChannel(cid, CHANNEL_HELP) doPlayerOpenChannel(cid, 1,  2, 3) = 1,2 ,3 Channels, entendeu? NÃO FUNCIONA EU QUERO UM MEIO DE ABRI SEM USA A SOURCE
       
      EU NÃO CONSEGUI ABRI EU NÃO TENHO SOURCE
       
       
    • Por bolachapancao
      Rapaziada seguinte preciso de um script que ao utilizar uma alavanca para até 4 jogadores.
      Os jogadores serão teleportados para hunt durante uma hora e depois de uma hora os jogadores serão teleportados de volta para o templo.
       
      Observação: caso o jogador morra ou saia da hunt o evento hunt é cancelado.

      Estou a base canary
      GitHub - opentibiabr/canary: Canary Server 13.x for OpenTibia community.
       
    • Por RAJADAO
      .Qual servidor ou website você utiliza como base? 
      Sabrehaven 8.0
      Qual o motivo deste tópico? 
      Ajuda com novos efeitos
       
      Olá amigos, gostaria de ajuda para introduzir os seguintes efeitos no meu servidor (usando o Sabrehaven 8.0 como base), adicionei algumas runas novas (avalanche, icicle, míssil sagrado, stoneshower & Thunderstorm) e alguns novos feitiços (exevo mas san, exori san, exori tera, exori frigo, exevo gran mas frigo, exevo gran mas tera, exevo tera hur, exevo frigo hur) mas nenhum dos efeitos dessas magias parece existir no servidor, alguém tem um link para um tutorial ou algo assim para que eu possa fazer isso funcionar?
      Desculpe pelo mau inglês, sou brasileiro.

      Obrigado!


      AVALANCHE RUNE id:3161 \/
      (COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)

      STONESHOWER RUNE id:3175 \/
      (COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_STONES)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)

      THUNDERSTORM RUNE id:3202 \/
      (COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_E NERGYHIT)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)

      ICICLE RUNE id:3158 \/
      COMBAT_ICEDAMAGE
      CONST_ME_ICEAREA
      CONST_ANI_ICE

      SANTO MÍSSIL RUNA id:3182 \/
      (COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)

      CONST_ME_PLANTATTACK (exevo gran mas tera)
      CONST_ME_ICETORNADO (exevo gran mas frigo)
      CONST_ME_SMALLPLANTS (exevo tera hur)
      CONST_ME_ICEAREA (exevo frigo hur)
      CONST_ME_ICEATTACK (exori frigo)
      CONST_ME_CARNIPHILA (exori tera)

      EXORI SAN \/
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
      CONST_ME_HOLYDAM IDADE

      EXEVO MAS SAN \/
      CONST_ME_HOLYAREA
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo