Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. xWhiteWolf respondeu ao post em um tópico de jonei em Suporte Tibia OTServer
    if isPlayer(getCreatureTarget(cid)) and getCreatureTarget(cid) ~= getTopCreature(variantToPosition(var)).uid then doPlayerSendCancel(cid, "You can not shoot this directly on players.") return false end coloca assim abaixo do function onCastSpell da runa que vc quer q nao possa usar pela hotkey/battle
  2. xWhiteWolf respondeu ao post em um tópico de Guilherme em Playground (Off-topic)
    bela feature
  3. teria que botar uma flag no data/xml/groups.xml pra tutores terem acesso aos comandos de gm.. mas ai liberaria todos os comandos de uma vez. Oque dá pra fazer é liberar o comando de mute pra player e colocar pra checar se o groupid é maior ou igual a 2 pra dar o mute.
  4. puts, ele deve organizar por alguma flag/customflag que talkactions com / apenas gm's.. não dá mesmo
  5. @Sekk depende de como o sistema foi projetado de como ele está no xml, mas em geral return false q impede de sair amarelo. @mikesaqua tfs 0.4 é o tibia 8.6, o sistema vip foi criado baseado nesse tfs se nao me engano. Se der algum erro ao tentar instalar cria um tópico informando o erro e passa o link de onde vc baixou seu sv e o link de onde vc pegou o sistema vip que a gente analisa tudo e tenta te ajudar. @77mateus77 bom, nunca mexi com essas versões mais atuais mas pelo menos até tfs 0.4 é tudo organizado via XML, posta seu talkactions.xml que eu vejo se tem distinção de groupid pra cada comando.
  6. return false faz uma coisa diferente em cada callback, pra talkactions ele impede de sair a mensagem em amarelo. Quando vc quer dar !online vc não quer q saia junto um !online pra todos em volta de vc.
  7. deixa quieto, já entendi qual é o problema:: troca nessa segunda parte onde tá setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICLEVEL, 100+i) e deixa a condition como CONDITION_PARAM_STAT_MAGICLEVELPERCENT Qnd o cara editou o script ele removeu o percent.
  8. pega seu data/lib/constant.lua e cola aqui
  9. cara, ce n quer me passar o link de onde ce pegou n? pq isso daí n tá identado e tem ums 200 linhas de código q eu não to afim de identar só pra descobrir oque faz. Provavelmente onde ele postou tá identado
  10. se dá erro com elfbot e sem elfbot então nem precisava ter mencionado isso q é indiferente. É crash no servidor ou no client? pq crash é um problema no client então os erros que podem causar isso tem a ver com o client: - O erro acontece com qlqer monstro ou só alguns específicios? - após crashar na morte, se o player relogar crasha novamente? - sempre foi assim ou começou depois de algum evento q vc adicionou?
  11. tem certeza q é só esse script q é utilizado no sistema? if getSlotCount(nam) < conf.maxSlotCount then local l = choose('hp','mp','ml','cas','shield','dist') local p = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..l..'.+'..p..'%]' doSendAnimatedText(toPosition,l..' '..p..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) aparentemente não tem nada aí que edite a leitura dos atributos, somente muda o nome.
  12. xWhiteWolf respondeu ao post em um tópico de Marcio Silva em Suporte Tibia OTServer
    vc tem que criar uma função que pegue todas as áreas que participam e são exclusivas do castelo e caçar se existem players nessas áreas que não sejam da guild atual vencedora pra removê-los... é importante fazer um onLogin verificando se o player q logou não está nessas áreas, se estiver tem q teleportá-los para o templo. Eu posso fazer isso pra você mas vou precisar saber qual o evento de castle vc está usando, se puder postar os scripts ou mandar o link de onde conseguiu eu consigo estudar o código e te passar as modificações que vc deve fazer, sem isso fica meio dificil te ajudar além de dar as dicas que dei acima.
  13. o problema é q vc quer uma função que fique repetindo pra checar se ele deve soltar o combat ou não.. o mínimo q vc tem que passar é o combat e as variaveis referentes à ele pra spell poder soltar o combat. A idéia é que tudo que vc vá fazer numa função que varie, seja incluido nos parametros da função. Dá uma lida numas aulas de scripting sobre funções pra vc entender melhor e depois que vc tiver bom começa a pegar libs (documentos só com funções) pra vc dissecar e entender
  14. vc tá usando 3 coisas que não existem na sua function local function checker(uid, health) if isPlayer(uid) then if getCreatureHealth(uid) < health then doCombat(cid, combat, var) -- a primeira é o cid.. deveria ser uid, a segunda é combat e a terceira é var.. usa assim:
  15. função onMoveItem(parametros) se item está entrando no container backpack então ativar a condition end
  16. acho q não dá pra fazer algo assim, no máximo vc consegue simular isso usando a função onMoveItem (compilada n source) e scripts pra ativar e desativar as conditions semelhantemente ao que os rings fazem.. mas tudo em Lua.
  17. lê o tutorial direito e faz tudo igual to explicando no link... vc tem que adicionar no login.lua essa linha aqui pra ela sempre recarregar a aura ao logar: creaturescripts\scripts\login.lua:adicionar antes do ultimo return true: if getPlayerStorageValue(cid, 21202) > 0 then local voc = getPlayerVocation(cid) if getPlayerPromotionLevel(cid) > 0 then voc = voc - (getPlayerPromotionLevel(cid) * 4) end if getPlayerStorageValue(cid, gems.storage[voc]) > 0 then sendGemEffect(cid, gems.storage[voc], gems.interval[voc]) end end
  18. o primeiro é relativamente fácil de fazer, agr o segundo precisaria usar o sistema que o Skulls está desenvolvendo no outro fórum.. só q pra fazer cliport dessa forma que vc quer precisa usar o OTC de base.
  19. Bom, se tá salvando Game.setStorageValue(4556, killerG:getId()) antes de executar o for, óbvio que essa primeira checagem é verdadeira e a segunda só garante que ele está dentro do evento.. elseif n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001) pro restante> j é só o nome do player ( j = n:getName() ) se vc quer usar o player é com n: killerG = killer:getGuild() for _, n in ipairs(Game.getPlayers()) do if n == killer then n:setStorageValue(4555, 1) elseif n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001) then n:setStorageValue(4555, 1) end end mas aí tem que fazer uma verificação antes pra garantir que ele tenha guild, se nao me engano é só botar n:getGuild() and , ficando assim a linha: elseif n:getGuild() and n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001) then
  20. O script é seu? porque eu acredito que essa checagem aqui está incorreta killerG:getId() == Game.getStorageValue(4556) and j:getStorageValue(6000) == Game.getStorageValue(6001) no caso vc quer verificar se j possui guild e se o guildid da guild de j é igual ao killerG:getId(), porque vc comparou com global storages?
  21. não é um script, é uma função que está em data/creaturescripts/scripts/login.lua: adiciona essas linhas antes do ultimo return true: local txt = [[ Sua mensagem vem escrita aqui. Bom jogo! ]] doPlayerPopupFYI(cid, txt)
  22. tem alguns erros de lógica no seu script, vamos lá: local y = getPlayerSlotItem(cid, 5) -- id do item na mão direita local z = getPlayerSlotItem(cid, 6) --id do item na mão esquerda if isInArray(x, y) or isInArray(x, z) then essa função que vc atribuiu a y e z retorna o item em si, vc quer verificar o id dele então precisaria de .itemid. Mas antes vc precisa garantir que isso exista então local y = getPlayerSlotItem(cid, 5) -- id do item na mão direita local z = getPlayerSlotItem(cid, 6) --id do item na mão esquerda if (y.uid > 0 and isInArray(x, y.itemid)) or (z.uid > 0 and isInArray(x, z.itemid)) then Ao final a gente precisa botar return false nos casos onde a spell não vai pra nao dar exhaust/consumir mana atoa:

Informação Importante

Confirmação de Termo