Tudo que Zanrix postou
-
Ideias para um sistema de Guild Level
Então, estou fazendo um sistema de level para as guilds no meu servidor e tô tentando pensar em algumas ideias pro sistema. O servidor é totalmente focado em RPG. Por enquanto o que pensei: - Você pode "setar" uma porcentagem da sua própria experiência (de 0% a 5%) que será atribuída para sua guild (e cada guild pode ter sua própria regra sobre quanto um jogador deveria compartilhar). - Sua guild pode ter mais membros conforme o level dela. - Sua guild pode comprar Guild Houses maiores dependendo do seu level. Gostaria de criticas e sugestões! ?
-
DUAL Igual do THOT
Não tenho certeza se funciona com spear/wands, mas se funciona esse é o script: local function isWeapon(uid) uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 or f == 7 or f == 4 then return true end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 0 or item.itemid == 0 then return false end if isCreature(itemEx.uid) == TRUE then return false end if isWeapon(itemEx.uid) then if math.random(1,100) < 15 then doItemSetAttribute(itemEx.uid, 'dualwield', true) doPlayerSendCancel(cid, "Item encantado com sucesso!") else doPlayerSendCancel(cid, "Sua pedra quebrou ao tentar encantar o item.") end doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Use a pedra em alguma arma.") end return true end
-
[RPG] Curse Tibia Server - Procurando por feedback
Um vídeo/trailer simples mostrando um pouco dos sistemas:
- Game of Thrones
-
[RPG] Curse Tibia Server - Procurando por feedback
Muito obrigado @Ments! Infelizmente sei muito bem que esse não é o alvo para uma grande parte do público hoje em dia, porém, estou fazendo sim completamente por adorar rpg e ao menos espero que quem também curte goste do projeto. Novamente, obrigado pelo comentário!
-
[RPG] Curse Tibia Server - Procurando por feedback
Obrigado pelo comentário! Acredito que a árvore de skills seja a maior novidade mesmo. A ideia é uma grande customização do personagem, onde mesmo tendo a mesma classe podem ser muito diferentes.
-
[RPG] Curse Tibia Server - Procurando por feedback
A ideia é bem essa mesmo, você tem o level de forja que vai te liberando novos itens pra fazer e que precisam de produtos/materiais de criaturas ou até de npcs. A refinação seria também um certo tipo de forja (também exige level de forja), mas apenas pra aprimorar o item (mais ataque/defesa). Tem atributos que você só consegue obtendo um item lendário e outros atributos que só consegue forjando.
-
[RPG] Curse Tibia Server - Procurando por feedback
@WhiteBubble Temos um sistema de refinamento criado já e também estamos discutindo sobre fazer o sistema de forja, tentando formular algumas ideias, inclusive estava pensando em fazer um pequeno vínculo entre esses dois sistemas. Obrigado pelo comentário e pela sugestão!
-
[RPG] Curse Tibia Server - Procurando por feedback
@moskitinho Valeu cara, esse tipo de comentário que me da motivação pra continuar fazendo! Sem previsões ainda, mas vamos precisar e MUITO de ajuda para testar tudo.
-
(Resolvido)Colocar Exaust em spell
function onCastSpell(cid, var) local cooldown_stg = 90852 -- storage local cooldown_time = 10 -- 1 = 1 second local numerodehit = 5 local drena = 1000 if isMonster(getCreatureTarget(cid))then return false end if exhaustion.check(cid, cooldown_stg) == false then exhaustion.set(cid, cooldown_stg, cooldown_time) for x=1,numerodehit do if isPlayer(getCreatureTarget(cid)) then doCreatureAddMana(getCreatureTarget(cid), -drena) end end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendCancel(cid, "Spells is on cooldown [" ..exhaustion.get(cid, cooldown_stg).."s].") return false end end
-
[RPG] Curse Tibia Server - Procurando por feedback
Obrigado! :D @Heyron Eu não tinha pensado em pegar o público de fora, mas realmente é uma boa ideia, agradeço o feedback. \o
-
[RPG] Curse Tibia Server - Procurando por feedback
Fala aí pessoal! Curse Tibia Server é um servidor para amantes de RPG, de rates baixas e onde a exploração é muito bem recompensada. Além disso, temos como foco fazer patchs frequentemente, sempre adicionando novos conteúdos e proporcionando novos desafios aos jogadores. Informações Gerais - A experiência é stagiada em torno de 5x até 1.5x. - O mapa é uma mistura de áreas e modificações próprias + global + partes de servidores que nunca foram lançados. - O servidor tem base na versão 9.6, mas adicionamos algumas criaturas e alguns itens de versões posteriores. Principais Mudanças - Em vez de poções recuperarem vida/mana instantaneamente, elas recuperam ao longo de 3 segundos. - O server tem Training Monk, porém, você só pode ficar neles durante 1 hora, para regenerar esse tempo é preciso caçar bastante. - Andar de barco é uma tarefa um pouco mais complexa, com um custo bastante elevado e algumas passagens precisando de uma pequena quest ou alguns itens. Vocações - 5 novas classes, além das existentes terem sido reformuladas. - Uma promoção a mais para cada classe. - Todas classes ganharam várias magias novas. - Uma das classes novas é o famoso Necromancer: Atributos Atributos são pontos escolhidos pelo jogador para melhorar o desempenho de seus personagens e desenvolvê-los de uma maneira pessoal. Eles também servem para poder conjurar algumas magias e fazer algumas interações com o mapa (Puxar uma alavanca emperrada exige força, por exemplo). Árvore de Skills A árvore de skills te permite distribuir pontos para liberar novas magias e personificar ainda mais seu personagem o deixando mais versátil de acordo com sua preferência. - Cada classe tem dois caminhos na árvore, cada um deles é voltado para uma jogabilidade diferente. - Quase todas magias são liberadas pela árvore. Prévia do Necromancer: Caminho da morte Caminho de summons Sistema de Raridade Todos equipamentos tem uma pequena chance de serem dropados como um item raro, épico ou lendário. - Quanto melhor a qualidade do item, melhor será os bônus, porém será mais difícil de encontrá-lo. Existem ainda alguns outros sistemas e as telas são mais um protótipo, mas acho que da pra ter uma ideia do objetivo do servidor. O que acham? Jogariam? Gostaria muito de ouvir críticas e opiniões! (:
-
Party No Npc
Se for igual criatura, tenta por na tag de npc, tipo: name="Alice" shield="1"
-
Resetar lvl otserver
Se for MySQL é só executar o comando "update players set level = 50;"
-
Npc De Vocção
Na linha doPlayerAddOutfit(cid, 147, 0), muda o 147 pro id da outfit local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'CHAMPA') or msgcontains(msg, 'champa')) then selfSay('Deseja virar {Champa} por 20 Vip Points?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 9971) >= 20) then doPlayerRemoveItem(cid, 9971, 20) doPlayerSetVocation(cid,643) doPlayerAddOutfit(cid, 147, 0) selfSay('Parabens, Agora voce e um Champa!!!', cid) else selfSay('Você não tem {Vip Points} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Alguem pode me ajudar? ->NPC PROMOTION
Tava faltando uns "end", da uma tentada agora, editei no outro post
-
Alguem pode me ajudar? ->NPC PROMOTION
Ainda não testei npc/joao.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Joao" script="npcmissao.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look type="145" head="1" body="114" legs="114" feet="133" addons="1" corpse="2212"/> </npc> npc/scripts/npcmissao.lua creaturescripts/creaturescrips.xml <event type="kill" name="npcmissao" event="script" value="npcmissao.lua"/> creaturescripts/scripts/login.lua registerCreatureEvent(cid, "npcmissao") creaturescripts/scripts/npcmissao.lua function onKill(cid, target) local monster = getCreatureName(target):lower() if monster == "the imperror master" then -- aqui vai o nome do bixo que precisa matar, tudo em minusculo if getPlayerStorageValue(cid, 87321) == 4 and getPlayerStorageValue(cid, 87333) <= 0 then setPlayerStorageValue(cid, 87333, 1) end end return true end
-
(Resolvido)Comando para comprar food?
<talkaction words="!food;/food" event="script" value="buyfood.lua"/> local config = { price = 1000, food_id = 2789, msg = "Você comprou 100 brown mushrooms." } function onSay(cid, words, param, channel) if doPlayerRemoveMoney(cid, config.price) then doPlayerAddItem(cid, config.food_id, 100) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msg) end return true end
-
Teleporta Player Ao Morrer
Não sei se resolveria, mas pode tentar isso: creaturescripts.xml <event type="statschange" name="zerovida" event="script" value="zerovida.lua"/> login.lua registerCreatureEvent(cid, "zerovida") creaturescripts/scripts/zerovida.lua local pos = {x=100, y=100, z=7} function onStatsChange(cid, attacker, type, combat, value) if getCreatureHealth(cid) <= 0 then doTeleportThing(cid, pos) end return true end
-
Dodge System (Por Item)
Percent 1.0 ele toma 100% do dano, 0.5 ele toma 50%, com 0 ele tomaria 0 de dano
-
(Resolvido)[Pedido] Baú que dá storage e item.
Que bizarro, eu testei aqui e funcionou. Você tá usando o mesmo sprite (id do item) nesse baú? O mesmo ID dos outros baús de outras quests
-
(Resolvido)[Pedido] Baú que dá storage e item.
No map editor o baú ta com unique ID de 8945?
-
(Resolvido)[Pedido] Baú que dá storage e item.
@diarmaint Tira essa tag no actions.xml que tem no final da imagem, deixa sem, e muda o script de novo: function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 8945 then local max_gold = 50 if getPlayerStorageValue(cid, item.uid) == -1 then local qtd_gold = math.random(1,max_gold) doPlayerSendTextMessage(cid,22,"Parabéns você acabou de completar a reflect quest e recebeu ".. qtd_gold .." golds em uma quantidade aleatória de 0 a ".. max_gold ..". ") setPlayerStorageValue(cid, 45455, 1) doPlayerAddItem(cid, 2148, qtd_gold) setPlayerStorageValue(cid, item.uid, 1) else doPlayerSendTextMessage(cid,22,"Está vazio.") end elseif item.uid > 1000 and item.uid < 13000 then local itemWeight = getItemWeightById(item.uid, 1) local playerCap = getPlayerFreeCap(cid) if getPlayerStorageValue(cid, item.uid) == -1 then if playerCap >= itemWeight then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a ' .. getItemNameById(item.uid) .. '.') doPlayerAddItem(cid, item.uid ,1) setPlayerStorageValue(cid, item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a ' .. getItemNameById(item.uid) .. ' weighing ' .. itemWeight .. ' oz it\'s too heavy.') end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") end else return false end return true end
-
(Resolvido)[Pedido] Baú que dá storage e item.
@diarmaint Tenta assim, esquece aquele código que passei, e substitui aquele que você mostrou por esse aqui: function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 8945 then local queststatus = getPlayerStorageValue(cid, 31320) local max_gold = 50 if queststatus == -1 then local qtd_gold = math.random(1,max_gold) doPlayerSendTextMessage(cid,22,"Parabéns você acabou de completar a reflect quest e recebeu ".. qtd_gold .." golds em uma quantidade aleatória de 0 a ".. max_gold ..". ") setPlayerStorageValue(cid, 45455, 1) doPlayerAddItem(cid, 2148, qtd_gold) setPlayerStorageValue(cid, queststatus, 1) else doPlayerSendTextMessage(cid,22,"Está vazio.") end elseif item.uid > 1000 and item.uid < 13000 then local itemWeight = getItemWeightById(item.uid, 1) local playerCap = getPlayerFreeCap(cid) if getPlayerStorageValue(cid, item.uid) == -1 then if playerCap >= itemWeight then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a ' .. getItemNameById(item.uid) .. '.') doPlayerAddItem(cid, item.uid ,1) setPlayerStorageValue(cid, item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a ' .. getItemNameById(item.uid) .. ' weighing ' .. itemWeight .. ' oz it\'s too heavy.') end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") end else return false end return true end
-
(Resolvido)script !comprar skill (RESOLVIDO)..
Esse que você passou, só adicionar essa parte que postei antes da primeira linha