Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Demonbholder postou

  1. O tutorial está muito incompleto. Vou te dar uma chance de arrumar, caso contrário reprovarei seu tutorial. No aguardo.
  2. Quanto as imagens do tutorial achei muito boas, mas mesmo assim precisa melhorar na explicação para que seja aprovado. Fico no aguardo da edição.
  3. Isso é um script, não um tutorial. Vou mover para actions/talks/movements. Até.
  4. Funciona sim, meu caro. A linha do código que permite isso é esta: if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then Mas veja bem, antes disso temos a seguinte condição: if(isInArray(specialDoors, item.itemid)) O que faz com que apenas portas especiais, os quais os ids eu desconheço pois a array não está no script, possam suportar esse sistema de storage por actionid. Devo lembrar que o storage deve ter seu valor maior que 0 para que o jogador possa passar. Vou aprovar seu tutorial, parabéns!
  5. Demonbholder

    Return

    Na prática até pode ser a mesma coisa sim, mas na teoria é diferente. if x ~= y then print ("Welcome!") else return print ("Noob!") end Este código retorna um valor function. if x ~= y then print ("Welcome!") else print ("Noob!") return true end Já este retorna um valor booleano. Vamos usar o seguinte exemplo: function blablabla() if x ~= y then print ("Welcome!") else print ("Noob!") return true end end if blablabla() == true then print("OK") end Ele irá printar OK. Já este código: function blablabla() if x ~= y then print ("Welcome!") else return print ("Noob!") end end if blablabla() == true then print("OK") end Não irá printar OK. Mas se fosse por exemplo uma talkaction: function onSay(cid, words, param) if x ~= y then print ("Welcome!") else return print ("Noob!") end end Ai poderia ser qualquer um dos dois. Resumindo, só importa se você vai pegar o valor retornado.
  6. Quer dizer no mínimo 3 dias.
  7. Sim, ta meio desorganizado, mas é isso mesmo.
  8. Não, você não pode manipular stackpos usando a função doTeleportThing.
  9. @FezZinN Legal o vídeo, mas acho que você poderia primeiro situar quem está olhando o vídeo de que parte de Yalahar você está. Outra, se colocar uma música de fundo, mesmo que baixinha, fica mais empolgante de ver o vídeo.
  10. Aqui deu tudo certo cara, e pelo que eu li o script também ta certinho. Arrisco dois erros. 1_ Configurou o rat errado. 2_ A descrição do seu item deve estar errada. Deve ser [espaço][espaço]NomeDoMonstro Onde está [espaço] é o carácter de back space mesmo. OBS: Pode ter qualquer coisa antes dos carácteres de espaço.
  11. Demonbholder

    Stackpos

    Faaaaala galerinha! A pedido do usuário PsyMcKenzie estou aqui para postar este tutorial. Espero que seja útil para todos que tem alguma dúvida quanto ao Stackpos. Eu sinceramente não domino completamente a magia dos stackpos, mas espero poder tirar algumas dúvidas de quem sabe e ensinar quem ainda não sabe. Vamos logo ao tutorial: Stackpos • Introdução Stackpos é um dos index da tabela que guarda posições. Toda posição é uma tabela, exemplo: {x=160, y=50, z=7}, mas o que pouca gente sabe, é que o stackpos também faz parte desta tabela. Todos sabem que em uma unica posição podem haver vários itens, formando uma pilha de itens, portanto, para diferenciar a posição de um item da pilha para o outro foi criado o stackpos, que é o número que diz em qual lugar da pilha está o item. • Descobrindo o Stackpos O stackpos segue um padrão, ou seja, uma ordem. Vou mostrar primeiramente os stackpos especiais: 0 - O stackpos 0 de uma posição é sempre o tile, ou seja, o chão. 253 - Este número refere-se ao stackpos das criaturas que estão na posição, sejam monstros, players ou npcs. 255 - O item mais alto de um pilha tem o stackpos 255, além do stackpos normal dela. Agora vou mostrar como descobrir o stackpos de um item apenas olhando para a pilha. Considere a seguinte pilha: Primeiro vamos contar quantos itens tem a pilha. Neste caso, em um total de 4 itens (tile, table, chair, coin). Tile sempre terá o stackpos 0. Agora os outros recebem o stackpos contrário da ordem deles acima do chão. Coin receberá o stackpos 1 e 255. Chair receberá o stackpos 2. Table receberá o stackpos 3. Simples não? É sempre ao contrário da ordem deles acima do chão. Vamos a mais um exemplo para ficar bem claro, considere a seguinte pilha: Tile receberá o stackpos 0. Ring receberá o stackpos 1 e 255. Hammer receberá o stackpos 2. Coin receberá o stackpos 3. Chair receberá o stackpos 4. Table receberá o stackpos 5. • Montando uma Tabela com Stackpos Eu havia tido anteriormente que toda posição é uma tabela. Para montarmos uma posição com o index stackpos, simplesmente adicionamos ele no final, exemplo: {x=160, y=50, z=7, stackpos=253} Simples, não é mesmo? • Funções Auxiliares Sempre que preciso descobrir o stackpos através de um script, uso as seguintes funções: Pegar o stackpos pela posição e id do item. function getItemStackpos(position, id) if getTileItemById(position, id).itemid == 0 then return nil end for i = 0, 255 do local pos = getThingFromPos({x=position.x, y=position.y, z=position.z, stackpos=i}) if pos.itemid == id then return i end end end Para pegar o stackpos pelo uid do item, usamos a função getThingPos(uid), a qual já retorna uma tabela com o stackpos do item. É isso galera, qualquer dúvida só perguntar. Até mais.
  12. Realmente muito boa kaks! Só acho que as vezes você exagera nos adjetivos, mas fora isso a história ficou ótima. Parabéns, até.
  13. @karyus Caro karyus, é contra as regras do XTibia postar duas vezes seguidamente sem acrescentar nada ao tópico. Leia as regras do XTibia quanto a double-posts aqui.
  14. @Pess0a Li o tópico e não encontrei nenhum indício de rip, poderias apontar o que você notou de errado no tópico? -- O tutorial é muito semelhante a este e pelo que vejo é realmente uma cópia. Tópico fechado.
  15. PARA DE FLOODAR SEU HOMOSSEXUAL
  16. V2 ta ótima, só tem que melhorar o seu inglês rs. Até.
  17. Tópico correto: http://www.xtibia.com/forum/topic/162761-sitema-vip-com-promotion/ Reportado.
  18. Tópico movido. Vamos ver se alguém aqui pode te dar um conselho. Nem sei o porquê, até.
  19. function onSay(cid, words, param) local par = string.explode(param, ",") local coment = "Você foi banido." if #par ~= 4 then return doPlayerSendCancel(cid, "Parâmetro incorreto.") end if tonumber(par[2]) == 1 then doAddBanishment(getAccountIdByName(par[1]), tonumber(par[3])*3600, "", ACTION_BANISHMENT, tonumber(par[4]) == 0 and "" or coment) else doAddIpBanishment(getPlayerIp(getCreatureByName(par[1])), tonumber(par[3])*3600, tonumber(par[4]) == 0 and "" or coment) end if isCreature(getCreatureByName(par[1])) then doRemoveCreature(getCreatureByName(par[1])) end return TRUE end Não testei. Para banir o ip o jogador deve estar online.
  20. @xotserv Não é permitido anunciar site concorrente no fórum, ainda mais cometer double-post para tanto. Reputado negativamente, caso continue, irei alerta-lo. Alerta verbal dado.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...