Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. não era isso que eu esperava kkkkk não tem nenhum comando de entendimento um pouco mais simplificado? passa seu script de mount aí
  2. qnd alguém te responder clique em "Melhor resposta" para que o tópico seja dado como resolvido e possa ajudar outros que possuam a mesma dúvida, obrigado.
  3. eu te ajudaria também se eu entendesse oque é cada uma dessas coisas aí... explica melhor oque vc quer amigo, eu não jogo tibia a uns 6 anos
  4. isso você define no próprio script de npc: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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
  5. tem alguma função pra desmontar e checar montaria? se tiver é só adicionar ela no login.lua do creaturescripts: if estámontado then desmontar end
  6. não dá pra eu te ajudar se vc não faz a mínima ideia de onde se encontra o script... '-'
  7. 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 que dá de ambos. Lembre de editar no script o item.id do coal que vc for utilizar: no caso eu to usando o 1481 mas vc pode editar qualquer um ali dentro do script
  8. 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ão consegui testar mas não vejo porque daria errado, mas a AnaPaula tinha feito um update no próprio script de castle (num outro tópico) em que ao apertar a alavanca ele verifica de uma dada pos até a outra (toda a area correspondida entre as duas pontas da diagonal) se tinha algum player, se tivesse mandava pro templo (arrumando assim o script do castle da forma que ele pediu) O problema seria se houvessem areas que só os players do castle pudessem acessar e tivesse algum player nessas áreas, se ele não saísse ele poderia ficar lá pra sempre. EDIT: EIS OQUE O MAX ME RESPONDEU DPS DE EU PASSAR O SCRIPT PRA ELE:
  9. 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..
  10. 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)
  11. 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.
  12. 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
  13. xWhiteWolf respondeu ao post em um tópico de Markin em Scripts tfs 0.4 (OLD)
    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.
  14. 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,"You're not near Nexus.") return false end else doPlayerSendTextMessage(cid,22,"You need to have ".. getItemNameById(idholly).." to proceed here.") end return true end substitua o YYYY pelo id do item final da inquis q vc citou anteriormente <action itemid="7494" script="nexus.lua"/>
  15. 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) 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 getPlayerStorageValue(cid, 9755) == -1 then if(msgcontains(msg, 'yes')) then selfSay('Mate este monstro para completar sua tarefa.', cid) doCreateMonster(nomeMonst,getThingPos(cid)) setPlayerStorageValue(cid, 9755,1) talkState[talkUser] = 1 end return true end if getPlayerStorageValue(cid, 9755) == 1 then selfSay('Você matou o monstro e ganhou um item.', cid) doPlayerAddItem(cid, itemid,1) setPlayerStorageValue(cid, 9755,2) talkState[talkUser] = 0 return true end if getPlayerStorageValue(cid, 9755) == 2 then selfSay('Você já fez esta tarefa.', cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  16. 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.
  17. xWhiteWolf respondeu ao post em um tópico de Marcos Vinicius em Suporte Tibia OTServer
    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/
  18. xWhiteWolf respondeu ao post em um tópico de Klauguns em Suporte Tibia OTServer
    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 = getPlayerGUID(cid) local storage = 37783 local exp = getPlayerStorageValue(cid, storage) db.executeQuery("UPDATE `players` SET `experience` = "..exp.." WHERE `id` = "..playerid) perceba que eu não coloquei 50% de exp, eu coloquei pra adicionar metade da exp que ele precisa pra upar, isso porque se você fizer o player upar pode dar erro no script (daí vc teria que salvar o level dele num storage também e setar o level igual eu fiz com a exp)
  19. xWhiteWolf respondeu ao post em um tópico de Marcos Vinicius em Suporte Tibia OTServer
    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
  20. 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 "no"). } function getResets(cid) reset = getPlayerStorageValue(cid,1020) if reset < 0 then reset = 0 end return reset end if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid,22,"apenas players sem white skull podem resetar.") return TRUE end if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid,22,"apenas player sem red skull podem resetar.") return TRUE end if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"você precisa estar em protection zone pra poder resetar.") return TRUE end if(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid,22,"você precisa estar sem battler pra poder resetar.") return TRUE end if getPlayerLevel(cid) >= config.level then setPlayerStorageValue(cid,1020,getResets(cid)+1) doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid)+(1).." reset\'s.") doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..getResets(cid)+(1).."]' WHERE `players`.`id` = "..config.pid) db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper.." WHERE `id` = "..config.pid) else doPlayerSendCancel(cid, "You need to have level "..config.level.." or more you may be reset.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end
  21. 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?
  22. que sistema de reset vc usa? é por npc/talkaction ou é uma lib com a função addReset? me responde isso q eu te ajudo
  23. 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
  24. xWhiteWolf respondeu ao post em um tópico de harrydk em Suporte Tibia OTServer
    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;
  25. 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

Informação Importante

Confirmação de Termo