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. puts, ele deve organizar por alguma flag/customflag que talkactions com / apenas gm's.. não dá mesmo
  2. @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
  3. 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.
  4. 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.
  5. 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
  6. 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?
  7. 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.
  8. 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
  9. 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
  10. 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:
  11. função onMoveItem(parametros) se item está entrando no container backpack então ativar a condition end
  12. 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.
  13. 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.in
  14. 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.
  15. 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.getStorageVal
  16. 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?
  17. 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)
  18. 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 &
  19. ah é, realmente.. falha minha que copiei as funções e não arrumei huahua pelo menos vc entendeu a lição e foi capaz de me corrigir, parabéns.
  20. não sei como funciona a getCreatureTarget no seu servidor, mas usa assim q deve dar certo: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 2) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) -- seta por tempo ilimitado setConditionFormula(condition, 0.7, -56, 0.7, -56) setCombatCondition(combat, condition) local function checker(uid, health) if isPlayer(uid) then if (getCreatureTarget(uid) and isCreature(getCreatureTarget(uid))) o
  21. getTileThingByPos(pos).itemid vai te retornar o itemid do tile localizado em pos. Executando uma única vez: if isInArray(x, getTileThingByPos(pos).itemid) then -- procura outra posição end Executando até achar um tile livre: repeat -- procura uma posição until not isInArray(x, getTileThingByPos(pos).itemid)
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo