Ir para conteúdo

Cat

Héroi
  • Registro em

  • Última visita

Tudo que Cat postou

  1. Vá em data/actions/scripts e cria um arquivo.lua nomeado changegold.lua function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == ITEM_GOLD_COIN and item.type == ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, ITEM_PLATINUM_COIN, 1) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE) elseif item.itemid == ITEM_PLATINUM_COIN and item.type == ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, ITEM_CRYSTAL_COIN, 1) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_TEAL) elseif item.itemid == ITEM_PLATINUM_COIN and item.type < ITEMCOUNT_MAX then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, ITEM_GOLD_COIN, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_YELLOW) elseif item.itemid == ITEM_CRYSTAL_COIN then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, ITEM_PLATINUM_COIN, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE) else return FALSE end return TRUE end Agora vá em data/actions/actions.xml e adicione essa linha antes de </actions> <!-- Gold / platinum / ccrystal --> <action itemid="2148" script="changegold.lua"/> <action itemid="2152" script="changegold.lua"/> <action itemid="2160" script="changegold.lua"/> Se quiser adicionar outra moeda, pode usar esse código que eu uso: Você terá que trocar os X pelos ids das moedas, exemplo: X1 - ID DA MOEDA 1, GOLD COIN... X2 - ID DA MOEDA 2, PLATINUM COIN... X3 ... X4 ... X5 ... Mas se for criar uma nova moeda me avise, é preciso fazer outra configuração em items.xml, além disso você precisa adicionar os ids das moedas novas que colocar aqui no actions.xml, exatamente como os três IDS que eu passei pra você ali em cima. local coins = { [X1] = {to = X2}, [X2] = {to = X3, from = X1}, [X3] = {to = X4, from = X2}, [X4] = {to = X5, from = X3}, [X5] = {from = X4}, } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local coin = coins[item.itemid] if(not coin) then return false end if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, coin.to, 1) elseif(coin.from ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX) end return true end
  2. Mas agora vamos falar sobre o sistema. O Tibia King permite que você apareça em uma plataforma em destaque no menu classificados, oferecendo seus "serviços". Depois que você consegue o contato do cliente interessado, fora dó fórum você vende o que quiser meu amigo. Quase todo mundo ganha, Inclusive o site que diz que apoia uma coisa mas faz outra. Ou seja, o Tibia King diz que você não pode vender MAPA nem DATAPACK. Mas permite você aparecer em destaque anunciando que faz serviços de DATAPACK e MAPA. ÓBVIO que não é a mesma coisa que vender um produto, mas convenhamos que é a mesma coisa. As pessoas estão parando de desenvolver coisas, pra anunciar seus "SERVIÇOS", pra dai então desenvolver coisas, só que pra vender.
  3. Essas são as regras atuais: ... Somente serão permitidas vendas de conteúdos criados pelo próprio autor, não sendo permitidas a venda de data-packs, mapas completos (ou do próprio Tibia), websites, sources ou qualquer outro conteúdo vinculado a terceiros; ...
  4. Cat postou uma resposta no tópico em Suporte & Pedidos
    Ta ficando fera, os detalhes estão bons, não tem do que reclamar com exceção do formato caracol e o topo da montanha. Você precisa explorar mais a paleta e conhecer as possibilidades de dealhes que pode utilizar, da uma estudada em raw - others, raw - exterior, raw - nature, raw - architecture
  5. é limita sim, testei com otclient e funcionou de boas com excessão da hp em %. Acho que o que mais buga é o cap, hp e mp, ao por acima do level máximo. eu joguei um OT chamado rozinx, lá era possível pegar 10kk com life 500kk+, usando client normal. Tem ideia de como o admin pode ter feito essa alteração cara? Mas não quero desviar o assunto do tópico, o @.Foxxy tentou me ajudar também mas eu já me conformei que não vai ser tão fácil
  6. 3 = é o monstro que será atacado, significa que ali é a parte central dos efeitos 2 = se eu não me engano é o player, pra spells tipo exevo mas san 1 = area atingida pelo effect 0 = area ignorada
  7. @Sttorm Ele quer que a pedra ative o atributo 3x3 ao usá-la em qualquer sword, club, axe, arrow, bolt, wand ou rod. Ou seja qualquer item de ataque que você de "use with" ativará o atributo x3, que pode ser removido usando a pedra na weapon novamente. local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } ) Eu sinceramente acho mais prático e mais legal fazer por tempo de duração, por que não faria sentido você gastar uma pedra energizada pra tornar uma arma mais mágica, e depois usar mais uma pedra energizada pra tornar uma arma menos mágica. O que aconteceria com essa pedra então? Ela ficaria energizada em dobro? aohriueeasdouhaiasie (nem sei que pedra vai ser usada) Bom foi isso que eu entendi. Eu não sei mais como ajudar, está nas mãos da tempestade. Boa sorte com o sistema @Zzyzx
  8. @Fir3element Poderia liberar essa versão com exp/hp/mp/cap/skills expandidos pra galera né? A não ser que isso abra um leque de outros bugs, eu acho que daria muito mais recurso pra surgirem novos tipos de ots. É só uma sugestão, nem sei se é viável, eu to tentando fazer no meu projeto e ta sendo complicado, the bug atrás de thebug. Acredito que o client do Tibia tenha algum limite ou esquema pra evitar player abuse
  9. Cat postou uma resposta no tópico em Suporte Tibia OTServer
    Comprar um caderno de desenho e paciência. Muita paciência e tempo. Eu levei 1 ano para fazer Amazonia, um continente enorme que abrange dezenas de temáticas de nature em um mesmo espaço (do tamanho de uma edron por exemplo) Acho que você deveria focar em construir uma cidade RPG simples e uma area ao redor dela consideravelmente pequena, e a partir disso ir expandindo. Por que é muito fácil se perdeer em um mapa grande, ou desanimar completamente, ou não saber o que fazer. E acredite, todos passamos por isso...
  10. O sttorm resolveu. Meu método não precisaria baixar client, uma vez que a sprite duplicada ja existe no utilizado pelos players. O que mudaria seria um id/item novo cadastrado no items.xml
  11. Da pra copiar o sistema de encantamento de armas do tibia. Talvez baixar um items.otb editor e duplicar as sprites das armas, dai quando usa a pedra nelas se transformam em outro id (mesma sprite) por um tempo configurável, depois volta pro id original. Esse id duplicado seria a arma em 3x3. (outro script) exemplo: Por tempo de duração actions/scripts/triweapon Se volta ao normal usando a pedra nela: actions/scripts/triweaponback Tempo de duração: creaturescripts/login.lua items/items.xml Dano 3x3 weapons/scripts/triweapon01 (com critical) Não é bem a solução pro seu problema, até por que essa weapon com critical tem um dano diferente. Mas ta ai uma opção caso você não consiga o código 100% do sistema.
  12. Esse código vai dar 1 cc após 1 hora online e 2 cc após duas horas online. É só configurar ali no início: creaturescripts/scripts/onreward -- made by static -- local items = { [1] = { itemid = 2160, count = 1, }, [2] = { itemid = 2160, count = 2 } } local events = {} local function addReward(cid, rewardId) if not isPlayer(cid) then return end local item = items[rewardId or #items] doPlayerAddItem(cid, item.itemid, item.count) events[cid] = addEvent(addReward, 60 * 60 * 1000, cid, rewardId + 1) end function onLogin(cid) events[cid] = addEvent(addReward, 60 * 60 * 1000, cid, 1) return true end function onLogout(cid) if events[cid] then stopEvent(events[cid]) events[cid] = nil end return true end creaturescripts/scripts/login.lua registerCreatureEvent(cid, "itemLogin") registerCreatureEvent(cid, "itemLogout") creaturescripts/creaturescripts.xml <event type="login" name="itemLogin" event="script" value="onreward.lua"/> <event type="logout" name="itemLogout" event="script" value="onreward.lua"/>
  13. Reforço o tópico, também estou precisando dessa atualização. Agradecerei muito se alguém tiver a boa vontade!
  14. Cat postou uma resposta no tópico em Suporte Tibia OTServer
    Você precisa suavizar a transição para então focar nos detalhes. E só por que tem um relevo menor no meio, o que indica sujeira, pisoteamento ou entropia não significa que não deva ter os mesmos detalhes no restante do cenário. Dicas de aperfeiçoamento de detalhes: Grass tufts 1 e 2 (os menores) são excepcionais para usar na transição, podendo ter deles em todos os lugares, porém em maior quantidade na grama em menor nos demais locais. Debris é o detalhe que mais aplica acabamento em um mapa, se você souber usar moderadamente nem é preciso exagerar em outros detalhes. Deve ter pelo menos 1% de natureza viva na natureza morta, e vice-versa. Dica de aperfeiçoamento por seleção de ground id: Coloque ground de forma manual em locais onde quer que os detalhes sejam exibidos de forma mais exótica, veja a diferença:
  15. Cat postou uma resposta no tópico em Suporte Tibia OTServer
    hmm acho que isso já resolve, o que acha?
  16. Cat postou uma resposta no tópico em Mapping Show Off
    Mapa Ilha desenvolvido para projeto (evento batata quente)
  17. @Juuniiioor Em RAW - BORDERS, você encontrará a maioria das bordas existentes. Pode ser que tenham outras em RAW - OTHERS Você também pode clicar na borda que já está no mapa com o botão direito e ir em Select RAW
  18. Disponha. Se a dúvida foi resolvida clique no botão definir como melhor resposta, isso ajudará outros membros a encontrar a resolução mais facilmente. O botão fica à esquerda do nome:
  19. eu nao sei se corrompeu mesmo ou é conflito de itens.otb tenta por o itens.otb da outra versão na pasta da versão anterior, so pra ver o que acontece mas esse tipo de erro é fodido eu ja perdi mapas que corromperam por que a luz caiu, etc..
  20. parece que corrompeu o arquivo não consegue nem por import?
  21. Cada sistema desses tem mil possibilidades de fazê-lo de forma diferenciada, você se refere ao fato de estarmos limitados ao TFS? Eu acho que a sua pergunta pode ser respondida, existem ots completos. Mas reformulando ela, existem ots completos, diferenciados e open source disponíveis para a comunidade?
  22. Cat postou uma resposta no tópico em Suporte & Pedidos
    Deu um diferencial, mas você não precisa prender as bordas de grass morta às de grass comum, a grass comum pode e deve entrar em contato com a de terra também. Trabalhe mais as bordas, usando as tecnicas de sobreposição que eu mostrei nas imagens. Também pode por mais grass tufts (nao muitos) e areia marrom na terra
  23. Cat postou uma resposta no tópico em Suporte & Pedidos
    + Adicione mais desses pelo mapa, longe um do outro, pode usar outros ids de arvores ++ Esse id ajuda na hora de preencher espaços com nature, e tem mais variações (pontuda, com frutinhas, etc) x Remova ou coloque em outro lugar -> Junte esse tipo de matinho com os outros em ++ e adicione mais dele rosa estes espaços podem ser preenchidos com outro ground, seja de pedra com a grana cobrindo, de terra ou grama morta -
  24. Boa tarde @alls -- A ferramenta de import do Remere's Map Editor (file -> import -> import map) vai posicionar as partes do mapa na posição em que elas estavam + os valores X e Y de offset. Se você importar um mapa que está na posição x1000, y2000 e atribuir em offset os valores x3000,y3000 - o mapa será adicionado em x4000,y5000. -- Você também pode usar valores negativos (x-3000,y-3000) em Offset para mudar a direção de X e Y. -- Para verificar/alterar as dimensões do seu mapa use Map - Properties (ctrl + p)
  25. Não tinha percebido, obrigado por avisar. Corrigido: local coin = 2148 -- id da primeira moeda local coin2 = 2160 -- id da segunda moeda local eff = 28 -- efeito mágico ao comprar o item local lever = { [7017] = {50, 50, 10522} -- [actionid] = {quantidade da moeda 1, quantidade da moeda 2, id do item a comprar} } function onUse(cid,item,fromPosition,itemEx,toPosition) if getPlayerItemCount(cid, coin) >= (lever[item.actionid][1]) and getPlayerItemCount(cid, coin2) >= (lever[item.actionid][2]) then doPlayerRemoveItem(cid,coin,lever[item.actionid][1]) doPlayerRemoveItem(cid,coin2,lever[item.actionid][2]) doPlayerAddItem(cid,lever[item.actionid][3], isItemStackable(lever[item.actionid][3]) and 1) doPlayerSendTextMessage(cid,22,"Voce comprou " .. getItemNameById(lever[item.actionid][3]) .." por "..lever[item.actionid][1].." " ..getItemNameById(coin).. " e "..lever[item.actionid][2].." " ..getItemNameById(coin2)) doSendMagicEffect(getCreaturePosition(cid), config.eff) else return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sao necessarios "..lever[item.actionid][1].." " ..getItemNameById(coin).. " e "..lever[item.actionid][2].." " ..getItemNameById(coin2).. " para realizar esta compra.") end end

Informação Importante

Confirmação de Termo