Ir para conteúdo

Featured Replies

Postado

@xWhiteWolf eu consegui resolver o problema.  

Não sei dizer o porque acontece isso, mas no map editor quando você está muito pra cima no mapa, ou muito pra baixo, ele buga e da problema, em tudo, não só em scripts. Então eu recomendo um espaço de pelo menos uns 50 sqm para todas as direções quando for fazer qualquer coisa em um mapa, pois fica mais centralizado e funciona tudo.

 

Sobre o sistema

Pela OTland eu vi alguns scripts parecidos. Mas nesses scripts você precisa ficar limitando quantos slots de trainers vão ter, e cada tile no mapa editor vai com uma UniqId diferente e em sequencia. No seu script não, você cria apenas uma sala de trainer e vai dando ctrl+c e ctrl+v e vai colocando a quantidade de salas conforme a sua necessidade. Depois disso só informa no script as distancias e quantidades. Isso torna o script mais simples e rápido para quem configura e o torna o melhor sistema de trainers da atualidade

Sem contar que você faz um trainer room pequeno e fácil e tem uma área eficiente e bonita sem ficar se preocupando em mapear uma sala de trainer toda bonitona..

 

De qualquer forma, obrigado pela contribuição disponibilizando o sistema e pelo suporte em que tentou me ajudar.  Rep+

 

 

 

Editado por DiegoRulez (veja o histórico de edições)

  • Respostas 65
  • Visualizações 12k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa faz

  • 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, qn

  • 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

Posted Images

Postado

Estou com duvida nesta parte do script

Spoiler

local config = {
eff = 12, -- efeito que sai
food = 100, -- quanto de food vai dar (use 100 no maximo)
timespin = 10 -- tempo pra dar uma volta (quanto menor mais checagens a função vai fazer e mais pesado vai ficar o sistema)
}

function helpTrainer(uid, pos)
    if not isPlayer(uid) then return false end
    look = getCreatureLookDirection(uid)
    look = look < 3 and look + 1 or 0
    doCreatureSetLookDirection(uid, look)
    doSendMagicEffect(pos, config.eff)
    
    if getPlayerFood(uid) < config.food then
        doPlayerFeed(uid, config.food)
        doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER)
    end
    
    addEvent(function()
        if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then
            helpTrainer(uid, pos)
        end
    end, config.timespin * 1000)
return true
end    

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    helpTrainer(cid, position)
return true
end

 

+Food, ele da food ao player ou ele da efeito ao player como se tivesse comido 100 food?...Não entendi direito!

 

O Sistema está funcionando perfeitamente, obrigado por compartilhar, recomendo!   REP+

 

                                                           

55f6tc.gif                     

Postado
  • Autor
On 6/3/2017 at 0:24 AM, Heyron said:

A ideia é genial @xWhiteWolf, parabéns pela criatividade.

Com esse sistema os jogadores serão poupados de ter que andar de forma arcaica procurando por "salas" vazias, no qual é algo repetitivo demais, e evidentemente desagradável.

 

Há um tempo atrás eu tive uma ideia bacana também, e que talvez outras pessoas também tiveram. No qual, se trata de um local de treino contendo uma só sala de treino para o servidor inteiro. E esse local seria o mesmo para todos os jogadores que o acessarem, porem um jogador não vê o outro que também estiver lá, e os dois Monk aparecem meio que individualmente para cada jogador que estiver nesse mesmo local.

 

É algo meio confuso de se entender, eu sei kkk..

Um dos benefícios desse sistema seria de poupar o mapper de ter que fazer 500, 1000, 2000 salas de treino, no qual é algo muito chato e cansativo, mesmo pra quem manja. =D

 

isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa fazer as salas manualmente, porém é só fazer uma e dar ctrl c e ctrl v até formar uma linha e depois dar ctrl c e ctrl v na linha inteira de salas e fazer as colunas.

Se fosse pra criar a sala via script vc tornaria o sistema muito pesado :~

On 6/3/2017 at 0:51 AM, Radamanthys Wov said:

Não funciona em 1.0 ?

o algoritmo é o mesmo, o que vc vai ter que mudar é as funções do TFS. A lógica é universal, as funções que mudam com as versões. Pega as versões correspondentes e substitui que vai funcionar.

On 6/3/2017 at 0:59 AM, DiegoRulez said:

@xWhiteWolf eu consegui resolver o problema.  

Não sei dizer o porque acontece isso, mas no map editor quando você está muito pra cima no mapa, ou muito pra baixo, ele buga e da problema, em tudo, não só em scripts. Então eu recomendo um espaço de pelo menos uns 50 sqm para todas as direções quando for fazer qualquer coisa em um mapa, pois fica mais centralizado e funciona tudo.

 

Sobre o sistema

Pela OTland eu vi alguns scripts parecidos. Mas nesses scripts você precisa ficar limitando quantos slots de trainers vão ter, e cada tile no mapa editor vai com uma UniqId diferente e em sequencia. No seu script não, você cria apenas uma sala de trainer e vai dando ctrl+c e ctrl+v e vai colocando a quantidade de salas conforme a sua necessidade. Depois disso só informa no script as distancias e quantidades. Isso torna o script mais simples e rápido para quem configura e o torna o melhor sistema de trainers da atualidade

