Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    111

Tudo que Vodkart postou

  1. obg por trazer conteúdo, só uma dica, poderia encurtar seu código usando tabela, exemplo: local t = { [4036] = {town = 1, name = "Saffron"}, [4037] = {town = 2, name = "Cerulean"}, [4038] = {town = 3, name = "Cidade 3"}, } function onStepIn(cid, item, pos) if not isPlayer(cid) then return true end if t[item.actionid] then doSendMagicEffect(getPlayerPosition(cid), 14) doPlayerSendTextMessage(cid,24,"Você virou morador de "..t[item.actionid].name..".") doPlayerSetTown(cid, t[item.actionid].town) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end return true end
  2. eu entendi, caso o jogador logue e tenha algum desse item da lista, o item é usado automaticamente(como se fosse um action) e remove o item. mas se ele tiver todos os itens dessa lista, vai usar todos?? ou 1 por vez??
  3. local config = { ["citizen"] = { Male_Female = {128,136}, -- O Looktype Male, Female que vai ser vendida itemid_count = {2160,5}, -- id do item, quantidade do item que sera removido storage = 30190 -- uma storage não utilizada }, ["barbarian"] = { Male_Female = {143,147}, itemid_count = {2160,5}, storage = 30191 } } function onSay(cid, words, param) if param == "" then doPlayerSendTextMessage(cid, 22, "Digite o nome do outfit a ser comprado.") return true end local param = param:lower() if not outfit[param] then doPlayerSendTextMessage(cid, 22, "Outfit nao encontrado.") return true end local t = outfit[param] if getPlayerStorageValue(cid, t.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Desculpe voce ja comprou esse outift.") return true elseif not doPlayerRemoveItem(cid, t.itemid_count[1], t.itemid_count[2]) then doPlayerSendTextMessage(cid, 22, "Voce nao tem dinheiro suficiente.") return true end doPlayerAddOutfit(cid, getPlayerSex(cid) == 1 and t.Male_Female[1] or t.Male_Female[2], 1) setPlayerStorageValue(cid, t.storage, 1) doPlayerSendTextMessage(cid, 22, "Voce comprou a outfit "..param) return true end
  4. Precisamos de mapper experiente e um WEB MASTER Introdução em pdf do projeto: https://drive.google.com/file/d/0B_EVTnZYHOnjdEFJc1d1OUdkaFU/view?usp=sharing
  5. Conforme o andamento do projeto eu vou dando noticias! @UP já mandei o convite pelo skype
  6. Introdução ao Projeto em pdf: https://drive.google.com/file/d/0B_EVTnZYHOnjdEFJc1d1OUdkaFU/view?usp=sharing Fala pessoal, estamos desenvolvendo um novo projeto de OTServe na versão 10.77 voltado ao RPG onde diversão é indispensável. Criaremos diversos eventos e sistemas únicos para que seja um servidor dinâmico em que os players sintam aquela vontade de jogar cada vez mais, não a mesmice de todo serve, que só se upa e upa e não tem mais graça. Estamos abrindo Vagas para: [*1*] Mapper [*1*] Web Master *Caso deseje se candidatar para a equipe, favor preencher o seguinte formulário abaixo: Nome: Idade: Função pretendida: Formas de contato - Facebook/Skype: Porque você quer fazer parte do projeto?: Quanto tempo de experiência você tem no seu ramo?: Caso tenha algum trabalho feito/postado favor anexar o link ou imagem.
  7. entendi, bem bonitos mesmo, não sabia que vc mexia com esse tipo de coisa, leva bastante jeito '-' parabéns! mas não teria como fazer em outro designer? por exemplo um desse: ou com logo do xtibia é claro
  8. não tem como fazer um designer diferente para a separação?? em uma cor azul ou verde por exemplo.
  9. não sei porque criar em mods se é apenas um código, geralmente só se usa MODS para abrigar e compactar mais de um código para o mesmo script
  10. não vai funcionar, falta o onLogin para checar a condition... falando nisso os créditos não são dele, são de outra pessoa, até porque essa mesma talk já existe no fórum.
  11. achei bem interessante esse sistema de evolução! parabéns só não achei muito bonito a imagem da separação de tópicos, mas é uma opinião minha :3
  12. adc na sua lib function getRankStorage(cid, value, max, RankName) -- by vodka local str ="" str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n" local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > max then break end str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str) end dps só usar assim em uma talk: getRankStorage(cid, 543995, 10, "Rank Boss")
  13. function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["noblewoman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={336} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={335}, ["wayfarer"]={366} } local msg = {"Command requires GOOD param!", "You dont have Addon Doll!", "Bad param! exemple: !addon first,mage", "Full Addon Set sucesfully added!"} local x = string.explode(param:lower(), ",") if(getPlayerItemCount(cid, 9693) > 0) then if param ~= "" then if (x[1] == "first" or x[1] == "second") and maleOutfits[x[2]] and femaleOutfits[x[2]] then doPlayerRemoveItem(cid, 9693, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerAddOutfit(cid, getPlayerSex(cid) == 0 and femaleOutfits[x[2]][1] or maleOutfits[x[2]][1], x[1] == "first" and 1 or 2) else doPlayerSendTextMessage(cid, 27, msg[3]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end return true end
  14. beleza, obrigado por criar esse tópico com todos os requisitos que pedi. o código é simples e está 90% pronto, assim que eu testar vou postar ok? estou fazendo para servidores 8.6 tfs normal postarei amanha talvez, pois estou de saída e só volto amanha de manha/tarde,
  15. passa o teu pq vc n pode receber mais msgs
  16. tb já fiz um parecido uma vez, era mais ou menos assim: function traduzir(text, traduz) return string.gsub(text, "%a", traduz) end local words = { ["o"] = "a", ["m"] = "n", } local x = traduzir("é um menino", words) print(x) --> retorna 'é un nenina' -------------- outro exemplo útil City_Name = "City is: <nome>" local x = City_Name:gsub("<nome>","Venore") print(x)
  17. Vodkart

    IceWars Baiak

    está bem bonito o mapa, adoro baiak... vou baixar! obrigado por disponibilizar
  18. Ok... então refaça seu pedido novamente e especifique TODO o evento, começando pela torre, horario de funcionamento do sistema, se o monstro vai morrer por quem da mais dmg ou pelo last hit... ou até msm da pra fazer somando qual guild tirou mais dano do boss, etc... TUDO! pense e dps peça o seu sistema... pode ser?
  19. ah ta são por city?? digamos que ganha a city quem mais mais torres?? é isso?? ou cada torre é uma city?? e como vc vai adc storage pra guild?? quem deu o last hit ou quem tirou mais dano?? sistema envolve bastante coisa
  20. só colocar uma globalstorage para guildID ou guildName function setRateGuildExp(GuildID, rate) return setGlobalStorageValue(GuildID, rate) end function getRateGuildExp(GuildID) return getGlobalStorageValue(GuildID) <= 0 and 0 or getGlobalStorageValue(GuildID) end local MyGuild = getPlayerGuildId(cid) -- pega o id da guild cid setRateGuildExp(MyGuild, getRateGuildExp(MyGuild)+1) -- qndo vc matar um monstro soma 1+ getRateGuildExp(MyGuild) -- pega o rate e adc o rate essa function * 5 ---------------------------- mas só ganha exp adicional quem matar mais torre?? ou se minha guild matar 5 e a outra matar 3 a minha ganha 25% e a outra ganha 15%?
  21. é simples, põe para cada monstro q matar a guild ganhar uma storage... por exemplo eu da guild "Hunter" matei 4 torre... então 4*5 = 20%
  22. fiz um movements para mudar a direção dos monstro de acordo com o item.actionid do piso onde eles estão... já que era uma área pré programada para treiners...
  • Quem Está Navegando   0 membros estão online

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