Ir para conteúdo
Banner com Efeitos

Dwarfer

Membro
  • Registro em

  • Última visita

Tudo que Dwarfer postou

  1. O script já verifica isso, se tiver um player com esse nome, terá que escolher outro.
  2. Não. Já existe um char chamado [VIP] Joao, aí o cara vai e cria um char chamado Joao. No primeiro login dele vai ser verificado se já existe algum [VIP] com esse nome, se tiver, ele será obrigado a mudar o nome para outro.
  3. What did you mean with topguild? Guild with more frags, right? If yes, you can try:
  4. Acredito que para fazer a verificação no account manager, você teria que modificar algo nas sources do servidor. Uma alternativa é bloquear o player que tem o nome de um [VIP] e fazer ele alterar o nome. Em creaturescripts/scripts: checkName.lua Adicione a tag no creaturescripts.xml: <event type="login" name="NameVip" event="script" value="checkName.lua"/> Em talkactions/scripts: unlock.lua E em talkactions.xml: <talkaction words="!unlock" event="script" value="unlock.lua"/>
  5. When player with top frags login the game, the effect will be shown. Create a file in creaturescripts/scripts: frageffect.lua In creaturescripts.xml, add the tag: <event type="login" name="TopFrags" event="script" value="frageffect.lua"/>
  6. Realmente, falha minha ali na verificação da storage, acabou que me passei. Com relação a voltar para a bp você não disse que teria que voltar. Segue com as modificações:
  7. Dwarfer postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    ACABOU A MOLEZA! Você que sempre fez os NPC's trabalharem dia e noite, disponíveis a qualquer momento mesmo que seja apenas para receber um "hi, buy rope, yes". A COISA MUDOU! Agora você vai ter que ralar. E olhe que os monstros estão com muito gold para gastar devido às mortes de aventureiros, despreparados de AOL ou de bençãos, que acabam por deixar dinheiro nas suas backpacks. VÁ TRABALHAR, SEU VAGAB..! Depois dessa ladainha toda, estava eu testando algumas funções, umas coisitas aqui e ali e ao misturar tudo saiu isso aí meio que sem querer. Tem uns pontos que podem ser melhorados, mas como disse serviu apenas como uns testes para mim, mas resolvi compartilhar, mesmo sendo simplesinho. Acho que será útil para servidor com um pouquinho de RPG. Testado em TFS 0.4 e versão 8.60. O Job System é um sistema no qual o player atenderá pedidos dos monstros. Cada pedido correto, o player ganha 1 job point que pode ser utilizado para comprar itens no npc ou como você queira fazer, em quests, acessos, seja lá o que for. O funcionamento é demonstrado no vídeo abaixo: Segue o código do sistema (MOD) e do NPC. jobsystem.xml CONFIGURAÇÃO: Desde que configure corretamente o mapa, não tem praticamente nada para modificar. monsters = { [1] = {"Amazon", "Dwarf", "Elf Scout"}, [2] = {"Barbarian Bloodwalker", "Dwarf Guard", "Warlock"}, [3] = {"Vampire Bride", "Dwarf Geomancer", "Infernalist"} } times = { deal = 30, lever = 2 } Aqui deal é o tempo em segundos entre cada pedido. Lever é o tempo em minutos para poder usar a alavanca novamente. Aconselho deixá-los nesses valores, já testei e funcionou certinho assim. A configuração ocorre praticamente no mapa: 1 - Crie uma "loja" do mesmo tamanho e com a mesma configuração que as mostradas no vídeo e na imagem abaixo. Apenas com a posição do meio livre. Não importa a "orientação" da loja. A única exigência é que a alavanca sempre esteja do lado do braço direito do char, conforme a imagem. MUITO IMPORTANTE: NÃO USE ITENS STACKABLES NA LOJA 2. Definindo o rank da loja: ALAVANCA DE ACTION ID: 4421 - Rank Apprentice 4422 - Rank Merchant 4423 - Rank Rashid 3. Todos os itens que não devem ser arrastados (itens da loja ou de decoração que não devam ser arrastados como o royal axe que mostrei lá no vídeo) devem receber o actionid 4420. 4. Os pisos onde os monstros serão criados devem ter actionid 4420. Além disso, ser área no-pvp e no logout (apenas por precaução). 5. Toda a área restante deve ser Protection Zone (PZ). Além disso, os locais do centro da loja onde os players ficarão devem ser No Logout Area. Dwarfer.xml job.lua Configuração do NPC: promote = {tomerchant = 50, torashid = 100}, tomerchant = 50 -> São necessários 50 pontos no rank Apprentice para avançar torashid = 100 -> São necessários 100 pontos no rank Merchant para avançar entice_rank = {-- Apprentice [2154] = {price = 1}, [2158] = {price = 3}, [2155] = {price = 7}, [2156] = {price = 100} }, merchant_rank = { -- Merchant [1998] = {price = 15}, [5950] = {price = 25}, [1987] = {price = 70}, [2402] = {price = 100} }, rashid_rank = { -- Rashid [9993] = {price = 15}, [9992] = {price = 25}, [9992] = {price = 70}, [7399] = {price = 100}} } [id_do_item] = {price = preço do item} que aparecerá na lista do NPC. É isso aí, seus vagal's
  8. E fez o que? Ficou meio difícil decifrar isso que você falou, é antes ou depois?
  9. removemc.lua local hour = "00:00" --- altere para a hora que desejar local frompos, topos = {x = 25477, y = 25134, z = 7},{x = 25490, y = 25139, z = 7} function onThink(interval, lastExecution) if hour == tostring(os.date("%X")):sub(1, 5) then removeMc(frompos, topos) end return true end function removeMc(frompos, topos) local ips = {} for a,b in pairs(getPlayersOnline()) do if isInArea(getThingPos(b),frompos, topos) then if isInArray(ips,getPlayerIp(b)) then doTeleportThing(b,getTownTemplePosition(getPlayerTown(b))) end table.insert(ips,getPlayerIp(b)) end end end <globalevent name="RemoveMc" interval="60000" event="script" value="removemc.lua"/>
  10. Vamos tentar meio que uma "gambiarra". Substitua o que tem no arquivo da sd por isso aí acima. Vê aí se funciona.
  11. Se o martelo tem a opção de usar em outro item, você pode fazer algo como essas três opções: local msg = "FORJED!" function onUse(cid, item, fromPosition, itemEx, toPosition) -- [1] if itemEx.itemid == ID_DA_BIGORNA then doCreatureSay(cid, msg) end -- [2] if itemEx.actionid == AID_DA_BIGORNA then doCreatureSay(cid, msg) end -- [3] local p = getThingFromPos(toPosition) if p.itemid == ID_DA_BIGORNA then doCreatureSay(cid, msg) end --[e outras..] end E: <action itemid="ID_DO_MARTELO" script="forja.lua" />
  12. @JcA Não testei, qualquer erro fala aí. Em movements/scripts: sacrificio.lua Em movements.xml, adicione a tag: <movevent type="AddItem" tileitem="1" actionid="ACTION_ID_DOS_BASINS" event="script" value="sacrificio.lua"/>
  13. E no login.lua na sua pasta de creaturescripts tem o evento registrado? registerCreatureEvent(cid, "KillingInTheNameOf")
  14. Isso aqui: não deve estar no seu creaturescripts.xml né? No seu creaturescripts.xml tem a tag para esse script. Você registrou o evento no arquivo login.lua? Se não, faça isso.
  15. Verifique se sua tag no globalevents está em segundos ou milisegundos.
  16. @Hunterii Sim, já editei lá, pode pegar.
  17. Ah, entendi sua dúvida. Assim: local total = db.getResult("SELECT COUNT(*) as count FROM `players` where `created` > unix_timestamp(CURRENT_TIMESTAMP()) - 86400;") doPlayerSendTextMessage(cid, 18, total:getDataInt("count"))
  18. db.getResult("SELECT COUNT(*) FROM `players` where `created` > unix_timestamp(CURRENT_TIMESTAMP()) - 86400;")
  19. Faça assim:
  20. Em actions/scripts, crie o arquivo: chicken.lua Adicione a tag em actions.xml: <action itemid="ID_DO_ITEM" script="chicken.lua" />
  21. @Hunterii Se você tiver configurado corretamente, o script funcionará. Testei aqui agora e funcionou. A chest pode ser usada infinita vezes porque você não disse que não poderia, eu não sei o que você tá tentando fazer, então tente explicar mais detalhadamente. chest: local id, door_aid = 1111, 2222 -- id da chave, aid da porta function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11672) > 0 then return doCreatureSay(cid, "Your chest is empty.", TALKTYPE_ORANGE_1) end local key = doPlayerAddItem(cid, id, 1) setPlayerStorageValue(cid, 11672, 1) doItemSetAttribute(key, "aid", door_aid) doCreatureSay(cid, "You have received your key.", TALKTYPE_ORANGE_1) return true end porta (com alteração pedida):
  22. Baú para pegar a chave pegarkey.lua local id, door_aid = 1111, XXXX -- id da chave, actionid_da_porta function onUse(cid, item, fromPosition, itemEx, toPosition) local key = doPlayerAddItem(cid, id, 1) doItemSetAttribute(key, "aid", door_aid) doCreatureSay(cid, "You have received your key.", TALKTYPE_ORANGE_1) end <action actionid="ACTION_ID_DO_BAÚ" script="pegarkey.lua" /> portatp.lua local new_pos = {x=1, y = 1, z=1} function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == itemEx.actionid and itemEx.itemid ~= item.itemid then doTeleportThing(cid, new_pos) doSendMagicEffect(new_pos, CONST_ME_TELEPORT) end end <action actionid="ACTIONID_DAPORTA" script="portatp.lua" />

Informação Importante

Confirmação de Termo