Sem contar que você faz um trainer room pequeno e fácil e tem uma área eficiente e bonita sem ficar se preocupando em mapear uma sala de trainer toda bonitona..

 

De qualquer forma, obrigado pela contribuição disponibilizando o sistema e pelo suporte em que tentou me ajudar.  Rep+

 

 

 

não sabia desse bug, eu dificilmente mapeio pros meus scripts então nem imaginava que poderia dar algo assim. Mas agradeço por ter me explicado como resolveu, se outros tiverem esse problema eu já sei que isso pode ser uma sugestão de resolução eficaz. No mais, fico feliz que você tenha gostado do script porém devo avisar que ao criar novas salas você deve sempre manter a proporção entre linhas e entre colunas.

Exemplos válidos:
x = 3, y = 4
o o o
o o o
o o o
o o o

x = 2, y = 6
o o
o o
o o
o o
o o
o o

x = 4, y = 1
o o o o

Exemplos inválidos:
x = 3, y = 4
o o o
o o u
o o o
u o o

Considera o = sala e u = sem sala
Se você tentar deixar alguns lugares sem sala e aumentar apenas uma ao invés da linha/coluna inteira ele vai considerar os lugares u como salas válidas e então vai transportar players pra lá e bugar o player
 

On 6/3/2017 at 9:17 PM, Digoshow said:

Estou com duvida nesta parte do script

  Hide contents

local config = {
eff = 12, -- efeito que sai
food = 100, -- quanto de food vai dar (use 100 no maximo)
timespin = 10 -- tempo pra dar uma volta (quanto menor mais checagens a função vai fazer e mais pesado vai ficar o sistema)
}

function helpTrainer(uid, pos)
    if not isPlayer(uid) then return false end
    look = getCreatureLookDirection(uid)
    look = look < 3 and look + 1 or 0
    doCreatureSetLookDirection(uid, look)
    doSendMagicEffect(pos, config.eff)
    
    if getPlayerFood(uid) < config.food then
        doPlayerFeed(uid, config.food)
        doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER)
    end
    
    addEvent(function()
        if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then
            helpTrainer(uid, pos)
        end
    end, config.timespin * 1000)
return true
end    

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    helpTrainer(cid, position)
return true
end

 

+Food, ele da food ao player ou ele da efeito ao player como se tivesse comido 100 food?...Não entendi direito!

 

O Sistema está funcionando perfeitamente, obrigado por compartilhar, recomendo!   REP+

ele dá o efeito de ter comido 100 food. Se só adicionasse vc teria que usar bot pra comer as foods e a idéia é fazer algo livre de bot pro povo só ir e largar lá no trainer. Bots spamam ações no jogo e acabam deixando ele lento. Tudo que você puder fazer no seu servidor pra evitar o uso de bots dos players você deve fazer.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

Muito boom, gostei do Anti Idle também que simula o bot, assim é mais facil para ao player, e da um desempenho melhor para todos!

 

Parabéns e obrigado pelo script novamente! ehehe ;)

 

                                                           

55f6tc.gif                     

Postado
16 horas atrás, xWhiteWolf disse:

 

isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa fazer as salas manualmente, porém é só fazer uma e dar ctrl c e ctrl v até formar uma linha e depois dar ctrl c e ctrl v na linha inteira de salas e fazer as colunas.

Se fosse pra criar a sala via script vc tornaria o sistema muito pesado :~

o algoritmo é o mesmo, o que vc vai ter que mudar é as funções do TFS. A lógica é universal, as funções que mudam com as versões. Pega as versões correspondentes e substitui que vai funcionar.

não sabia desse bug, eu dificilmente mapeio pros meus scripts então nem imaginava que poderia dar algo assim. Mas agradeço por ter me explicado como resolveu, se outros tiverem esse problema eu já sei que isso pode ser uma sugestão de resolução eficaz. No mais, fico feliz que você tenha gostado do script porém devo avisar que ao criar novas salas você deve sempre manter a proporção entre linhas e entre colunas.

Exemplos válidos:
x = 3, y = 4
o o o
o o o
o o o
o o o

x = 2, y = 6
o o
o o
o o
o o
o o
o o

x = 4, y = 1
o o o o

Exemplos inválidos:
x = 3, y = 4
o o o
o o u
o o o
u o o

Considera o = sala e u = sem sala
Se você tentar deixar alguns lugares sem sala e aumentar apenas uma ao invés da linha/coluna inteira ele vai considerar os lugares u como salas válidas e então vai transportar players pra lá e bugar o player
 

ele dá o efeito de ter comido 100 food. Se só adicionasse vc teria que usar bot pra comer as foods e a idéia é fazer algo livre de bot pro povo só ir e largar lá no trainer. Bots spamam ações no jogo e acabam deixando ele lento. Tudo que você puder fazer no seu servidor pra evitar o uso de bots dos players você deve fazer.

Realmente,  parece está funcinal agora aqui.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo