Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. o erro diz que seu servidor não tem a função getCreatureHealth, que versão que vc usa? sabe qual é a função de pegar a vida atual do player no seu server?
  2. tem ctza q o monk q vc tá editando é o trainning monk que está no jogo? Verifica em data/monsters/monsters.xml.. e uma dica: se o monk não tá aguentando os players o ideal seria aumentar a cura de vida dele, não a vida total.
  3. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    o dracula untold foi um dos filmes do drácula que eu mais gostei, a história é boa e as razões são muito verossímeis. O teenacious D é um filme meio de comédia besteirol, mas é um clássico e as músicas são demais haha, espero q cê curta.
  4. depende muito d como seu server interpreta a function onKill.. se ele executar pra todos q ajudaram a matar vc precisa editar o aegis.lua no creaturescript e troca onde tá cid por lasthit como fica : function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(lasthit,config.storagekill) local skill = getPlayerStorageValue(lasthit, config.storageaegis) if isMonster(target) and getCreatureName(target):lower() == 'aegis' then if killed < config.times then doCreatureSay(target, "I'll be back mortal...", 20) doSendMagicEffect(getThingPos(target), config.effect1) setPlayerStorageValue(lasthit, config.storagekill, killed+1) addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2) addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true) end if killed >= config.times then setPlayerStorageValue(lasthit, config.storagekill, 0) if skill < config.charges then doPlayerSendTextMessage(lasthit,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!") setPlayerStorageValue(lasthit, config.storageaegis, config.charges) end end end return true end (lembra q vc tem que fazer checagens pra verificar se o lasthit é player, se ele existe.. etc.) Não sei como funciona nos outros servers mas o meu chama o onKill só para o lasthit então o parametro cid ja é o lasthit e o parametro lasthit é um booleano. e como era function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(cid,config.storagekill) local skill = getPlayerStorageValue(cid, config.storageaegis) if isMonster(target) and getCreatureName(target):lower() == 'aegis' then if killed < config.times then doCreatureSay(target, "I'll be back mortal...", 20) doSendMagicEffect(getThingPos(target), config.effect1) setPlayerStorageValue(cid, config.storagekill, killed+1) addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2) addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true) end if killed >= config.times then setPlayerStorageValue(cid, config.storagekill, 0) if skill < config.charges then doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!") setPlayerStorageValue(cid, config.storageaegis, config.charges) end end end return true end
  5. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    Laranja Mecânica Clube da Luta Lista de Schindler O poderoso Chefão Matrix Watchmen A onda (DIE WELLE) Dracula Untold Tenacious D - Pick of Destiny O iluminado
  6. deixa assim local texts, eff = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."}[math.random(1, 4)]
  7. xWhiteWolf postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    eu fiz essa edição pro meu sv, só q a source q eu trabalho tem algumas facilidades q as sources convencionais não tem, então não adiantaria postar aqui (até pq é 1.2). Basicamente vc tem que fazer uma tabela com as recompensas e vincular com a tabela dos monstros (eu fiz por index)
  8. xWhiteWolf postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    tu ta falando challenge em maisculo? tenta "task". que versão q é?
  9. source editing.. não tem como editar isso via Lua
  10. esse erro q vc mandou é de que não tá achando o arquivo.. agr se vc disse q corrigiu isso e não tá aparecendo a fala vc precisa verificar algumas coisas como por exemplo esse numero 20 ali doCreatureSay(cid, "Strong Haste: ".. t[2], 20, false, 0, pos) vai em data/lib/constant.lib e vê isso daqui: TALKTYPE_MONSTER = 19 TALKTYPE_MONSTER_YELL = 20 Eu botei 20 pq o TALKTYPE_MONSTER_YELL é 20, mas se no seu for outro numero vc tem que trocar nos dois CreatureSay, nesse e no q tá mais em cima no script. Se não tiver TALKTYPE_MONSTER_YELL usa só o numero do TALKTYPE_MONSTER
  11. abre no notedpad++, vai em formatar e clica em converter para ANSI. eu testei no mesmo servidor q vc e deu certo.. agr tudo vai depender da sua capacidade de ler o tópico e instalar corretamente. Se algo der errado seu console vai te avisar onde o erro está para que vc possa corrigir.
  12. pras primeiras alterações é só vc ver onde q solta os efeitos da nota queimando e o do poff e botar a função de soltar animated text. Na segunda de aparecer perfect vc pode configurar quando for teleportar o player pra fora da sala verificar se ele acertou tudo e já ver se foi maior que o numero mínimo pro prêmio e ja teleportar. Tenta fazer sozinho..
  13. o itemEx é sempre o item referente ao item q vc deu use With. Independente do que tá embaixo dele.
  14. só criar na pasta lib, se der algum erro me avisa.. as funções servem pra vc utilizar em outros scripts de forma rápido mas se pela lib não der certo vc tem sempre a opção de adicionar a função manualmente copiando só ela antes de começar a fazer o script desejado
  15. <attribute key="description" value="The blade is a magic flame.\nIt has a 10% chance to burn the target for each physical attack." /> \n é o comando de quebra de linha. Edit: acabei de ler q vc tentou usar, foi mal. Usar duas descriptions nao dá certo pq qnd ele declara a segunda ele exclui a primeira... talvez usando specialdescription ou botando espaço manualmente na frase vc consiga forçar essa quebra de linha
  16. @matheus.agropassos fico feliz q tenha dado tudo certo espero q gostado do sistema
  17. pra funcionar em 1.0 vc tem q fazer algumas alterações no código.. tenta rodar ele assim e ve quais erros q dá, fica mais fácil de saber onde arrumar
  18. local position = {x = 156, y = 45, z = 6} -- posicao da primeira pos (linha 1 coluna 1) local config = { distX= 12, -- distancia em X entre cada sala (de uma mesma linha) distY= 9, -- distancia em Y entre cada sala (de uma mesma coluna) rX= 2, -- numero de colunas rY= 2 -- numero de linhas } local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams) local function isWalkable(pos, creature, proj, pz)-- by Nord -- só adicione se vc já não tiver ela if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end local function check_disponivel(npos) if isWalkable(npos, true, true) then return true end return false end local function countdown(pos, Arraypos) if not check_disponivel(pos) then for lugares = 1, #Arraypos do creature = getTopCreature(Arraypos[lugares]).uid if not isCreature(creature)then doCreateMonster("Trainer", Arraypos[lugares]) doSendAnimatedText(Arraypos[lugares], "GO!!", TEXTCOLOR_ORANGE) doSendMagicEffect(Arraypos[lugares], 10) end end end end local function fazQualquerCoisa(cid, pos, i, j) -- isso é o coração do nosso script, nao mexa nisso j = j or 0 p = i or 0 if p >= config.rX then p = 0 j = j < config.rY -1 and j + 1 or false end if j then posi = {x = pos.x + ( p * config.distX), y = pos.y + (j * config.distY), z = pos.z} if check_disponivel(posi) then doTeleportThing(cid, posi) doSendMagicEffect(posi, 10) countdown(posi, {{x = posi.x - 1, y = posi.y + 1, z = posi.z}, {x = posi.x + 1 , y = posi.y + 1, z = posi.z}}) else fazQualquerCoisa(cid, pos, p + 1, j) end else doPlayerSendCancel(cid, "Couldn't find any position for you right now.") end end function onStepIn(cid, item, pos, lastPos, fromPos, toPos, actor) if getPlayerStorageValue(cid, storage) - os.time() <= 0 then fazQualquerCoisa(cid, position) else doTeleportThing(cid, fromPos) doPlayerSendCancel(cid, "You gotta wait a few seconds before you can enter trainning room again") end return true end usa assim, dsclpa qlqer inconveniência
  19. coloca a function isWalkable em cima da check_position.. mt estranho dar esse erro na declaração das funções '-'
  20. 1- Não, a menos que vc edite a função isWalkable 2- a distancia é a partir da posição que o player irá ficar até a outra posição que o player irá ficar. Pensa assim: se não houvessem obstáculos, qnts sqm's eu teria que andar pra chegar exatamente na posição que outro player iria ficar na cabine ao lado? coloca a função check_disponivel em cima da function fazQualquerCoisa (atualmente ela tá embaixo) local function check_disponivel(npos) if isWalkable(npos, true, true) then return true end return false end
  21. pode usar o script, só modifica a checagem antes de dar o efeito if storage == getPlayerGuildId(cid) then vai virar if storage > 0 then
  22. xWhiteWolf postou uma resposta no tópico em Suporte & Pedidos
    não tem, a menos q vc modifique o script todo pra aceitar o level em algum attribute novo criado sobre o item. Da forma q tá ele procura o +X pra definir o level do item diretamente no nome
  23. xWhiteWolf postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    local orb = doCreateItem(2180, 1, position) coloca -- na frente q ja era

Informação Importante

Confirmação de Termo