Ir para conteúdo

Droox

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Haha
  2. Obrigado
    Droox deu reputação a Cat em Como mudar a versão de um mapa   
    Tutorial: Como mudar a versão de um mapa
     Programa: Remere's Map Editor
     
     
    Você baixou um mapa e ele não é compatível com seu servidor? Há duas formas de mudar a versão de um mapa:
    Considerações
    Você só pode trocar a versão de um mapa com sucesso se os itens que estiverem nele tiverem os mesmos ids para ambas as versões. Por exemplo, você não conseguirá mudar a versão de um mapa 11.0, que tem itens diferentes, para 8.60 que tem menos itens. Embora seja possível, vai bugar o mapa. Os itens não reconhecidos após a conversão serão trocados por um piso vermelho ou por outros itens aleatórios com o mesmo id dos itens antigos, porém com sprites diferentes. Realize um backup.  
     
    _____________________________________________________________________________________________
    Método 01 - Mudar versão do mapa através do Map Properties (ctrl + P)
    Abra o map editor e carregue o mapa que você quer trocar a versão. Em seguida, vá no menu superior em Map - Map Properties, ou utilize o atalho CTRL + P.
     

     
     
     
    Agora clique em Client Version e escolha o novo protocolo. Clique em OK. Se estiver mudando de uma versão antiga para uma nova, o mapa será atualizado e basta salvá-lo (nesses casos tem menos chance de bugs). Mas se você está mudando de uma versão superior para uma versão inferior, vai aparecer esta janela:
     

     
     
     
    O aviso diz que se você mudar a versão do mapa para uma versão mais antiga pode haver efeitos no mapa, ele pede pra você confirmar. Se você tem certeza, clique em SIM.
    Pronto, a versão foi trocada. Mas fique atento, se você ainda não configurou o diretório do client da versão nova, vai aparecer uma mensagem para que você o selecione.
     

     
    Observação: Nesse caso, eu troquei a versão de um mapa 10.77 para 8.60.
     
     
    _____________________________________________________________________________________________
    Método 02 - Mudar versão do mapa importando ele
    Essa opção é um atalho para possíveis erros que possam ocorrer utilizando o método 01. Funciona assim: Antes de abrir seu mapa, carregue um mapa novo em branco (File - new), ele já tem que estar na versão que você quer. Agora vá ao menu superior, em File - Import - Import Map.
     

     
     
    Clique em Browse e selecione o mapa que vai ser mudado. Clique em Ok, teste e salve.
     
    ____________
     
     
     
    Dúvidas?
     
     
     
     
     
     

  3. Gostei
    Droox recebeu reputação de Cocenco em [10.90] Vanaheim Global Opensource - TFS 1.2   
    Não por isso irmão! 
     
    Da um REP+ ai pra nois!
  4. Gostei
    Droox recebeu reputação de Spectry 2 em (Resolvido)Retirar missões de quests!   
    Oi pessoal! Estou criando esse tópico porque confio que só aqui vou encontrar a resposta pra minha dúvida!
     
    Estou com um mapa global 10.76 global no qual tem que fazer todas as missões pra a fazer algumas quests ou acessar alguns lugares!
     
    Eu queria tirar essas missões.
     
    Ex: Para acessar os portões de Yalahar precisa da In service of Yalahar Completa, gostaria de cortar pra começar na missão 10!
     
    Alguém poderia me ajudar?
  5. Gostei
    Basta executar isso na database!
     
    ALTER TABLE `players` ADD COLUMN `skill_critical_hit_chance` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_critical_hit_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_critical_hit_damage` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_critical_hit_damage_tries` bigint(20) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_life_leech_chance` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_life_leech_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_life_leech_amount` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_life_leech_amount_tries` bigint(20) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_mana_leech_chance` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_mana_leech_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_mana_leech_amount` int(10) unsigned NOT NULL DEFAULT 0
    ALTER TABLE `players` ADD COLUMN `skill_mana_leech_amount_tries` bigint(20) unsigned NOT NULL DEFAULT 0
  6. Gostei
    Droox deu reputação a Bodak Reborn em gaz'haragoth Spells   
    local voc = {1, 2, 3, 4, 5, 6, 7, 8} arr = { {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) local combat = createCombatObject() setCombatArea(combat, area) function onTargetTile(cid, pos) local creatureTable = {} local n, i = getTileInfo({x=pos.x, y=pos.y, z=pos.z}).creatures, 1 if n ~= 0 then local v = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}).uid while v ~= 0 do if isCreature(v) == true then table.insert(creatureTable, v) if n == #creatureTable then break end end i = i + 1 v = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}).uid end end if #creatureTable ~= nil and #creatureTable > 0 then for r = 1, #creatureTable do if creatureTable[r] ~= cid then local min = 30000 local max = 30000 if isPlayer(creatureTable[r]) == true and isInArray(voc, getPlayerVocation(creatureTable[r])) == true then doTargetCombatHealth(cid, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE) elseif isMonster(creatureTable[r]) == true then doTargetCombatHealth(cid, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE) end end end end doSendMagicEffect(pos, CONST_ME_PURPLEENERGY) return true end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function delayedCastSpell(cid) if isCreature(cid) == true then doCombat(cid, combat, positionToVariant(getCreaturePosition(cid))) doCreatureSay(cid, "Gaz'haragoth calls down: DEATH AND DOOM!", TALKTYPE_ORANGE_2) end end function onCastSpell(cid, var) doCreatureSay(cid, "Gaz'haragoth begins to channel DEATH AND DOOM into the area! RUN!", TALKTYPE_ORANGE_2) addEvent(delayedCastSpell, 5000, cid) return true end  
  7. Gostei
    Droox deu reputação a Bodak Reborn em (Resolvido)Monstro não ataca player com storage   
    Caso queira que ele fique com 1 de hp:
    function onStepIn(cid, item, position, fromPosition) local storage = 318926 -- storage da quest. if getPlayerStorageValue (cid, storage) ~= 1 then local lessHealth = (getCreatureHealth (cid) + 1) - getCreatureHealth (cid) doCreatureAddHealth (cid, -lessHealth) end return true end  
  8. Gostei
    Droox recebeu reputação de ramses82 em [10.90] Vanaheim Global Opensource - TFS 1.2   
    Ta aí o Link Rodrygosos!
     
    https://mega.nz/#!Z9NVGC4A!zbq3QCz1PGoBt-xcnDn9sIQxRYJlNaJD60RWUNUVZmM
     
    Não fiz scan pq é o mesmo que estava pra download! Caso, desconfie, não baixe!
     
    Caso te ajude, REP+
  9. Gostei
    DISPONÍVEL PARA DOWNLOAD!

    Índice
     
            A seguir vocês acompanharão:
           1. Introdução
        2. Features
                    3. Imagens            
      4. Versão
                        5. Downloads/Scans
               6. Notas Finais
                     
     
     
    PARA TUDO!
    Algo jamais visto para download, algo completo!
    Tenho hoje o prazer de traze-los o download do servidor que será ESTÁ disponibilizado para galera do TIBIAKING!

     
     
     
     
    Introdução:

    Há alguns dias atrás eu e Ciroc resolvemos desenvolver um servidor na versão atual contendo tudo jamais disponibilizado na internet, ou seja; tudo foi realizado do zero e estará sendo disponibilizado para vocês.
    Pegamos como base o servidor ORTS do próprio theforgottenserver e trabalhamos arduamente em cima do mesmo, para disponibiliza-los.
     

     
     
     
     
    Features:
     
    •    Novas áreas 10.82/10.90
    •    Novos items 10.90
    •    Novos monstros/npcs/montarias 10.90
    •    Umbral creation
    •    Reward system Full Global
    •    Bosses prison roshamuul
    •    Oramond full incluindo seacrest ground e glooth factory
    •    Cast system work
    •    Casino automático
    •    Raids Full
    •    Battlefield Event
    •    Zombie Event
    •    Exp Shared
    •    Krailos
    •    New Arena Tibia.com
    •    Ferumbras' Ascendant Quest
    •    Equip HOTKEY
     
     

     
     
     
    Imagens:


    • Depot Thais (Entrada para nova arena)

     
    • Nova arena PVP 10.90

     
    • Cassino dice automático

     
    • Treiners online aquatic room

     
    • Seacrest Ground Cave

     
    • Roshamuul prison key (incluido golden key)

     
    • Novos monstros, novos items e novas outfits/montarias

     
    • Boss Feroxa invasão 100%, mapa também.

     
    • Local para duelar na arena (5vs5)

     
    • Ao dar use, os players serão teleportados pra arena.

     
    • Ferumbras' Ascendant Quest

     
    • Entrada 7 bosses Ferumbras Quest

     
    • Coletando recompensa com questlog.

     
    • Entregando as demonic essences ao npc Mazarius

     
    • Respawn Krailos Otimizado


     
     
     
     
    Versão atual (Atualizaremos juntamente com o tibia.com)
     
                ~

     
     

     
     
     Downloads/Scan (DISPONÍVEL):
     
    Atenção: o servidor foi postado em um novo site de upload para tibia que iremos inaugurar oficialmente em breve, agradecimentos otupload.com ao @Guilherme pelo desenvolvimento em si.

    Download do servidor completo + database + sources [LINUX]: http://otupload.com/file/1456169626_G1091_ABSOLUTE_CIROC_FOR_TK
    Download do servidor completo + database + sources [LINUX] (LINK ALTERNATIVO, PROVISÓRIO): https://www.sendspace.com/file/1ctint
    Download do servidor completo + database + sources [WINDOWS]: (Ainda não disponível, caso alguém queira se habilitar e compilar nossas sources, nós e a comunidade TK deixamos os sinceros votos de agradecimentos)
     
    Scan do servidor: https://www.virustotal.com/pt/file/2f5fe15d174d47ec9080e1a9db3d33767e8536794a7b331c4c9646229567de97/analysis/1458112382/
     
    Github: https://github.com/absoluten/absoluteglobal (O projeto será lançado em breve no github para as demais atualizações, sigam lá).
     
     

     
     
    Notas Finais:
    Este servidor é completo, é uma base/prévia do meu servidor em que trabalho.
    O servidor é completo e encontra-se livre de quaisquer bugs graves.
    Estaremos atualizando o servidor juntamente com a versão do tibia.com
    Vocês poderão opinar e contribuir com o projeto de qualquer forma; sugestões, reports e etc.
     
    Atenção: em breve nós estaremos trabalhando em um website na altura deste projeto, vocês poderão acompanhar aqui no fórum, fiquem atentos.
     
    Créditos:
    *Absolute
    *@ciroc
    *Orts
    *Theforgottenserver
    *@xWhiteWolf
     
     
     
     
     
     

    Absolute/Ciroc Global, um servidor completo e perfeito, aproveitem.

     
  10. Gostei
    Droox deu reputação a Natanael Beckman em ShopGuild Points 100% add em player offline. Atualizado   
    Obrigatoriamente leia tudo!
    Atualizado 01/07/2014
     
    Opa galera mais uma vez eu trazendo o melhor para todos.
    Hoje vou postar o sistema de Guild de Points que eu utilizo em meu OTserver, acredito que dificilmente será encontrado por ae um tão completo e sem bugs igual o que será postado logo abaixo, é um sistema completo que é utilizado pelo líder da guild executando um comando que, se tiver de acordo com as regras que seram feitas por você, todos os membros da guild iram receber os pontos uma unica vez, lembrando que quando os pontos são adicionados a um player ele não receberá entrando em outra guild e não receberá criando outro personagem na conta, resumindo ele só receberá uma unica vez na conta e com um player só. E um dos detalhes que me causava dor de cabeça era que quando um líder executava o comando, quem estava online recebia os pontos, mais quem estava offline não recebia, isso acontecia normalmente porque tem guilds que contém 50, 70, 100 players, portanto nem sempre todos estavam online. O comando só pode ser executado uma vez por dia cada guild, para não gerar processamentos desnecessários e assim um mal funcionamento do servidor.

    Cada administrador pode configurar seu sistema da forma que quiser, por ser um sistema muito simples, você pode bota que todos os players estejam no minimo level x, que a guild só possa executar o comando quando estiver quantidade x de players online, isso é bom porque traz um certa dificuldade para fraudes de pontos, e o sistema só vira bagunça dependendo do que você vai oferecer no seu shop guild, eu particularmente só utilizei esse comando porque muitas guilds grandes pediam pontos, eles me cobravam uma quantidade x de pontos e eu cobrava uma quantidade x de player então pra automatizar o processo e não ter dor de cabeça foi feito todo esse sistema. Se você analisar bem vai ver que tudo isso só gera mais crescimento ao seu servidor.
    Bom, vamos ao sistema:

    Em talkactions.xml, adicione a tag abaixo:
          <talkaction words="!guildpoints" event="script" value="guildpoints.lua"/> Na pasta talkactions/scripts faça um .lua com o nome guildpoints e dentro dele adicione os coder abaixo: GuildPointsConfigs = {         ExecuteIntervalHours = 24,         NeedPlayersOnline = 10,         NeedDiferentIps = 6,         MinLevel = 80,         AddPointsForAcc = 9 } function getGuildPlayersValidAccIDS(GuildID, MinLevel)         local RanksIDS = {}         local AccsID = {}         local ValidAccsID = {}         Query1 = db.getResult("SELECT `id` FROM `guild_ranks` WHERE guild_id = '".. GuildID .."'")         if(Query1:getID() == -1) then                 return ValidAccsID         end         for i = 1, Query1:getRows() do                 table.insert(RanksIDS, Query1:getDataInt("id"))                 Query1:next()         end         Query2 = db.getResult("SELECT `account_id` FROM `players` WHERE `rank_id` IN (".. table.concat(RanksIDS, ', ') ..") AND `level` >= ".. MinLevel .."")         if(Query2:getID() == -1) then                 return ValidAccsID         end         for i = 1, Query2:getRows() do                 local AccID = Query2:getDataInt("account_id")                 if #AccsID > 0 then                         for k = 1, #AccsID do                                 if AccID == AccsID[k] then                                         AddAccList = false                                         break                                 end                                 AddAccList = true                         end                         if AddAccList then                                 table.insert(AccsID, AccID)                         end                 else                         table.insert(AccsID, AccID)                 end                 Query2:next()         end         Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")")         if(Query3:getID() == -1) then                 return ValidAccsID         end         for i = 1, Query3:getRows() do                 local AccID = Query3:getDataInt("id")                 if #ValidAccsID > 0 then                         for k = 1, #ValidAccsID do                                 if AccID == ValidAccsID[k] then                                         AddAccList = false                                         break                                 end                                 AddAccList = true                         end                         if AddAccList then                                 table.insert(ValidAccsID, AccID)                         end                 else                         table.insert(ValidAccsID, AccID)                 end                 Query3:next()         end         return ValidAccsID end function onSay(cid, words, param, channel)         if(getPlayerGuildLevel(cid) == 3) then                 local GuildID = getPlayerGuildId(cid)                 Query = db.getResult("SELECT `last_execute_points` FROM `guilds` WHERE id = '".. GuildID .."'")                 if(Query:getID() == -1) then                         return true                 end                 if Query:getDataInt("last_execute_points") < os.time() then                         local GuildMembers = {}                         local GuildMembersOnline = {}                         local PlayersOnline = getPlayersOnline()                         for i, pid in ipairs(PlayersOnline) do                                 if getPlayerGuildId(pid) == GuildID then                                         if getPlayerLevel(pid) >= GuildPointsConfigs.MinLevel then                                                 table.insert(GuildMembersOnline, pid)                                         end                                 end                         end                         if #GuildMembersOnline >= GuildPointsConfigs.NeedPlayersOnline then                                 local IPS = {}                                 for i, pid in ipairs(GuildMembersOnline) do                                         local PlayerIP = getPlayerIp(pid)                                         if #IPS > 0 then                                                 for k = 1, #IPS do                                                         if PlayerIP == IPS[k] then                                                                 AddIPList = false                                                                 break                                                         end                                                         AddIPList = true                                                 end                                                 if AddIPList then                                                         table.insert(IPS, PlayerIP)                                                 end                                         else                                                 table.insert(IPS, PlayerIP)                                         end                                 end                                 if #IPS >= GuildPointsConfigs.NeedDiferentIps then                                         local ValidAccounts = getGuildPlayersValidAccIDS(GuildID, GuildPointsConfigs.MinLevel)                                         db.executeQuery("UPDATE `guilds` SET `last_execute_points` = ".. os.time() +(GuildPointsConfigs.ExecuteIntervalHours * 3600) .." WHERE `guilds`.`id` = ".. GuildID ..";")                                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "".. #ValidAccounts .." Players received points")                                         if #ValidAccounts > 0 then                                                 db.executeQuery("UPDATE `accounts` SET `guild_points` = `guild_points` + " ..GuildPointsConfigs.AddPointsForAcc .. ", `guild_points_stats` = ".. os.time() .." WHERE `id` IN (" .. table.concat(ValidAccounts, ',') ..");")                                                 for i, pid in ipairs(GuildMembersOnline) do                                                         local PlayerMSGAccID = getPlayerAccountId(pid)                                                         for k = 1, #ValidAccounts do                                                                 if PlayerMSGAccID == ValidAccounts[k] then                                                                         doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "You received "..GuildPointsConfigs.AddPointsForAcc .." guild points.")                                                                         break                                                                 end                                                         end                                                 end                                         end                                 else                                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only ".. #IPS .." players are valid, you need ".. GuildPointsConfigs.NeedDiferentIps .." players with different ips.")                                 end                         else                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Has only ".. #GuildMembersOnline .." players online you need ".. GuildPointsConfigs.NeedPlayersOnline .." players online at least from level ".. GuildPointsConfigs.MinLevel ..".")                         end                 else                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The command can only be run once every "..GuildPointsConfigs.ExecuteIntervalHours .." hours.")                 end         else                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.")         end         return true end No coder acima bem no inicio tem as linhas seguintes para configurar:

    ExecuteIntervalHours = 24, ( Intervalo para execução do comando, ae está de 24 em 24hrs)
    NeedPlayersOnline = 10, (Quantos players é preciso está online para poder executar o comando.)
    NeedDiferentIps = 6, (Quantos IPS diferentes são necessários para executar o comando no exemplo ae tem 6.)
    MinLevel = 80, (Aqui adicione o level minimo, é necessário que todos os player da guild tenha o level pedido para o lider executar o comando.)
    AddPointsForAcc = 9, (Aqui é a quantidade de pontos para adicionar em cada player da guild.)
     
    Em data/globalevents/scripts crie um arquivo chamado shopguild.lua e adicione o code a seguir:
    local SHOP_MSG_TYPE = MESSAGE_EVENT_ORANGE local SQL_interval = 30 function onThink(interval, lastExecution)         local result_plr = db.getResult("SELECT * FROM z_ots_guildcomunication WHERE `type` = 'login';")         if(result_plr:getID() ~= -1) then                 while(true) do                         local id = tonumber(result_plr:getDataInt("id"))                         local action = tostring(result_plr:getDataString("action"))                         local delete = tonumber(result_plr:getDataInt("delete_it"))                         local cid = getCreatureByName(tostring(result_plr:getDataString("name")))                         if isPlayer(cid) then                                 local itemtogive_id = tonumber(result_plr:getDataInt("param1"))                                 local itemtogive_count = tonumber(result_plr:getDataInt("param2"))                                 local container_id = tonumber(result_plr:getDataInt("param3"))                                 local container_count = tonumber(result_plr:getDataInt("param4"))                                 local add_item_type = tostring(result_plr:getDataString("param5"))                                 local add_item_name = tostring(result_plr:getDataString("param6"))                                 local received_item = 0                                 local full_weight = 0                                 if add_item_type == 'container' then                                         container_weight = getItemWeightById(container_id, 1)                                         if isItemRune(itemtogive_id) == TRUE then                                                 items_weight = container_count * getItemWeightById(itemtogive_id, 1)                                         else                                                 items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)                                         end                                         full_weight = items_weight + container_weight                                 else                                         full_weight = getItemWeightById(itemtogive_id, itemtogive_count)                                         if isItemRune(itemtogive_id) == TRUE then                                                 full_weight = getItemWeightById(itemtogive_id, 1)                                         else                                                 full_weight = getItemWeightById(itemtogive_id, itemtogive_count)                                         end                                 end                                 local free_cap = getPlayerFreeCap(cid)                                 if full_weight <= free_cap then                                         if add_item_type == 'container' then                                                 local new_container = doCreateItemEx(container_id, 1)                                                 local iter = 0                                                 while iter ~= container_count do                                                         doAddContainerItem(new_container, itemtogive_id, itemtogive_count)                                                         iter = iter + 1                                                 end                                                 received_item = doPlayerAddItemEx(cid, new_container)                                         else                                                 local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)                                                 doItemSetAttribute(new_item, "description", "This item can only be used by the player ".. getPlayerName(cid) .."!")                                                 doItemSetAttribute(new_item, "aid", getPlayerGUID(cid)+10000)                                                 received_item = doPlayerAddItemEx(cid, new_item)                                         end                                         if received_item == RETURNVALUE_NOERROR then                                                 doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS GuildShop.')                                                 db.executeQuery("DELETE FROM `z_ots_guildcomunication` WHERE `id` = " .. id .. ";")                                                 db.executeQuery("UPDATE `z_shopguild_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")                                         else                                                 doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS GuildShop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')                                         end                                 else                                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS GuildShop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')                                 end                         end                         if not(result_plr:next()) then                                 break                         end                 end                 result_plr:free()         end         return true end Em data/globalevents/globalevents.xml adicione a seguinte tag:
    <globalevent name="shopguild" interval="300" event="script" value="shopguild.lua"/> Certo, a parte do servidor é esta, ta feita, vamos adicionar a database o coder a seguir:
                      ALTER TABLE `accounts` ADD `guild_points` INTEGER(11) NOT NULL DEFAULT 0;                   ALTER TABLE `accounts` ADD `guild_points_stats` INT NOT NULL DEFAULT '0';                   ALTER TABLE `guilds` ADD `last_execute_points` INT NOT NULL DEFAULT '0';                   CREATE TABLE `z_shopguild_offer` (                         `id` int(11) NOT NULL auto_increment,                         `points` int(11) NOT NULL default '0',                         `itemid1` int(11) NOT NULL default '0',                         `count1` int(11) NOT NULL default '0',                         `itemid2` int(11) NOT NULL default '0',                         `count2` int(11) NOT NULL default '0',                         `offer_type` varchar(255) default NULL,                         `offer_description` text NOT NULL,                         `offer_name` varchar(255) NOT NULL,                         `pid` INT(11) NOT NULL DEFAULT '0',                   PRIMARY KEY (`id`))                   CREATE TABLE `z_shopguild_history_item` (                         `id` int(11) NOT NULL auto_increment,                         `to_name` varchar(255) NOT NULL default '0',                         `to_account` int(11) NOT NULL default '0',                         `from_nick` varchar(255) NOT NULL,                         `from_account` int(11) NOT NULL default '0',                         `price` int(11) NOT NULL default '0',                         `offer_id` int(11) NOT NULL default '0',                         `trans_state` varchar(255) NOT NULL,                         `trans_start` int(11) NOT NULL default '0',                         `trans_real` int(11) NOT NULL default '0',                   PRIMARY KEY (`id`))                   CREATE TABLE `z_shopguild_history_pacc` (                         `id` int(11) NOT NULL auto_increment,                         `to_name` varchar(255) NOT NULL default '0',                         `to_account` int(11) NOT NULL default '0',                         `from_nick` varchar(255) NOT NULL,                         `from_account` int(11) NOT NULL default '0',                         `price` int(11) NOT NULL default '0',                         `pacc_days` int(11) NOT NULL default '0',                         `trans_state` varchar(255) NOT NULL,                         `trans_start` int(11) NOT NULL default '0',                         `trans_real` int(11) NOT NULL default '0',                   PRIMARY KEY (`id`)) CREATE TABLE IF NOT EXISTS `z_ots_guildcomunication` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` varchar(255) NOT NULL,   `type` varchar(255) NOT NULL,   `action` varchar(255) NOT NULL,   `param1` varchar(255) NOT NULL,   `param2` varchar(255) NOT NULL,   `param3` varchar(255) NOT NULL,   `param4` varchar(255) NOT NULL,   `param5` varchar(255) NOT NULL,   `param6` varchar(255) NOT NULL,   `param7` varchar(255) NOT NULL,   `delete_it` int(2) NOT NULL DEFAULT '1',   PRIMARY KEY (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13107; Olha estamos quase finalizando tudo, só precisamos terminar a parte de web.
    O meu GuildShop eu copiei meu shopsystem.php e fiz umas modificações, simples você pode fazer o mesmo é menos trabalhoso.
    Copie o shopsystem.php renomeie para shopguild.php, após abra-o e modifique como manda a seguir:

    shop_system para shopguild_system
    premium_points para guild_points
    premium points para guild points
    z_shop_offer para z_shopguild_offer
    shopsystem para shopguild
    z_shop_history_pacc para z_shopguild_history_pacc
    z_shop_history_item para z_shopguild_history_item
    z_ots_comunication para z_ots_guildcomunication
     
    Ou utilize este já pronto:
    shopguild.php
     
    O shopguildadmin.php está no link abaixo, basta fazer o mesmo procedimento:
    shopguildadmin.php
     
    Em index.php add:
    case "shopguild";    $topic = "Shop Guild";    $subtopic = "shopguild";    include("shopguild.php"); break; case "shopguildadmin";    $topic = "ShopGuild Admin";    $subtopic = "shopguildadmin";    include("shopguildadmin.php"); break; Vá em config.php adicione:
    $config['site']['shopguild_system'] = 1; $config['site']['access_adminguild_panel'] = 9; Vá em layouts.php adicione abaixo de buypoints:
                                    <a href='?subtopic=shopguild'>                                         <div id='submenu_shopguild' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'>                                                 <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>                                                 <div id='ActiveSubmenuItemIcon_shopguild' class='ActiveSubmenuItemIcon'style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>                                                 <div class='SubmenuitemLabel'>Shop Guild</div>                                                 <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>                                         </div>                                 </a> Em layouts.php add depois do shopadmin:
    if($group_id_of_acc_logged >= $config['site']['access_adminguild_panel'])   echo "<a href='?subtopic=shopadmin'>                                    <div id='submenu_shopguildadmin' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'>                                           <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>                                           <div id='ActiveSubmenuItemIcon_shopguildadmin' class='ActiveSubmenuItemIcon'style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div>                                           <div class='SubmenuitemLabel'><font color=red>! ShopGuild Admin !</font></div>                                          <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>                                    </div>                             </a>"; Em shopsystem.php procure por:
            elseif($action == 'show_history') {                 if(!$logged) {                         $main_content .= 'Please login first.';                 } else{                         $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($items_history_received)) {                                 foreach($items_history_received as $item_received) {                                         if($account_logged->getId() == $item_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $item_received['from_account'])                                                 $items_received_text .= '<i>Your account</i>';                                         else                                                 $items_received_text .= $item_received['from_nick'];                                                                                                 $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';                                                                                                                                                                                                         if($item_received['trans_real'] > 0)                                                 $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>';                                         else                                                 $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $items_received_text .= '</tr>';                                 }                         }                         $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccs_history_received)) {                                 foreach($paccs_history_received as $pacc_received) {                                         if($account_logged->getId() == $pacc_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $pacc_received['from_account'])                                                 $paccs_received_text .= '<i>Your account</i>';                                         else                                                 $paccs_received_text .= $pacc_received['from_nick'];                                                 $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>';                                 }                         }                         $main_content .= '<center><h1>Transactions History</h1></center>';                         if(!empty($items_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />';                         if(!empty($paccs_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />';                         if(empty($paccs_received_text) && empty($items_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                 }         } Troque por:
            elseif($action == 'show_history') {                 if(!$logged) {                         $main_content .= 'Please login first.';                 } else{                         $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($items_history_received)) {                                 foreach($items_history_received as $item_received) {                                         if($account_logged->getId() == $item_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $item_received['from_account'])                                                 $items_received_text .= '<i>Your account</i>';                                         else                                                 $items_received_text .= $item_received['from_nick'];                                                                                                 $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';                                                                                                                                                                                                         if($item_received['trans_real'] > 0)                                                 $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>';                                         else                                                 $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $items_received_text .= '</tr>';                                 }                         }                         $itemsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($itemsguild_history_received)) {                                 foreach($itemsguild_history_received as $itemguild_received) {                                         if($account_logged->getId() == $itemguild_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $itemsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$itemguild_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $itemguild_received['from_account'])                                                 $itemsguild_received_text .= '<i>Your account</i>';                                         else                                                 $itemsguild_received_text .= $itemguild_received['from_nick'];                                                                                                 $itemsguild_received_text .= '</td><td>'.$itemguild_received['offer_id'].'</td><td>'.$itemguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $itemguild_received['trans_start']).'</td>';                                                                                                                                                                                                         if($itemguild_received['trans_real'] > 0)                                                 $itemsguild_received_text .= '<td>'.date("j F Y, H:i:s",$itemguild_received['trans_real']).'</td>';                                         else                                                 $itemsguild_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $itemsguild_received_text .= '</tr>';                                 }                         }                         $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccs_history_received)) {                                 foreach($paccs_history_received as $pacc_received) {                                         if($account_logged->getId() == $pacc_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $pacc_received['from_account'])                                                 $paccs_received_text .= '<i>Your account</i>';                                         else                                                 $paccs_received_text .= $pacc_received['from_nick'];                                                 $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>';                                 }                         }                         $paccsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccsguild_history_received)) {                                 foreach($paccsguild_history_received as $paccguild_received) {                                         if($account_logged->getId() == $paccguild_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$paccguild_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $paccguild_received['from_account'])                                                 $paccsguild_received_text .= '<i>Your account</i>';                                         else                                                 $paccsguild_received_text .= $paccguild_received['from_nick'];                                                 $paccsguild_received_text .= '</td><td>'.$paccguild_received['pacc_days'].' days</td><td>'.$paccguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $paccguild_received['trans_real']).'</td></tr>';                                 }                         }                         $main_content .= '<center><h1>Transactions History</h1></center>';                         if(!empty($items_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;ShopServer Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />';                         if(!empty($itemsguild_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;ShopGuild Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$itemsguild_received_text.'</table><br />';                         if(!empty($paccs_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;ShopServer VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />';                         if(!empty($paccsguild_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;ShopGuild VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccsguild_received_text.'</table><br />';                         if(empty($paccs_received_text) && empty($items_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                         if(empty($paccsguild_received_text) && empty($itemsguild_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                 }         } Finalmente terminamos!
    Bom todo esse processo é feito só para facilitar tudo pra você e o player e pra diferenciar o Shop System do Shop Guild, porque um sustenta as despesas do server e o outro atrai player, porque pra conseguir player é preciso ter player.

    Galera acredito que não esteja faltando nada, espero que gostem e tudo que eu poder fazer para nossas melhoras estarei postando, me desculpem meus erros de português mais o que importa aqui é o script está correto, abraços!


    Créditos:
    Natanael Beckman
    LukeSkywalker (Raphael Luiz) .lua 100%
    Não proíbo ninguém de copia o tópico só peço que onde você adicione inclua os créditos mencionados.
  11. Gostei
    Droox deu reputação a Natanael Beckman em ShopGuild TFS 1.0   
    Shop Guild TFS 1.0
    Bom, vamos ao sistema:

    Em talkactions.xml, adicione a tag abaixo:
          <talkaction words="!guildpoints" separator=" " script="guildpoints.lua"/> Na pasta talkactions/scripts faça um .lua com o nome guildpoints e dentro dele adicione os coder abaixo: local config = {         executeInterval = 24,         minimumLevel = 80,         membersNeeded = 10,         minimumDifferentIps = 6,         pointAmount = 9 } local function getValidAccounts(guild)         local resultId = db.storeQuery('SELECT a.`id` FROM `accounts` a, `guild_membership` m, `players` p WHERE m.`guild_id` = ' ..guild:getId() .. ' AND p.`id` = m.`player_id` AND p.`level` > ' ..  config.minimumLevel .. ' and a.`id` = p.`account_id` AND a.`guild_points_stats` = 0 GROUP BY a.`id`;')         if resultId == false then                 return {}         end         local accounts = {}         repeat                 table.insert(accounts, result.getDataInt(resultId, 'id'))         until not result.next(resultId)         result.free(resultId)         return accounts end function onSay(cid, words, param)         local player = Player(cid)         local guild = player:getGuild()         if not guild or player:getGuildLevel() ~= GUILDLEVEL_LEADER then                 player:getPosition():sendMagicEffect(CONST_ME_POFF)                 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only guild leader can request points.')                 return false         end         local resultId = db.storeQuery('SELECT `last_execute_points` FROM `guilds` WHERE id = ' .. guild:getId())         if resultId == false then                 player:getPosition():sendMagicEffect(CONST_ME_POFF)                 player:sendCancelMessage('Error while running database query.')                 return false         end         local lastExecution = result.getDataInt(resultId, 'last_execute_points')         result.free(resultId)         if lastExecution >= os.time() then                 player:getPosition():sendMagicEffect(CONST_ME_POFF)                 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'The command can only be run once every ' ..config.executeInterval .. ' hours.')                 return false         end         local members = guild:getMembersOnline()         for i = #members, 1, -1 do                 if members[i]:getLevel() < config.minimumLevel then                         table.remove(members, i)                 end         end         if #members < config.membersNeeded then                 player:getPosition():sendMagicEffect(CONST_ME_POFF)                 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only ' .. #members .. ' guild members online, you need ' ..config.membersNeeded .. ' guild members with level ' .. config.minimumLevel .. ' or higher.')                 return false         end         local ipDictionary, ipCount = {}, 0         for i = 1, #members do                 local ip = members[i]:getIp()                 if not ipDictionary[ip] then                         ipDictionary[ip] = true                         ipCount = ipCount + 1                 end         end         if ipCount < config.minimumDifferentIps then                 player:getPosition():sendMagicEffect(CONST_ME_POFF)                 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Only ' .. ipCount .. ' members are valid, you need ' ..config.minimumDifferentIps .. ' players with different ip addresses.')                 return false         end         local validAccounts = getValidAccounts(guild)         db.query('UPDATE `guilds` SET `last_execute_points` = ' .. (os.time() + config.executeInterval * 3600) .. ' WHERE `guilds`.`id` = ' .. guild:getId() .. ';')         player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, #validAccounts .. ' guild members received points.')         if #validAccounts > 0 then                 db.query('UPDATE `accounts` SET `guild_points` = `guild_points` + ' .. config.pointAmount .. ', `guild_points_stats` = ' .. os.time() .. ' WHERE `id` IN (' .. table.concat(validAccounts, ',') .. ');')                 for i = 1, #members do                         local member = members[i]                         if isInArray(validAccounts, member:getAccountId()) then                                 member:sendTextMessage(MESSAGE_INFO_DESCR, 'You received ' .. config.pointAmount .. ' guild points.')                         end                 end         end         return false end No coder acima bem no inicio tem as linhas seguintes para configurar:

    executeInterval = 24, ( Intervalo para execução do comando, ae está de 24 em 24hrs)
    membersNeeded = 10, (Quantos players é preciso está online para poder executar o comando.)
    minimumDifferentIps = 6, (Quantos IPS diferentes são necessários para executar o comando no exemplo ae tem 6.)
    minimumLevel = 80, (Aqui adicione o level minimo, é necessário que todos os player da guild tenha o level pedido para o lider executar o comando.)
    pointAmount = 9, (Aqui é a quantidade de pontos para adicionar em cada player da guild.)
     
    Em data/globalevents/scripts crie um arquivo chamado shopguild.lua e adicione o code a seguir:
    -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 18 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution)     local result_plr = db.storeQuery("SELECT * FROM z_ots_guildcomunication")     if(result_plr ~= false) then         repeat             local id = tonumber(result.getDataInt(result_plr, "id"))             local action = tostring(result.getDataString(result_plr, "action"))             local delete = tonumber(result.getDataInt(result_plr, "delete_it"))             local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))             if(cid) then                 local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))                 local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))                 local container_id = tonumber(result.getDataInt(result_plr, "param3"))                 local container_count = tonumber(result.getDataInt(result_plr, "param4"))                 local add_item_type = tostring(result.getDataString(result_plr, "param5"))                 local add_item_name = tostring(result.getDataString(result_plr, "param6"))                 local received_item = 0                 local full_weight = 0                 if(add_item_type == 'container') then                     container_weight = getItemWeight(container_id, 1)                     if(isItemRune(itemtogive_id)) then                         items_weight = container_count * getItemWeight(itemtogive_id, 1)                     else                         items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)                     end                     full_weight = items_weight + container_weight                 else                     full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     if(isItemRune(itemtogive_id)) then                         full_weight = getItemWeight(itemtogive_id, 1)                     else                         full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     end                 end                 local free_cap = getPlayerFreeCap(cid)                 if(full_weight <= free_cap) then                     if(add_item_type == 'container') then                         local new_container = doCreateItemEx(container_id, 1)                         local iter = 0                         while(iter ~= container_count) do                             doAddContainerItem(new_container, itemtogive_id, itemtogive_count)                             iter = iter + 1                         end                         received_item = doPlayerAddItemEx(cid, new_container)                     else                         local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)                         received_item = doPlayerAddItemEx(cid, new_item)                     end                     if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')                         db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")                         db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")                     else                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')                     end                 else                     doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '..SQL_interval ..' seconds to get it.')                 end             end         until not result.next(result_plr)         result.free(result_plr)     end     return true end Em data/globalevents/globalevents.xml adicione a seguinte tag:
    <globalevent name="shopguild" interval="300" event="script" value="shopguild.lua"/> Certo, a parte do servidor é esta, ta feita, vamos adicionar a database o coder a seguir:
                      ALTER TABLE `accounts` ADD `guild_points` INTEGER(11) NOT NULL DEFAULT 0;                   ALTER TABLE `accounts` ADD `guild_points_stats` INT NOT NULL DEFAULT '0';                   ALTER TABLE `guilds` ADD `last_execute_points` INT NOT NULL DEFAULT '0';                   CREATE TABLE `z_shopguild_offer` (                         `id` int(11) NOT NULL auto_increment,                         `points` int(11) NOT NULL default '0',                         `itemid1` int(11) NOT NULL default '0',                         `count1` int(11) NOT NULL default '0',                         `itemid2` int(11) NOT NULL default '0',                         `count2` int(11) NOT NULL default '0',                         `offer_type` varchar(255) default NULL,                         `offer_description` text NOT NULL,                         `offer_name` varchar(255) NOT NULL,                         `pid` INT(11) NOT NULL DEFAULT '0',                   PRIMARY KEY (`id`))                   CREATE TABLE `z_shopguild_history_item` (                         `id` int(11) NOT NULL auto_increment,                         `to_name` varchar(255) NOT NULL default '0',                         `to_account` int(11) NOT NULL default '0',                         `from_nick` varchar(255) NOT NULL,                         `from_account` int(11) NOT NULL default '0',                         `price` int(11) NOT NULL default '0',                         `offer_id` int(11) NOT NULL default '0',                         `trans_state` varchar(255) NOT NULL,                         `trans_start` int(11) NOT NULL default '0',                         `trans_real` int(11) NOT NULL default '0',                   PRIMARY KEY (`id`))                   CREATE TABLE `z_shopguild_history_pacc` (                         `id` int(11) NOT NULL auto_increment,                         `to_name` varchar(255) NOT NULL default '0',                         `to_account` int(11) NOT NULL default '0',                         `from_nick` varchar(255) NOT NULL,                         `from_account` int(11) NOT NULL default '0',                         `price` int(11) NOT NULL default '0',                         `pacc_days` int(11) NOT NULL default '0',                         `trans_state` varchar(255) NOT NULL,                         `trans_start` int(11) NOT NULL default '0',                         `trans_real` int(11) NOT NULL default '0',                   PRIMARY KEY (`id`)) CREATE TABLE IF NOT EXISTS `z_ots_guildcomunication` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` varchar(255) NOT NULL,   `type` varchar(255) NOT NULL,   `action` varchar(255) NOT NULL,   `param1` varchar(255) NOT NULL,   `param2` varchar(255) NOT NULL,   `param3` varchar(255) NOT NULL,   `param4` varchar(255) NOT NULL,   `param5` varchar(255) NOT NULL,   `param6` varchar(255) NOT NULL,   `param7` varchar(255) NOT NULL,   `delete_it` int(2) NOT NULL DEFAULT '1',   PRIMARY KEY (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13107; Olha estamos quase finalizando tudo, só precisamos terminar a parte de web.
    O meu GuildShop eu copiei meu shopsystem.php e fiz umas modificações, simples você pode fazer o mesmo é menos trabalhoso.
    Copie o shopsystem.php renomeie para shopguild.php, após abra-o e modifique como manda a seguir:

    shop_system para shopguild_system
    premium_points para guild_points
    premium points para guild points
    z_shop_offer para z_shopguild_offer
    shopsystem para shopguild
    z_shop_history_pacc para z_shopguild_history_pacc
    z_shop_history_item para z_shopguild_history_item
    z_ots_comunication para z_ots_guildcomunication
     
    Ou utilize este já pronto:
    shopguild.php
     
    O shopguildadmin.php está no link abaixo, basta fazer o mesmo procedimento:
    shopguildadmin.php
     
    Em index.php add:
    case "shopguild";    $topic = "Shop Guild";    $subtopic = "shopguild";    include("shopguild.php"); break; case "shopguildadmin";    $topic = "ShopGuild Admin";    $subtopic = "shopguildadmin";    include("shopguildadmin.php"); break; Vá em config.php adicione:
    $config['site']['shopguild_system'] = 1; $config['site']['access_adminguild_panel'] = 9; Vá em layouts.php adicione abaixo de buypoints:
                                    <a href='?subtopic=shopguild'>                                         <div id='submenu_shopguild' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'>                                                 <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>                                                 <div id='ActiveSubmenuItemIcon_shopguild' class='ActiveSubmenuItemIcon'style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>                                                 <div class='SubmenuitemLabel'>Shop Guild</div>                                                 <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>                                         </div>                                 </a> Em layouts.php add depois do shopadmin:
    if($group_id_of_acc_logged >= $config['site']['access_adminguild_panel'])   echo "<a href='?subtopic=shopadmin'>                                    <div id='submenu_shopguildadmin' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'>                                           <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>                                           <div id='ActiveSubmenuItemIcon_shopguildadmin' class='ActiveSubmenuItemIcon'style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div>                                           <div class='SubmenuitemLabel'><font color=red>! ShopGuild Admin !</font></div>                                          <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>                                    </div>                             </a>"; Em shopsystem.php procure por:
          elseif($action == 'show_history') {                 if(!$logged) {                         $main_content .= 'Please login first.';                 } else{                         $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($items_history_received)) {                                 foreach($items_history_received as $item_received) {                                         if($account_logged->getId() == $item_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $item_received['from_account'])                                                 $items_received_text .= '<i>Your account</i>';                                         else                                                 $items_received_text .= $item_received['from_nick'];                                                                                                 $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';                                                                                                                                                                                                         if($item_received['trans_real'] > 0)                                                 $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>';                                         else                                                 $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $items_received_text .= '</tr>';                                 }                         }                         $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccs_history_received)) {                                 foreach($paccs_history_received as $pacc_received) {                                         if($account_logged->getId() == $pacc_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $pacc_received['from_account'])                                                 $paccs_received_text .= '<i>Your account</i>';                                         else                                                 $paccs_received_text .= $pacc_received['from_nick'];                                                 $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>';                                 }                         }                         $main_content .= '<center><h1>Transactions History</h1></center>';                         if(!empty($items_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />';                         if(!empty($paccs_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />';                         if(empty($paccs_received_text) && empty($items_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                 }         } Troque por:
            elseif($action == 'show_history') {                 if(!$logged) {                         $main_content .= 'Please login first.';                 } else{                         $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($items_history_received)) {                                 foreach($items_history_received as $item_received) {                                         if($account_logged->getId() == $item_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $item_received['from_account'])                                                 $items_received_text .= '<i>Your account</i>';                                         else                                                 $items_received_text .= $item_received['from_nick'];                                                                                                 $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.$item_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';                                                                                                                                                                                                         if($item_received['trans_real'] > 0)                                                 $items_received_text .= '<td>'.date("j F Y, H:i:s",$item_received['trans_real']).'</td>';                                         else                                                 $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $items_received_text .= '</tr>';                                 }                         }                         $itemsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($itemsguild_history_received)) {                                 foreach($itemsguild_history_received as $itemguild_received) {                                         if($account_logged->getId() == $itemguild_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $itemsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$itemguild_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $itemguild_received['from_account'])                                                 $itemsguild_received_text .= '<i>Your account</i>';                                         else                                                 $itemsguild_received_text .= $itemguild_received['from_nick'];                                                                                                 $itemsguild_received_text .= '</td><td>'.$itemguild_received['offer_id'].'</td><td>'.$itemguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $itemguild_received['trans_start']).'</td>';                                                                                                                                                                                                         if($itemguild_received['trans_real'] > 0)                                                 $itemsguild_received_text .= '<td>'.date("j F Y, H:i:s",$itemguild_received['trans_real']).'</td>';                                         else                                                 $itemsguild_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';                                                 $itemsguild_received_text .= '</tr>';                                 }                         }                         $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccs_history_received)) {                                 foreach($paccs_history_received as $pacc_received) {                                         if($account_logged->getId() == $pacc_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $pacc_received['from_account'])                                                 $paccs_received_text .= '<i>Your account</i>';                                         else                                                 $paccs_received_text .= $pacc_received['from_nick'];                                                 $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>';                                 }                         }                         $paccsguild_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shopguild_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');                         if(is_object($paccsguild_history_received)) {                                 foreach($paccsguild_history_received as $paccguild_received) {                                         if($account_logged->getId() == $paccguild_received['to_account'])                                                 $char_color = 'green';                                         else                                                 $char_color = 'red';                                                 $paccsguild_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$paccguild_received['to_name'].'</font></td><td>';                                         if($account_logged->getId() == $paccguild_received['from_account'])                                                 $paccsguild_received_text .= '<i>Your account</i>';                                         else                                                 $paccsguild_received_text .= $paccguild_received['from_nick'];                                                 $paccsguild_received_text .= '</td><td>'.$paccguild_received['pacc_days'].' days</td><td>'.$paccguild_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $paccguild_received['trans_real']).'</td></tr>';                                 }                         }                         $main_content .= '<center><h1>Transactions History</h1></center>';                         if(!empty($items_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;ShopServer Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />';                         if(!empty($itemsguild_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font color="white" size="4"><b>&nbsp;ShopGuild Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Cost</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$itemsguild_received_text.'</table><br />';                         if(!empty($paccs_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;ShopServer VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />';                         if(!empty($paccsguild_received_text))                                 $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b>&nbsp;ShopGuild VIP Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccsguild_received_text.'</table><br />';                         if(empty($paccs_received_text) && empty($items_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                         if(empty($paccsguild_received_text) && empty($itemsguild_received_text))                                 $main_content .= 'You did not buy/receive any items or PACC.';                 }         } Finalmente terminamos!
    Bom todo esse processo é feito só para facilitar tudo pra você e o player e pra diferenciar o Shop System do Shop Guild, porque um sustenta as despesas do server e o outro atrai player, porque pra ter player é preciso ter player.

    Galera acredito que não esteja faltando nada, espero que gostem e tudo que eu poder fazer para nossas melhoras estarei postando, me desculpem meu erros de português mais o que importa aqui é o script está correto, abraços!


    Créditos:
    Natanael Beckman
     
    Não proíbo ninguém de copia o tópico só peço que onde você adicione os créditos mencionados.
  12. Gostei
    Droox recebeu reputação de Shurck em [10.90] Vanaheim Global Opensource - TFS 1.2   
    Não por isso irmão! 
     
    Da um REP+ ai pra nois!
  13. Gostei
    Droox recebeu reputação de rodrygosos em [10.90] Vanaheim Global Opensource - TFS 1.2   
    Não por isso irmão! 
     
    Da um REP+ ai pra nois!
  14. Gostei
    Droox deu reputação a Wakon em MageBot Scripts/Hotkeys   
    Fala ai pessoal, estou trazendo a vocês alguns script's para o MageBot, pra que não sabe o que é ou como ativar, olha esse tópico:
    http://www.tibiaking.com/forum/topic/53015-utilizando-scripts-no-magebot/
    Vamos lá, para instalar você deve ir na pasta do MageBot e criar um arquivo com extensão .lua e o nome desejado, caso não consiga apenas copie e cole um arquivo .lua e renomeie ( um exemplo é runemaker.lua ) depois de jogar na pasta é só ativar seguindo o tutorial que eu passei e lembrar-se de apertar F10 (para atualizar) caso adicione um novo script enquanto já usa outros.
     
    Scripts:
    [Auto SoftBoots] --
    Equipa soft boots com % de mana configurável e equipa a boots of haste com % de mana configurável.



     

    [Auto EnergyRing] --
    Equipa energy ring com % de vida configurável e retira energy ring com % de vida configurável.



     

    [ManaTrainer] --
    Solta spell com % de mana configurável:



     

    [AutoUtitoTempo] -- Script tá bem mal feito ainda, estou explorando as funções para melhorar ele.
    Solta utito tempo a cada 10 segundos com a mana configurada.



     

    Lembrando que os arquivos podem conter qual quer nome, porém tem que ser .LUA e as explicações de como editar cada coisa está nos próprios script's.
     
    Bom é isso, estou explorando as funções e caso eu consiga criar algo novo eu posto aqui.
     
    Créditos: Lopht -- Funções e bases.
  15. Gostei
    Droox deu reputação a Switz em Nova Pagina Guilds.php   
    Bom pessoal, como eu vi que ninguém quer compartilhar as páginas "modernizadas" do Tibia, eu decidi fazer por conta própria, ainda não esta completa, e é provável que eu poste ela com o resto de um Gesior que estou fazendo inteiro nesse tema moderno.
    Quero criticas construtivas e caso tenham gostado, reputem o post.
    *As páginas não idênticas a do tibia.com, até porque em algumas tem recursos e funções que foram acrescentados e estão adaptados para facilitar na utilização.
     
    **CLIQUE NAS IMAGENS PARA AMPLIÁ-LAS**
     
    Vamos Começar Pelas Páginas Show All e Show Online


     
    Paginas Publicas



     
    Agora as paginas Join e Leave Guild


     
    Agora as paginas que os lideres e vice-lideres terão acesso


     
    Agora as paginas que apenas os donos terão acesso




  16. Gostei
    Droox deu reputação a Caronte em (Resolvido)[SCRIPT] Porta após fazer quest!   
    Não mexi na sua gambiarra:
    local str = 2215 -- storage function onUse(cid, item, frompos, item2, topos) local pos = getCreaturePosition(cid) if getPlayerStorageValue(cid, str) < 1 then return doPlayerSendCancel(cid, "Voce precisa terminar anihilator quest!") end if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y + 1 else pos.y = topos.y - 1 end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x + 1 else pos.x = topos.x - 1 end else doPlayerSendCancel(cid, "Fique em frente a porta.") return true end doTeleportThing(cid, pos) doSendMagicEffect(topos, CONST_ME_MAGIC_BLUE) return true end
  17. Gostei
    Droox deu reputação a Wakon em (Resolvido)[NPC] Retirando a missão!   
    Jack Fate LB:



    Jack FateGoroma:



  18. Gostei
    actions/scripts/stamina_refiller.lua
     



     
    Espero ter ajudado.
  19. Gostei
    talkactions/scripts/addondoll.lua
     




     
    talkactions/scripts/mountdoll.lua
     



     
    Jaja tento o stamina refiller ... 
  20. Gostei
    Droox deu reputação a Wakon em (Resolvido)[NPC] Retirando a missão!   
    Se der algum problema, me avise .
    Captain Waverider.lua:



  21. Gostei
    Droox deu reputação a arthur122222 em (Resolvido)Retirar missões de quests!   
    Altere o que tem dentro desta script por isso:
     
    local mechanisms = { [3091] = {pos = {x = 32744, y = 31161, z = 5}, value = 21}, -- Alchemist [3092] = {pos = {x = 32744, y = 31164, z = 5}, value = 21}, [3093] = {pos = {x = 32833, y = 31269, z = 5}, value = 24}, -- Trade [3094] = {pos = {x = 32833, y = 31266, z = 5}, value = 24}, [3095] = {pos = {x = 32729, y = 31200, z = 5}, value = 29}, -- Arena [3096] = {pos = {x = 32734, y = 31200, z = 5}, value = 29}, [3097] = {pos = {x = 32776, y = 31141, z = 5}, value = 35}, -- Cemetery [3098] = {pos = {x = 32776, y = 31145, z = 5}, value = 35}, [3099] = {pos = {x = 32874, y = 31202, z = 5}, value = 41}, -- Sunken [3100] = {pos = {x = 32869, y = 31202, z = 5}, value = 41}, [3101] = {pos = {x = 32854, y = 31251, z = 5}, value = 45}, -- Factory [3102] = {pos = {x = 32856, y = 31248, z = 5}, value = 45} }   local mechanisms2 = { [9235] = {pos = {x = 32773, y = 31116, z = 7}}, [9236] = {pos = {x = 32780, y = 31115, z = 7}} }   function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if(mechanisms[item.uid]) then --if(player:getStorageValue(30) >= mechanisms[item.uid].value) then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(mechanisms[item.uid].pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) --else --player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The gate mechanism won't move. You probably have to find a way around until you figure out how to operate the gate.") --end elseif(mechanisms2[item.uid]) then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(mechanisms2[item.uid].pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end return true end
  22. Gostei
    Droox recebeu reputação de macaco3d em COMO TROCAR SOFT QUANDO ACABAR   
    +REP
     
    Ty cara!
  23. Gostei
    Droox deu reputação a Luacasado em COMO TROCAR SOFT QUANDO ACABAR   
    Cara esse e a Ultima vez q vou postar algo se pra cada Download nao have um +REP eu paro de postar tudo aqui :@@
     
     
     
    Faramir_TibiaAuto_AutoSoftBoots.rar

Informação Importante

Confirmação de Termo