Ir para conteúdo
  • Cadastre-se

xWhiteWolf

Héroi
  • Total de itens

    3604
  • Registro em

  • Última visita

  • Dias Ganhos

    158

Tudo que xWhiteWolf postou

  1. nao testei local quantity = 500 function onUse(cid, item, frompos, item2, topos) if item.itemid == 1481 then local pos = getPlayerPosition(cid) doCreatureAddHealth(cid, quantity, 1) doCreatureAddMana(cid, quantity, 1) doSendMagicEffect(topos,13) doSendAnimatedText(pos, "+"..quantity , TEXTCOLOR_GREEN) doCreatureSay(cid, "Ahhh.....", 19) else end return 1 end e no actions.xml adiciona: <action uniqueid="6894" script="coalbasin.lua"/> daí é só colocar a uniqueid no coal que vc queira q dê vida e mana e editar no script a quantidade
  2. foi exatamente assim q eu tinha feito: local storage_guild = getGlobalStorageValue(123123) -- A storage configurada em Castle.lua local pos = {x = 160, y = 54, z = 7} function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == TRUE then if getPlayerGuildId(cid) ~= storage_guild then doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 37) doPlayerSendTextMessage(cid, 22, "You no longer have acess to the castle!") end end return TRUE end o problema é que, segundo o Max, só funciona quando dá reload. Meu server não tem sistema de guild e nem players então n
  3. tem um tópico embaixo desse na categoria de ajuda que tá o script inteiro e ainda melhorado pra remover o pessoal da guild anterior quando uma nova guild conquista. Usem o search galera..
  4. até onde eu sei você tem que ir no config.lua e colocar pra não sair nada qnd a spell for conjurada. Daí você tem que editar spell por spell e adicionar isso daqui nelas: doCreatureSay(uid, text, 19) sendo uid o unique id da criatura que irá falar, text sendo o texto que ela vai falar (no caso o nome da magia) e 19 é a cor (laranja que nem os monstros)
  5. o Max veio com essa mesma dúvida via PM e eu tentei ajudar ele, acontece que o storage é Global, e não um storage do player. O movements funciona perfeitamente, o unico problema é que pelo storage ser global é necessário um reload no movements pra que dê certo. Contudo a Ana (no próprio tópico do max) adicionou uma parte no script que remove todo mundo de dentro da posição do castle.
  6. vc edita a posição ali do piso, qnd usar o script vai chamar a posição do player.. se ele tiver na posição certa teleporta. OBS: editei e coloquei a stackpos, podia ser isso... testa agora e me fala oque deu
  7. gostei, agora entendi oque ele quis dizer mas acho q vc deveria colocar um if pra verificar uma quantidade máxima e após ganhar, a quantidade máxima (para aquele player) se tornasse igual ao maior valor já ganho. Podia começar com 10k e a cada vez que ganhasse ele retornasse o valor do premio e salvasse num storage, daí se o valor do storage fosse maior que 10k, o máximo que ele poderia apostar é igual ao valor do storage.
  8. não testei: nexus.lua local pos = {x=221, y=117, z=7, stackpos=253} --- pos inicial local posfinal = {x=160, y=54, z=7, stackpos=253} --- pos final local idholly = 7494 -- id da holly watter local iditemfinal = YYYY -- id do item final da INQ function onUse(cid, item, frompos, item2, topos) if item2.itemid == iditemfinal and getPlayerItemCount(cid, idholly) >= 1 then local position = getCreaturePosition(cid) if position == pos then doTeleportThing(cid, posfinal, TRUE) doPlayerRemoveItem(cid, idholly, 1) doSendMagicEffect(topos,13) else doPlayerSendTextMessage(cid,22,"
  9. a melhor forma de fazer isso seria colocando um creaturescript onKill pra esse monstro mas isso ia fazer com que qualquer monstro q vc matasse com esse nome te desse o storage da quest, dessa forma q e eu coloquei mesmo se o cara morrer ou não matar o monstro ele consegue o premio depois local nomeMonst = "Danger ice" -- Nome do mosntro que ele vai sumonarlocal itemid = 2160 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) en
  10. não to com tempo pra fazer algo tão complexo mas é só fazer os monstros e criar função onKill no creature scripts, cada zumbi normal dá um value no mesmo storage, daí o final do evento era só pegar quem tem o maior storage. (essa é a unica parte dificil). As invasões dos zumbis dá pra fazer por uma raid controlada, daí é só fazer a talkaction do GM pra ativar essa raid. Se alguém tiver alguma ideia de como faz pra pegar quem tem o maior valor de storage no server me avisa porque eu não sei.
  11. use o 'pesquisar' na próxima, o sistema mais plagiado do tibia é o sistema de castle '-' http://www.tibiaking.com/forum/topic/8016-castle-war-20/
  12. cara, isso vai bugar seu server porque a unica forma de remover exp é por database. Em todo caso se vc ainda tiver interessado é só fazer um movements on step in e colocar actionid no teleporte de entrada, ao pisar e depois uma outra actionid no teleporte de saida local storage = 37783 setPlayerStorageValue(cid, storage, getPlayerExperience(cid)) local amount = (getExperienceForLevel(getPlayerLevel(cid)+1))/2 doPlayerAddExperience(cid, amount). Depois vc tem que criar outro script que (tenta colocar -amount no playeraddExperience, se não der certo faz isso daqui abaixo) local playerid = g
  13. 1- cria um castle e coloca uma sala de teleporte pras areas de hunt, como só quem é do castle vai conseguir acessar a room, só a guild que ganhou vai poder utilizar as áreas. 2- Pra colocar no castle pra só as guilds vencedoras conseguirem entrar é só colocar um script que checa o globalstorage == getPlayerGuildId, daí no seu script de castle vc coloca a linha que pega o PlayerGuildId e seta o value de GetGlobalStorageValue de numero XXXXX pra getPlayerGuildId
  14. Prontinho -- script by Marcryzius D'evil. function onSay(cid, words, param) config = { level=100000, -- level necessario pra reseta. RemainingLvl=100, -- level que ficará depois de ser resetado. exper=4200, -- experiencia que ficará depois de ser resetado. pid=getPlayerGUID(cid), -- não mecha skull="yes", -- players com white skull podem resetar? ("yes" or "no"). redskull="yes", -- players com red skull podem resetar? ("yes" or "no"). prot="yes", -- players precisam estar em protection zone pra resetar? ("yes" or "no"). bat="yes" --players precisam estar sem fight pra resetarem? ("yes" or
  15. posta o script da talkaction aqui que eu ja arrumo pra ti pra ele colocar na descrição o numero de resets. Outra coisa, seu server é que versão?
  16. que sistema de reset vc usa? é por npc/talkaction ou é uma lib com a função addReset? me responde isso q eu te ajudo
  17. usa doCreatureAddHealth(cid, 6000) e doCreatureAddMana(cid, 6000). É bem mais fácil doque criar combat, a menos que vc utilize uma fórmula e chame um callback pra essa fórmula
  18. eu tenho 2 provas essa semana então eu só vou deixar aqui a "dica" pra você ou pra quem for tentar te ajudar: Procure alguns scripts de outfit aqui pelo fórum e edite eles pra eles virarem um movements, daí é só brincar com function onStepIn e funtion onStepOut pra dar e tirar o outfit;
  19. cria essa talkaction e coloca o npc pra executar ela http://www.tibiaking.com/forum/topic/16596-talkaction-comando-name-mudar-nome-de-char/ boa sorte
  20. vc tem que dividir o desenho por SQMs e fazer um por um os pisos que serão utilizados, daí com o auxilio do DatEditor, SprEditor e do ItemEditor você consegue colocar dentro do seu tibia, só que pros seus amiguinhos virem eles terão que ter o mesmo tibia.dat e tibia.spr que você (necessitando assim de um cliente próprio)
  21. tem várias maneiras, pode fazer por uma string excluidora (se tiver god/gm no nome não aparece) ou colocar um if pra checar acess também
  22. function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .
  23. pra tirar sangue é só usar a função de criar item embaixo dele e colocar na pos = getPlayerPosition (cid) com o id da poça de sangue.. Essa magia que vc fez tá errada mas eu só vou conseguir arrumar pra ti depois de segunda
  24. algum desses events death deve ser cid, dai evento executado tá conflitando com o seu prepareDeath
  25. se tem a função getResets é mais fácil ainda: local percent = getPlayerMaxHealth(target)+(getResets*50)/10 -- tira 10% da vida + quantidade de resets *50. Se o cara tiver 10 resets vai ser 10% da vida+ 500. O do monstros muito que provavelmente é só pelas sources, a menos que você crie magias de ataque que removem % da vida e coloquem os monstros pra só usarem elas :DD; No caso de uma magia de healing vc pode criar as formulas de min e máximo e colocar pra multiplicar o math random disso por getResets+1 (o +1 serve pra não bugar caso o player tenha 0 resets)
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo