Ir para conteúdo
  • Cadastre-se

samlecter

Membro
  • Total de itens

    281
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Posts postados por samlecter

  1. Em 02/02/2021 em 13:40, Apache disse:

    sim, do jeito que você mandou ta faltando alguma coisa

    [Error - Event::checkScript] Cannot load script (data/globalevents/scripts/test.lua)
    data/globalevents/scripts/test.lua:24: 'end' expected (to close 'function' at line 11) near '<eof>'

    ai coloco end no final, da o erro

    [Error - Event::checkScript] Event onThink not found (data/globalevents/scripts/test.lua)

     

    tag: <globalevent name="test" interval="2000" script="test.lua"/>

     

    Tava faltando um "end", editei no código, vê aí, fiz sem testar

    Em 02/02/2021 em 15:55, Nysman disse:

    Simples, útil e editavél:

    globalevents

      Ocultar conteúdo

    function onThink(interval, lastExecution)

    pos = {x = 1041, y = 1033, z = 7} -- Coordenada de onde sairá o efeito

    doSendMagicEffect(pos, 65)

    return true

    end

    tang:


    <globalevent name="Welcome" interval="2" script="efeito3.lua" />

    Isso é um effect, ele pediu um missile, que saí de um local x para o y, do y para o z, e assim em diante em u em um "ciclo"

    Em 02/02/2021 em 16:39, Toruk disse:

     

    Nice, porém se vc quiser ainda dar uma "melhorada no code" da pra deixar apenas a função onThink (sem a função ()), asism:

     

    Eu, particularmente, odeio scripts com funções desnecessárias.

     

    
    
    local templeCicleEff = {
        eff = 20,
        delay = 100,
        [1] = {x = 155, y = 154, z = 7,}, -- topLeft
        [2] = {x = 154, y = 156, z = 7,}, -- bottomLeft
        [3] = {x = 157, y = 157, z = 7,}, -- bottomRight
        [4] = {x = 158, y = 154, z = 7,}, -- topRight
    }
    
    function onThink(interval, lastExecution)
    	for i = 1, 4 do
    		addEvent(function()
    			local initialPos = templeCicleEff[i]
    			local finalPos = templeCicleEff[i+1]
    			if i == 4 then
    				finalPos = templeCicleEff[1]
    			end
    			doSendDistanceShoot(initialPos, finalPos, templeCicleEff.eff)
    			if i == 4 then
    			  sendTempleCicleEff(templeCicleEff.eff)
    			end
    		end, templeCicleEff.delay)
    	end
    end

     

    Have a nice day!

    Você só editou meu código e jogou no onThink, a função não é "desnecessária", seria usada 1 vez no startup e se auto repetiria, parecido com o onThink, só que mais econômica, as duas formas funcionam

  2. local templeCicleEff = {
      eff = 20,
      delay = 100,
      [1] = {x = 1000, y = 700, z = 7,}, -- topLeft
      [2] = {x = 1000, y = 700, z = 7,}, -- bottomLeft
      [3] = {x = 1000, y = 700, z = 7,}, -- bottomRight
      [4] = {x = 1000, y = 700, z = 7,}, -- topRight
    }
    
    
    function sendTempleCicleEff()
      for i = 1, 4 do
        addEvent(function()
          local initialPos = templeCicleEff[i]
          local finalPos = templeCicleEff[i+1]
    	  if i == 4 then
    	  	finalPos = templeCicleEff[1]
          end
          doSendDistanceShoot(initialPos, finalPos, templeCicleEff.eff)
          if i == 4 then
            sendTempleCicleEff(templeCicleEff.eff)
          end
      end, templeCicleEff.delay)
    end
    
    
    sendTempleCicleEff()

     

     

    Dava pra melhorar colocando o delay automático de acordo com a distância, e o total de pilares dinâmicos mas isso vai servir

     

  3. As 2 sprites precisam ter as mesmas dimensões, várias coisas mudam essas dimensões não é só a quantidade de frames, mas também direções (caso seja outfit ou missile), layers, addons, etc... se vc deixar exatamente igual vc conseguir, quando der erro repara que ele diz a dimensão exata que a imagem precisa ter (128x96), só vc comparar com a que tá tentando colocar. Caso vc tenha a sprite já em formato .obd daí vc pode clicar na sprite antiga com direito do mouse clicar em replace e selecionar a nova sprite em obj independente de terem dimensões diferentes

  4. Você criou a variável effect com valor 7 mas não atribuiu ela em lugar nenhum... olha onde eu coloquei effect e missile

     

    elseif spell == "Fireball" then

     

        local effect = 7
        local missile = 3
        
        doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), (isMega(cid) and getMegaID(cid) == "X") and 57 or missile)  
        addEvent(doDanoWithProtect, 200, cid, FIREDAMAGE, getThingPosWithDebug(target), waba, min, max, (isMega(cid) and getMegaID(cid) == "X") and 302 or effect)

  5. 18 horas atrás, xWhiteWolf disse:

    vc ja tem essas Uniqueids em outros sistemas do seu servidor.. escolhe outro numero.

     

    Eu não impeço o char de se movimentar, eu teleporto ele de volta pra posição quando ele tenta.. por isso a "travadinha". Mas isso é minimo se seu servidor estiver bem configurado e não deve afetar em nada a jogabilidade

     

    Poxa, eu sei que não afeta, deve ser paranoia minha, mas me incomoda bastante ver aquilo do player tentando se mover e voltando pro sqm, e como isso acontece em mais alguns sistemas, queria saber se tem alguma solução, e se tiver se teria como ajudar

     

  6. Genial  :wow:

     

    Aquela "travadinha" que acontece quando o char é impedido de se movimentar, teria alguma forma disso não acontecer? Sei que só o própio player vê isso, não sei se outros também tem esse "problema" , mas me incomoda um pouco :laugh: Isso acontece em alguns outros sistemas que impedem a movimentação do player e não tinha conseguido pensar em uma solução, quando li sobre usar as teclas com Shift ou Num Lock desligado, eu pensei:

     

    Será que é possível desabilitar as setas de movimento e/ou o movimento do char pelo click do mouse enquanto a função que impede o char de se mover estiver ativa?

  7. Em 01/08/2016 ás 11:00, xWhiteWolf disse:

    nao havia entendido, achei que era vc perguntando se funcionava no tfs 1.2, e respondi que talvez funcionasse, porém se desse algum warning no console era pra ele mandar ql era que eu corrigia

     

    Eita, dando suporte até agora mano :gasp:  Parabéns! :grin:

     

  8. Em 03/08/2016 ás 17:04, Vodkart disse:
    
    function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then return true end    
            if getPlayerPremiumDays(cid) >= 1 then
            doSendMagicEffect(getThingPos(cid), 12)
            doPlayerSendTextMessage(cid, 25, "Seja Bem-vindo ".. getPlayerName(cid) .." !")
         else
            doTeleportThing(cid, fromPosition, true)
            doSendMagicEffect(getThingPos(cid), 2)
            doPlayerSendTextMessage(cid, 25, "Apenas Players Vip's podem passa.")
        end      
    return true  
    end

     

     

    Vodkart , tem como me dar uma explicação? Sou iniciante em lua e esses return true e return false ainda me confundem um pouco...

     

    Vi que a solução foi fazer uma checagem se o que for passar pelo piso é um Player ou não, até ai ok, só não entendo como funciona o uso de return true ou false:

     

      se  NÃO for um Player  faça  return true  fim 

     

     o que esse return true faz e como exatamente ele faz/funciona? O que aconteceria se trocasse por return false? Assim: 

    if not isPlayer(cid) then return false end

     

     

     

     

     

     

     

     

  9. Em 01/08/2015 at 14:57, Ckfox disse:

    Sequinte voçe pode baixar algum bot como elfbot, orkbot etc ou entrar como adm.

    Vou deixar o dowload do ork e do elf.

     

    Orkbot http://stiju.com/download.php (recomendo) Não nessecita de crack apenas extraia o arquivo para ver o id ative a caixa item ID

    Elfbot http://www.4shared.com/rar/CTvVdwzyba/Elfbot-860-setup-459.html?

    Crack Elfbot http://www.4shared.com/rar/t-9rhFrPce/EvOlUtIoN-459.html?

    Da pra ver o id da sprite no item? look de adm você vê o SID (server id) q é o id do item, mas o CID(client id) que é o id da sprite você só vê pelo item editor ou object builder, com esses bots tem como ver? to querendo que apareça SID e CID do item no look com conta de adm

  10. Imune a todos tipos de ataques ou todos tipos de condição?(sleep,slow,paralyze,miss...)

     

    Dependendo da sua base, pode existir uma tabela como "legendary pokemons" , alguns servers tem essa tabela, e pokemons com nome nela são imunes, ou pode ter sido essa vericação em newStatusSystem(data/lib) , vão vasculhando os arquivos dentro da pasta lib e dando um Ctrl+F(pesquisar) e procurando por algo, pesquise por palavras quebradas:

    "lend", "lege", "moltres", "imu"

    (Lendarios, legendary, moltres, imune/imunity)

  11. Em 01/05/2016 at 01:40, 001rafa disse:

    coloca isso aki mano :)

    no Entergame.OTUI

    
    EnterGameWindow
      id: enterGame
      &authenticatorEnabled: false
      &authenticatorHeight: 44
      &stayLoggedBoxEnabled: false
      &stayLoggedBoxHeight: 24
      @onEnter: EnterGame.doLogin()
      draggable: false 

     

    Onde eu altero para deixar fixo na parte de baixo?

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo