TeaM KingS
[center]Ola Convidado, seja bem vindo ao TeaM KingS !

Nós temos tutoriais sobre o WarCraft World Editor: se você tiver alguma duvida pode perguntar que os moderadores ou membros experientes vão lhe ajudar.

Para melhor utilizar nossos recursos é extremamente recomendado que esteja logado em nosso fórum e que leia o nosso regulamento oficial.

Também temos fóruns sobre DotA AllstarS, com guias, estratégias, e muito mais!




Participe do fórum, é rápido e fácil

TeaM KingS
[center]Ola Convidado, seja bem vindo ao TeaM KingS !

Nós temos tutoriais sobre o WarCraft World Editor: se você tiver alguma duvida pode perguntar que os moderadores ou membros experientes vão lhe ajudar.

Para melhor utilizar nossos recursos é extremamente recomendado que esteja logado em nosso fórum e que leia o nosso regulamento oficial.

Também temos fóruns sobre DotA AllstarS, com guias, estratégias, e muito mais!


TeaM KingS
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[tutorial] Hashtable

+4
SN.Edysefer
Tamires
Law.Terro
Bills
8 participantes

Ir para baixo

[tutorial] Hashtable Empty [tutorial] Hashtable

Mensagem por Bills 2012-06-03, 23:24

Tutorial básico sobre hashtable

Eai galera, há um tempo havia falado que iria fazer um tutorial sobre hashtables. Então chega de enrolação e vamos logo com isso.

Galera antes de ensinar sobre hashtable, vou dizer tudo que vocês precisam pra usar hashtable. Você terá que ter um conhecimento básico sobre variáveis array e precisará criar uma hashtable em uma trigger com evento "Map Initialization":
[tutorial] Hashtable Capturar

O que é uma Hashtable?

Hashtable é uma tabela na qual você pode guardar qualquer tipo de informação. Como se fosse uma variável array. Porém nas variáveis array só temos 1 indice, em hashtable temos 2.
Exemplo:
Código:
set variavel [1] = informação
set hashtable [1] [2] = informação
Veja o exemplo de hashtable, para absorver mais ainda:
[tutorial] Hashtable Capturar2
Para salvar algo na hashtable você precisa fornecer dois índices (números) que serão como um código para achar a informação e escolher a função para o Tipo. Como no exemplo acima, eu quero guardar MinhaUnit dentro da MinhaHashtable no índice 0 (zero) e 0 (zero) e usei o Save Unit Handle. Então para eu recuperar o que eu gravei na hashtable eu apenas tenho que usar o Load Unit nos índices 0 e 0 gravando direto na minha variável.

Mas qual a real vantagem da hashtable?

A vantagem é que cada coisa do mapa tem um id (código) chamado HandleId. Esse handle id é um número maior que o limite dos indices das variáveis array, que é 8191, mas não é maior que o limite para os indices da hashtable. E além disso, a hashtable possui dois indices, tornando o armazenamento de informações mais dinâmico ainda. Vou dar um exemplo. Vou ensinar a fazer um simples knockback (aquelas magias que empurram) usando hashtable. Usarei a magia Thunder Clap para ativar nosso knockback. veja:
[tutorial] Hashtable Captura3r
[tutorial] Hashtable Captu3rar
Acima são as triggers do knockback com hashtable. Só quero explicar mesmo a linha que salvo o valor do Angulo no indice Key (Picked Unit), isso significa que usei o código daquela unidade para ser um índice. Assim quando eu for fazer o Pick Every Unit no grupo que está todos os alvos do knockback eu novamente usarei o Key (Picked Unit) para recuperar as informações que gravei. No outro índice ainda tenho que usar valores diferentes. Se a hashtable fosse mesmo uma variável com 2 índices, é como se eu tivesse fazendo isso:
Código:
set MinhaHashtable[0][PickedUnit] = Angulo
set MinhaHashtable[1][PickedUnit] = DistanciaRestante
Caso ainda tenha restado duvidas, eu aconselho tentar usar hashtables no world editor. Ver pessoalmente como elas funcionam. E mais outra coisa, se você sabe o que são leaks verá que nas triggers que postei está cheio deles. Se você não sabe o que são leaks, procure tutoriais na internet, para criadores de mapa esse é um assunto muito importante.

No meu blog tem um link para download do mapa com esse knockback em hashtable, caso alguém se interesse.

É isso ai galera, até a próxima!
Bills
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31094

Warning Necropost
[tutorial] Hashtable Left_bar_bleue35 / 10035 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Bills 2012-06-05, 00:24

Tópico atualizado...
Bills
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31094

Warning Necropost
[tutorial] Hashtable Left_bar_bleue35 / 10035 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Law.Terro 2012-06-09, 21:31

Bom, eu não entendi muito bem, fico complexo de mais, sou mais acustumado a linguagem culta xD
Law.Terro
Law.Terro

Número de Posts : 1243
Data de inscrição : 18/07/2011
Reputação : 107 Pontos : 30077

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


http://againstattack.blogspot.com.br/

Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Bills 2012-06-10, 21:37

O que não entendeu?
Bills
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31094

Warning Necropost
[tutorial] Hashtable Left_bar_bleue35 / 10035 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Law.Terro 2012-06-13, 08:45

Sim, eu achei muito complexo, poderia explicar de um modo mais simples? O.o
Law.Terro
Law.Terro

