Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 03/31/16 em todas áreas

  1. Novo Sistema de Trainer [0.36~0.4]

    Rodrigo94 reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Olá meus caros do Tibia King, hoje vim trazer pra vocês um sistema que bolei pra um concurso em outro fórum mas acabei ficando descontente e nunca cheguei a disponibilizar. Eu gostaria de agradecer inicialmente à três acontecimentos que sem eles não seriam possíveis a criação desse sistema. - A otlist obrigar que os servidores utilizem anti idle - Os mages do meu servidor reclamarem que não dava pra treinar ml nos trainers - Ao @Storm Night, que embora tenha me irritado muito nesse tópico aqui , botou a sementinha dessa idéia na minha cabeça. Explicação É a combinação de dois sistemas que eu ja havia feito, o primeiro escolhe entre todas as salas de treiner aquela que está vazia pra te alocar e o segundo te mantém alimentado e rodando pra simular o anti idle. (Nota: ele não impede o anti idle de fato, se vc quiser fazer isso vc vai precisar editar o script de anti idle que vc utiliza pra ignorar players com determinado storage e adicionar o storage no player quando ele entrar na sala e tirar ao sair.. mas não sei até que ponto isso pode provocar ban da OTservlist por isso decidi não ensinar isso aqui.) Sem mais delongas, talk is cheap, show me the code. Idéia Basicamente dá pra reduzir toda a idéia do código nessa foto aqui: Você tem diversas salas com trainers nesse formato (pode ser em linha reta horizontal ou vertical tb, mas assim fica melhor distribuído). Você inclusive pode criar salas no meio do void de forma que a distancia de uma vc nao consiga ver a outra e vai ser uma experiencia muito amigável para o player ver que está treinando sozinho na paz. Ao entrar no tp ele te aloca na primeira sala vazia, se não houverem salas vazias ele retorna que não tem posições livres Instalação Você precisa criar as salinhas dos trainers equidistantemente, ou seja, tendo a mesma distância A em X e mesma distância B em Y. Sério, se vc errar nessa parte é porque vc não sabe oque significa equidistante. Vai pesquisar preguiçoso!! Já aviso que não vou dar suporte quanto à isso. Você vai precisar criar salas parecidas com isso daqui: Perceba que não tem como ter acesso a essa sala, não tem como ser puxado pra fora do trainer, não tem dor de cabeça nenhuma e quando o player quiser sair ele só entra no tp e volta pro templo ou pra onde vc definir. Nesse teleport da sala vc adiciona o actionid 14877 e não bota nenhuma posição nele. Naquele tile que o player irá ficar que inclusive tem id diferente vc bota actionid 14878. Agora seleciona a area dessa sala no rme e vai copiando e colando percebendo sempre se vc tá criando as salas com mesma distância em X. Se o ponto inicial de uma sala é 140 e vc quer que todas tenham 12 sqm de distancia vc cria em 152, 164, 178.. por aí vai. Quando terminar as salas que quiser e tiver montado as linhas e colunas da forma que desejou, vc vai criar um tp principal pra alocar os players nessa sala: Lembrando que ele não deve ter posição no rme, vc só bota o actionID 14876 e deixa a toPos dele 0, 0, 0. Ele não tem q te teleportar pra nenhum lugar pois a posição será decidida por script. Se você fez tudo certo até agora vc deve ter algo +- assim: O importante é manter a distancia certinha entre cada sala. Aí no caso eu fiz rX = 11 e rY = 8 (é a terceira ou quarta vez q eu to falando isso, se vcs errarem pqp eu vou ficar muito irritado); Vc não bota os trainers, e ali embaixo do spawn vc tem que botar um outro obstáculo pra impedir que o player ande pra baixo e dê a sala como livre. Feito isso só adicionar os scripts abaixo: movements.xml <movevent type="StepIn" actionid="14876" event="script" value="trainertp.lua"/> <movevent type="StepIn" actionid="14877" event="script" value="trainertp2.lua"/> <movevent type="StepIn" actionid="14878" event="script" value="foodtrainer.lua"/> movements/scripts/trainertp.lua: movements/scripts/trainertp2.lua: movements/scripts/foodtrainer.lua: FIM, qualquer dúvida ou comentário ou sugestão coloquem abaixo. Se gostou REP+, se não gostou REP+ pq deu trabalho e vai ser útil pra alguém, mesmo que de estudo. Abraços do Lobo. E ao cara do outro fórum que ficou falando que ia dar erro e quis ficar me corrigindo e mandando scripts sem noção pra "mostrar" que sabia de lua:
  2. PEDIDO adicionar linhas no phpmyadmin

    edukf reagiu a Thunder Black por uma resposta no tópico

    1 ponto
    reports login tiles store monsters spells executa ai pra ficar mais completa. A noite eu olho com mais calma e te envio o restante caso faltou alguma. de pronto é isso, abraços
  3. PEDIDO adicionar linhas no phpmyadmin

    edukf reagiu a Thunder Black por uma resposta no tópico

    1 ponto
    no mesmo comentário, me mande o erro pelo hastebin, caso for imagem por aqui ou pelo imgur
  4. PEDIDO adicionar linhas no phpmyadmin

    edukf reagiu a Thunder Black por uma resposta no tópico

    1 ponto
    house_list tile_items tiles qualquer coisa me avise, abraços
  5. Teleporte zumbi event [TSF 1.0]

    gabrieldalla reagiu a DukeeH por uma resposta no tópico

    1 ponto
    Esse que baixou não é automatico. Abra o god e dê !zombie start Acredito ser isso por olhar o script.
  6. Novo Sistema de Trainer [0.36~0.4]

    davidvietro reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    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
  7. 1 ponto
    coloca a function isWalkable em cima da check_position.. mt estranho dar esse erro na declaração das funções '-'
  8. Novo Sistema de Trainer [0.36~0.4]

    Kramer reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    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
  9. 1 ponto
    SOBREPOSIÇÃO DE TELHADOS Tutorial Avançado de Telhados Triangulares Bom, se você já viu os tutoriais básico e intermediário, já dá para ver um telhado bem legal. Mas eu gosto de fazer além disso, e é aí que entra a "sobreposição de telhados". Dando um formato bem mais bonito para os telhados. Então vamos lá! • • Partiremos do telhado que obtivemos no tutorial nível intermediário. Para fazer a sobreposição, é bem simples. Basta criar o formato do telhado menor que você quer que sobreponha o outro, e selecioná-lo completamente (segurando CTRL e clicando em cada peça). Depois disso, basta arrastar o telhado selecionado para cima do telhado já feito, como mostra o GIF a seguir. Bem melhor, não? • • Então, vamos ver um outro exemplo, na prática, para ajudá-los a entender melhor, também. Vamos colocar um telhado nessa casa aqui: O que acharam? Conseguiram fazer no seu map editor? Qualquer dúvidas ou problemas, comente aqui em baixo que o ajudarei assim que conseguir. • • Também funciona muito bem caso você queira sobrepor com um telhado de 4 SQMs ao invés dos 3 SQMs, que usamos nas figuras anteriormente. • • Seguem mais um exemplo que fiz, para ajudá-los a ter mais ideias! • • Bom, aqui está o link dos tutoriais básico e intermediário. Básico Intermediário E, se vocês quiserem baixar as casas que fiz para o tutorial, está aqui para vocês: Download Scan Grande abraço!
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo