Ir para conteúdo

Bruno Minervino

Membro
  • Registro em

  • Última visita

Tudo que Bruno Minervino postou

  1. Rode essa query no seu banco: CREATE TABLE `global_storage` ( `key` INT UNSIGNED NOT NULL, `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0, `value` VARCHAR(255) NOT NULL DEFAULT '0', UNIQUE (`key`, `world_id`) ) ENGINE = InnoDB;
  2. Bruno Minervino postou uma resposta no tópico em Eventos de Mapping
    Minha opinião é a mesma no Wolf, achei que dessa vez faltou criatividade de ambas as partes, Mais a julgas pelos dois trabalhos, o mapa 1 está mais detalhado e com maior foque para o lado do RPG, portando voto no mapa 1!
  3. Para você que está começando, pode tentar usar a Digital Ocean. Lá você credita sua conta e paga somente os dias que usar, podendo salvar suas configurações em "imagens", depois excluir o servidor para não gerar custos, ai quando for usar novamente, é só criar um outro a partir de suas "imagens" que ele virá com as mesmas configurações.
  4. Ótima contribuição amigo, muito obrigado. Isso vai ajudar muita gente a criar Forms personalizadas... Abraço!
  5. Português : Obrigado meus amigos, mais "imagens" em breve English : Here you will learn to speak Portuguese haha I'm waiting for more screens Português : Aqui você vai aprender a falar Português haha Estou aguardando por mais imagens
  6. Hello Simon, nice to see you here. You're a very talented mapper, congrats. I hope you can share some of their work with us See you!
  7. Editei o post principal... !sellhouse nome <- vende a house !leavehouse <- sai da house Tenta assim...
  8. Amigo, você já tinha outro tópico: http://www.tibiaking.com/forum/topic/52399-sistema-de-casa Não é abrindo vários tópicos que você vai ter resolução no seu problema. Vá em data/talkactions/scripts e crie um arquivo chamado leavehouse.lua com este conteúdo: function onSay(cid, words, param, channel) local house = getHouseFromPos(getCreaturePosition(cid)) if(not house) then doPlayerSendCancel(cid, "You are not inside a house.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end local owner = getHouseInfo(house).owner if(owner ~= getPlayerGUID(cid) and (owner ~= getPlayerGuildId(cid) or getPlayerGuildLevel(cid) ~= GUILDLEVEL_LEADER)) then doPlayerSendCancel(cid, "You are not the owner of this house.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end setHouseOwner(house, 0) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You went out of your house.') return true end Agora em data/talkactions adicione a seguinte linha em talkactions.xml: <talkaction words="!sellhouse" filter="word-spaced" event="function" value="houseSell"/> <talkaction words="!leavehouse" event="script" value="leavehouse.lua"/> Pronto, agora basta o player usar !leavehouse dentro da house.
  9. 2.19 - Moderação secundária não será tolerada: Mensagens como "Ei, esse tópico está na área errada", "Organize seu tópico, está uma bagunça!", só podem ser usadas pelos membros de nossa equipe, caso contrário, esse tipo de ação será considerada flood, já que a correções desse nicho não cabem aos membros e, portanto, caracteriza como desvio do assunto principal do tópico. Cuidado com a moderação secundária, para isso existe um botão "Relatar para a equipe!".
  10. otservme, como você está falando em nome da Server Soft e o tópico refere-se a mesma, gostaria apenas de deixar esclarecido: "A Server Soft libera o acesso root nos seus serviços ou são usuários criados no sistema com determinadas permissões?" Obrigado.
  11. Olha, estou vendo no seu console apresentando apenas o erro no primeiro, que é o crystal arrow.lua. Mais o erro não está no script e sim está falando que o item não existe. O meu tinha um outro errinho, que como copiei do script antigo, não me atentei. Já corrigi no meu script... Att.
  12. Bruno Minervino postou uma resposta no tópico em Suporte & Pedidos
    Eu acho uma excelente notícia, é realmente o que deve acontecer com quem pratica esses atos. Porém, eu fico desanimado pelo fato de estarmos no Brasil, esta é apenas "mais uma" lei entrando em vigor. O problema não está na lei e sim em quem as aplica. Pois se fossem TODAS as leis a serem levadas a sério, garanto que estaríamos vivendo em um país de primeiro mundo.
  13. @loreal, local config = { showGamemasters = getBooleanFromString(getConfigValue('displayGamemastersWithOnlineCommand')) } function onSay(cid, words, param, channel) local strings, i, position, added = {""}, 1, 1, false for _, pid in ipairs(getPlayersOnline()) do if(added) then if(i > (position * 7)) then strings[position] = strings[position] .. "," position = position + 1 strings[position] = "" else strings[position] = i == 1 and "" or strings[position] .. ", " end end added = false if((config.showGamemasters or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES) or not getPlayerCustomFlagValue(pid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) and (not isPlayerGhost(pid) or getPlayerGhostAccess(cid) >= getPlayerGhostAccess(pid))) then strings[position] = strings[position] .. getCreatureName(pid) i = i + 1 added = true end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player" .. ((i - 1) > 1 and "s" or "") .. " Online:") for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Total: " .. (i - 1) .. " player" .. ((i - 1) > 1 and "s" or "") .. " online.") return true end
  14. Sim está Se o problema foi resolvido clica como melhor resposta para encerrar o tópico
  15. @Loldinis, Como havia lhe prometido function onStepIn(cid, item, position, fromPosition) local config = { pos = {x= 160, y= 54, z= 7}, -- POS pra ser teleportado itemid = 2471, -- Item que vai ganhar qtditem = 1 , --Quantidade que do item que vai ganhar storage = 98754, itemremove = 2160, -- Item que o player deve possuir para passar qtditemremove = 50 -- Quantidade do item que deve possuir } if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, config.storage) < 1 then if doPlayerRemoveItem(cid, config.itemremove, config.qtditemremove) then if getPlayerFreeCap(cid) >= getItemWeight(config.itemid, config.qtditem) then doTeleportThing(cid, config.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doPlayerAddItem(cid, config.itemid, config.qtditem) setPlayerStorageValue(cid, config.storage, 1) else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "You need weight to carry this item. It weighs "..getItemWeight(config.itemid, config.qtditem).." oz.") end else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "You need " .. config.qtditemremove .. "x " .. getItemNameById(config.itemremove) .. " to enter.") end else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "You already done this quest.") end return true end
  16. Já editei, pode pegar no meu post.
  17. Can you send more details about this system?
  18. Por nada... Como estou saindo do trabalho agora, não dá mais tempo. Quando eu chegar em casa faço para você mensagens de erro, para o player que for entrar no teleport estar ciente do que tenha dado errado eventualmente. Att.
  19. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) local config = { pos = {x= 160, y= 54, z= 7}, -- POS pra ser teleportado itemid = 2471, -- Item que vai ganhar qtditem = 1 , --Quantidade que do item que vai ganhar storage = 98754, itemremove = 2160, -- Item que o player deve possuir para passar qtditemremove = 50 -- Quantidade do item que deve possuir } if isPlayer(cid) and getPlayerStorageValue(cid, config.storage) < 1 and getPlayerFreeCap(cid) >= getItemWeight(config.itemid, 1) and doPlayerRemoveItem(cid, config.itemremove, config.qtditemremove) then doTeleportThing(cid, config.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doPlayerAddItem(cid, config.itemid, config.qtditem) setPlayerStorageValye(cid, config.storage, 1) else doTeleportThing(cid, fromPosition) end return true end Também coloquei outra variável para determinar a quantidade do item a ser entregue ao jogador.
  20. Basta você alterar o doSendMagicEffect(getPlayerPosition(cid), 66)... 66 é o valor do efeito. Você pode testar os efeitos com o comando /z até encontrar o efeito que deseja. Exemplo: /z 35
  21. kkkkk vlw man, Na parte de otserv sempre mexi com scripts também, comecei a entrar nas sources depois de um tempo e achei muito banaca! De lembrar daquele primeiro sistema de reset do Skyen, que alterava as sources *-* bons tempos
  22. @loreal, Olha, peguei o que já existe e tentei deixar como você quer, como estou no trabalho não posso testar. Qualquer bug por favor poste uma print. local useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) function onSay(cid, words, param, channel) if(not useFragHandler) then return false end local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = { name = result:getDataString("name"), level = result:getDataInt("level"), date = result:getDataInt("date") } if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month), dayred = getConfigValue('fragsToRedSkull'), dayblack = getConfigValue('fragsToBlackSkull'), weekred = getConfigValue('fragsSecondToRedSkull'), weekblack = getConfigValue('fragsSecondToBlackSkull'), monthred = getConfigValue('fragsThirdToRedSkull'), monthblack = getConfigValue('fragsThirdToBlackSkull') } doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Day: " .. size.day .. " (red skull: " .. size.dayred .." / black skull: " .. size.dayblack .. ")") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Week: " .. size.week .. " (red skull: " .. size.weekred .. " / black skull: " .. size.weekblack .. ")") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Month: " .. size.month .. " (red skull: " .. size.monthred .. " / black skull: " .. size.monthblack .. ")") local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end return true end Abraço!
  23. Vai na opção "Find Item" do RME e procura pelo ID 2589

Informação Importante

Confirmação de Termo