Número de Posts : 1243
Data de inscrição : 18/07/2011
Reputação : 107 Pontos : 30077

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


http://againstattack.blogspot.com.br/

Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Bills 2012-06-13, 08:49

Voce tentou fazer algo pelo menos? Tentou entender o Knockback?
Bills
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31094

Warning Necropost
[tutorial] Hashtable Left_bar_bleue35 / 10035 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Law.Terro 2012-06-13, 09:41

A sim eu entendi completamente agora, um bom tutorial e muito útil também, +REP com certeza.
Law.Terro
Law.Terro

Número de Posts : 1243
Data de inscrição : 18/07/2011
Reputação : 107 Pontos : 30077

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


http://againstattack.blogspot.com.br/

Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Tamires 2012-06-18, 21:57

Bills,não seria mais fácil ensinar por jass? não q eu n saiba,mais ao meu ver fica mais fácil sim.

e outra,está errado aqui:

@EDIT : Fail meu,sorry.
Tamires
Tamires

Número de Posts : 487
Data de inscrição : 09/01/2012
Reputação : 27 Pontos : 25353

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Bills 2012-06-19, 00:05

Se o pessoal soubesse jass seria mais facil sim, existe até um sistema chamado Table que torna o uso de hashtables bem mais facil. Porem o pessoa aqui não conhece jass, então não teria como eu fazer esse tutorial em jass.

Mas o tutorial não está complicado, até o Devil_Terr0 entendeu (depois que obriguei ele a olhar o knockback). Para entender coisas que você ainda não conhece você apenas precisa "querer" entender.
Bills
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31094

Warning Necropost
[tutorial] Hashtable Left_bar_bleue35 / 10035 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por SN.Edysefer 2013-12-03, 22:46

certamente amigo e pode ter certeza que vou, muito bom deu pra ter uma noção de como funciona  esses procedimentos
SN.Edysefer
SN.Edysefer

Número de Posts : 93
Data de inscrição : 28/12/2012
Reputação : 1 Pontos : 21827

Warning Necropost
[tutorial] Hashtable Left_bar_bleue10 / 10010 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por lucas218 2013-12-30, 21:11

Código:
REVIVENDO O TÓPICO SEM QUERER MAS QUERENDO!!
Código:
DA PRA ENSINAR ISSO EM JASS?? ALGUEM SABE POIS COMO SABEMOS O BILLS E OCUPADO E TIPO ESTOU MESMO QUERENDO SABER JASS . . . MESMO QUE EU NÃO MECHA MUITO NO WE MAS AINDA SIM QUERO ME SENTIR REALIZADO.
lucas218
lucas218

Número de Posts : 264
Data de inscrição : 29/01/2012
Reputação : 26 Pontos : 24813

Warning Necropost
[tutorial] Hashtable Left_bar_bleue30 / 10030 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Joker 2013-12-31, 00:41

Baum...o bills sama como voce deve saber e quase imposivel entra,porem...pede ajuda a o gilga quem sabe ele nao pode te ajuda,ele tambem sabe jass/vjass.=)
porem,voce tambem pode fazer sozinho,basta fazer como esta ai em GUI e converter para jass,observar pro um bom tempo e tentar refaze-lo,e se achar melhor,edita-lo,pois as vez nao basta somente converter gui/jass,ainda pode conter leaks.e tambem editando-o seria um treinamento para voce msm =)
Joker
Joker

Número de Posts : 447
Data de inscrição : 03/08/2012
Reputação : 62 Pontos : 26168

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Gilgamesh 2014-01-04, 02:34

Certo, aqui vai uma amostra com algumas explicações básicas: http://slim.bz/a7KmdG

Caso tenha mais alguma dúvida, fico feliz em ajudar.  Very Happy 

E vale ressaltar que hashtabls são principalmente utilizados em spells ou systems que utilizam Knockback, que é utilizar um timer para executar uma função X vezes para deslocar uma unidade á uma certa distância.

Aconselho a analisar o funcionamento das hashs nestes tipos de spells e systems, embora hashtables sejam funções de nível médio e não sejam recomendadas para quem ainda vai aprender Jass.
Gilgamesh
Gilgamesh

Número de Posts : 313
Data de inscrição : 11/05/2013
Reputação : 69 Pontos : 23564

Warning Necropost
[tutorial] Hashtable Left_bar_bleue0 / 1000 / 100[tutorial] Hashtable Right_bar_bleue


http://www.DotCastleBR.forumeiros.com

Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Iky 2014-01-24, 13:35

o nogócio esta mais em aprender a programar ... conceitos de scopes, funções, objetos, arrays ... o bills largou mão de jass/vjass, e eu sou outro ... a última vez que eu falei com ele, ele tava concentrado em javascript na produção de jogos.
se você revirar o fórum vai achar alguem que fez algum sistema MUI com jass script ... procure
Iky
Iky

Número de Posts : 2065
Data de inscrição : 06/04/2010
Reputação : 99 Pontos : 30469

Warning Necropost
[tutorial] Hashtable Left_bar_bleue10 / 10010 / 100[tutorial] Hashtable Right_bar_bleue


http://icaro.glauco

Ir para o topo Ir para baixo

[tutorial] Hashtable Empty Re: [tutorial] Hashtable

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos