Opa. Que tal aprender como colocar num jogo 4 players? É muito simples. O código está mais otimizado e possui outra novidade! Foi feito, na maior parte, pelo DestinyScript. Ou seja, o seu trabalho será quase nulo. Eu tinha feito mais complexo, de um modo em que o NPC dava uma resposta para cada posição de cada herói. Mas como ninguém vai fazer isso, deixei uma resposta única. Qualquer dúvida é só responder nesse tópico! Não espero que ninguém me mande MP porque a dúvida de um pode ser a mesma dúvida do coleguinha ao lado ou de todos. Espero que gostem!
Irei explicar como fazer por aqui. Vamos por parte. Ok? Como eu não tenho imagens suficientes disponíveis para categorizar cada tópico, farei isso a grosso modo. PS: Não preciso nem falar que você precisa ter um conhecimento básico para que possa entender essa explicação. Inclusive eu irei evitar ensinar coisas óbvias. Por exemplo, 'abra o RPG Maker'.
Mas, antes, o que é ter um conhecimento básico? É saber mexer com switches além de abrir baús. Mexer com variáveis além de alterar a fala dos personagens. Mexer com condições. O seu conhecimento em DestinyScript deve ser um pouco maior do que 0 para que possa entender e modificar o sistema, posteriormente.
Primeiro Passo
[É IMPORTANTE QUE OS 4 PRIMEIROS EVENTOS SEJAM OS DOS PLAYERS!]
• Crie 4 eventos com gráficos pré determinados ( quaisquer ). Eles serão os players. Crie um NPC.
• Crie um evento em Início Automático com os seguintes comandos:
- Set Chara Movement (1P) Move Speed UP // Faça isso para os demais players.
- Disable Menu
- Clear Timer Events
Se tudo deu certo, deverá ficar assim:
Segundo Passo
• Crie um evento em processo paralelo, abaixo do herói, que atribuirá o movimento aos 4 Players.
Dentro dos comandos do evento, cole os seguintes códigos:
[spoiler=Movimento 1P]
$ if(Keyboard.GetKeyState(VK_W))Command.MoveEvent(1, MC_STEPUP); endif;if(Keyboard.GetKeyState(VK_D))Command.MoveEvent(1, MC_STEPRIGHT); endif;if(Keyboard.GetKeyState(VK_S))Command.MoveEvent(1, MC_STEPDOWN); endif;if(Keyboard.GetKeyState(VK_A))Command.MoveEvent(1, MC_STEPLEFT); endif;
[/spoiler]
[spoiler=Movimento 2P]
$ if(Keyboard.GetKeyState(VK_G))Command.MoveEvent(2, MC_STEPUP); endif;if(Keyboard.GetKeyState(VK_N))Command.MoveEvent(2, MC_STEPRIGHT); endif;if(Keyboard.GetKeyState(VK_B))Command.MoveEvent(2, MC_STEPDOWN); endif;if(Keyboard.GetKeyState(VK_V))Command.MoveEvent(2, MC_STEPLEFT); endif;
[/spoiler]
[spoiler=Movimento 3P]
$ if(Keyboard.GetKeyState(VK_UP))Command.MoveEvent(3, MC_STEPUP); endif;if(Keyboard.GetKeyState(VK_RIGHT))Command.MoveEvent(3, MC_STEPRIGHT); endif;if(Keyboard.GetKeyState(VK_DOWN))Command.MoveEvent(3, MC_STEPDOWN); endif;if(Keyboard.GetKeyState(VK_LEFT))Command.MoveEvent(3, MC_STEPLEFT); endif;
[/spoiler]
[spoiler=Movimento 4P]
$ if(Keyboard.GetKeyState(VK_NUMPAD5))Command.MoveEvent(4, MC_STEPUP); endif;if(Keyboard.GetKeyState(VK_NUMPAD3))Command.MoveEvent(4, MC_STEPRIGHT); endif;if(Keyboard.GetKeyState(VK_NUMPAD2))Command.MoveEvent(4, MC_STEPDOWN); endif;if(Keyboard.GetKeyState(VK_NUMPAD1))Command.MoveEvent(4, MC_STEPLEFT); endif;
[/spoiler]
É muito melhor separá-los. Dá para copiar e colar numa boa. Ou seja, menos trabalho. (y)
Nota: Eu estou usando 4 NPC's para tomarem o papel de 4 jogadores. O hero eu deixei de lado por opção mesmo. Porque eu sou ousado. =)
Terceiro Passo
• Esse terceiro passo é para consertar o bug presente no movimento. Repara que quando você tenta olhar numa direção e há um NPC do seu lado você não consegue virar o Player. Essa medida serve para consertar isso. Um efeito bacana ( bug ) que isso gera é que dá para andar e 'deslizar' com o player. Muito interativo. Recomendo.
• Crie um outro evento em Processo Paralelo também abaixo do herói.
E, nele, coloque os seguintes códigos:
[spoiler=Consertar 1P]
$ if(Keyboard.GetKeyState(VK_W))Event[1].DirLook=Dir_UP; endif;if(Keyboard.GetKeyState(VK_D))Event[1].DirLook=Dir_RIGHT; endif;if(Keyboard.GetKeyState(VK_S))Event[1].DirLook=Dir_DOWN; endif;if(Keyboard.GetKeyState(VK_A))Event[1].DirLook=Dir_LEFT; endif;
[/spoiler]
[spoiler=Consertar 2P]
$ if(Keyboard.GetKeyState(VK_G))Event[2].DirLook=Dir_UP; endif;if(Keyboard.GetKeyState(VK_N))Event[2].DirLook=Dir_RIGHT; endif;if(Keyboard.GetKeyState(VK_B))Event[2].DirLook=Dir_DOWN; endif;if(Keyboard.GetKeyState(VK_V))Event[2].DirLook=Dir_LEFT; endif;
[/spoiler]
[spoiler=Consertar 3P]
$ if(Keyboard.GetKeyState(VK_UP)!=0)Event[3].DirLook=Dir_UP; endif;if(Keyboard.GetKeyState(VK_RIGHT)!=0)Event[3].DirLook=Dir_RIGHT; endif;if(Keyboard.GetKeyState(VK_DOWN))Event[3].DirLook=Dir_DOWN; endif;if(Keyboard.GetKeyState(VK_LEFT))Event[3].DirLook=Dir_LEFT; endif;
[/spoiler]
[spoiler=Consertar 4P]
$ if(Keyboard.GetKeyState(VK_NUMPAD5))Event[4].DirLook=Dir_UP; endif;if(Keyboard.GetKeyState(VK_NUMPAD3))Event[4].DirLook=Dir_RIGHT; endif;if(Keyboard.GetKeyState(VK_NUMPAD2))Event[4].DirLook=Dir_DOWN; endif;if(Keyboard.GetKeyState(VK_NUMPAD1))Event[4].DirLook=Dir_LEFT; endif;
[/spoiler]
Quarto Passo
Agora é a hora de criar os comandos no NPC.
Bem, a lógica agora é criar inúmeras posições. Vamos verificar em qual tile o player está em relação ao NPC, além de saber para qual direção ele olha. Inclusive se ele apertará a tecla de comando. Nota: Cada player tem sua tecla de ação. Para cada direção dos 4 Players, haverá um valor para uma única variável.
Cole esses códigos na página do NPC que deve estar em Processo Paralelo!
[spoiler=Verificar 1P]
$ if(Event[1].X ==Event[THIS].X &&Event[1].Y ==Event[THIS].Y -1&&Event[1].DirLook==Dir_DOWN&&Keyboard.GetKeyState(VK_Z)) v[1]=4; endif;if(Event[1].X ==Event[THIS].X +1&&Event[1].Y ==Event[THIS].Y &&Event[1].DirLook==Dir_LEFT&&Keyboard.GetKeyState(VK_Z)) v[1]=3; endif;if(Event[1].X ==Event[THIS].X -1&&Event[1].Y ==Event[THIS].Y &&Event[1].DirLook==Dir_RIGHT&&Keyboard.GetKeyState(VK_Z)) v[1]=2; endif;if(Event[1].X ==Event[THIS].X &&Event[1].Y ==Event[THIS].Y +1&&Event[1].DirLook==Dir_UP&&Keyboard.GetKeyState(VK_Z)) v[1]=1; endif;
[/spoiler]
[spoiler=Verificar 2P]
$ if(Event[2].X ==Event[THIS].X &&Event[2].Y ==Event[THIS].Y -1&&Event[2].DirLook==Dir_DOWN&&Keyboard.GetKeyState(VK_SPACE)) v[1]=4; endif;if(Event[2].X ==Event[THIS].X +1&&Event[2].Y ==Event[THIS].Y &&Event[2].DirLook==Dir_LEFT&&Keyboard.GetKeyState(VK_SPACE)) v[1]=3; endif;if(Event[2].X ==Event[THIS].X -1&&Event[2].Y ==Event[THIS].Y &&Event[2].DirLook==Dir_RIGHT&&Keyboard.GetKeyState(VK_SPACE)) v[1]=2; endif;if(Event[2].X ==Event[THIS].X &&Event[2].Y ==Event[THIS].Y +1&&Event[2].DirLook==Dir_UP&&Keyboard.GetKeyState(VK_SPACE)) v[1]=1; endif;
[/spoiler]
[spoiler=Verificar 3P]
$ if(Event[3].X ==Event[THIS].X &&Event[3].Y ==Event[THIS].Y -1&&Event[3].DirLook==Dir_DOWN&&Keyboard.GetKeyState(VK_RETURN)) v[1]=4; endif;if(Event[3].X ==Event[THIS].X +1&&Event[3].Y ==Event[THIS].Y &&Event[3].DirLook==Dir_LEFT&&Keyboard.GetKeyState(VK_RETURN)) v[1]=3; endif;if(Event[3].X ==Event[THIS].X -1&&Event[3].Y ==Event[THIS].Y &&Event[3].DirLook==Dir_RIGHT&&Keyboard.GetKeyState(VK_RETURN)) v[1]=2; endif;if(Event[3].X ==Event[THIS].X &&Event[3].Y ==Event[THIS].Y +1&&Event[3].DirLook==Dir_UP&&Keyboard.GetKeyState(VK_RETURN)) v[1]=1; endif;
[/spoiler]
[spoiler=Verificar 4P]
$ if(Event[4].X ==Event[THIS].X &&Event[4].Y ==Event[THIS].Y -1&&Event[4].DirLook==Dir_DOWN&&Keyboard.GetKeyState(VK_NUMPAD0)) v[1]=4; endif;if(Event[4].X ==Event[THIS].X +1&&Event[4].Y ==Event[THIS].Y &&Event[4].DirLook==Dir_LEFT&&Keyboard.GetKeyState(VK_NUMPAD0)) v[1]=3; endif;if(Event[4].X ==Event[THIS].X -1&&Event[4].Y ==Event[THIS].Y &&Event[4].DirLook==Dir_RIGHT&&Keyboard.GetKeyState(VK_NUMPAD0)) v[1]=2; endif;if(Event[4].X ==Event[THIS].X &&Event[4].Y ==Event[THIS].Y +1&&Event[4].DirLook==Dir_UP&&Keyboard.GetKeyState(VK_NUMPAD0)) v[1]=1; endif;
[/spoiler]
Volto a falar que o bom de estarem separados é que você pode copiar e colar numa boa!
Agora está na hora de criar as condições.
[spoiler=NPC gera fala única para todos os players]Basta dar um valor único à uma variável qualquer. E mudar o código no Destiny Script, além de mudar nas condições.. Dessa maneira: [/spoiler]
Se algo ficou mal explicado, terei o maior prazer em responder aqui no tópico. Mas se não foi, não se preocupe que a demo falará por si só.
Número de:
- Switches = 1
- Condições = 4 ( De acordo com cada NPC )
- Variáveis = 1
- Itens necessários = 0
- Eventos comuns = 0
- Controles = Explicado na demo.
http://www.youtube.com/watch?v=AHYCjWNZdGQ&feature=youtu.be
Clique aqui para fazer o download. Hospedado pelo Media Fire.
[center]
Créditos a Avenger_B7 por ter criado o tutorial e o sistema.
I’ve the same problem sometimes, but I generally just force myself via it and revise later. Good luck! 사설토토사이트
I just couldn’t leave your site before suggesting that I extremely loved the usual information a person supply for your guests? Is going to be back ceaselessly to investigate cross-check new posts.
I have to show some appreciation to the writer for bailing me out of this particular difficulty. As a result of looking out throughout the the web and finding basics which were not beneficial, I believed my entire life was done. Being alive without the approaches to the issues you’ve resolved as a result of your main guide is a serious case, as well as the kind which could have adversely damaged my entire career if I hadn’t encountered your web page. Your primary mastery and kindness in dealing with a lot of things was invaluable. I am not sure what I would’ve done if I had not encountered such a point like this. I can at this time relish my future. Thanks a lot very much for this impressive and result oriented help. I will not be reluctant to refer your site to any person who should receive recommendations on this issue.
Hey there. I discovered your website by way of Google even as searching for a similar matter, your web site came up. It seems to be great. I have bookmarked it in my google bookmarks to come back later.
Hello there, just became aware of your blog through Google, and found that it’s really informative. I will appreciate if you continue this in future. Numerous people will benefit from your writing. Cheers!
Hello there, just became aware of your blog through Google, and found that it’s really informative. I will appreciate if you continue this in future. Numerous people will benefit from your writing. Cheers!
I precisely had to thank you so much yet again. I do not know the things I might have implemented in the absence of the actual creative ideas shared by you on such a area of interest. It absolutely was an absolute frightful crisis in my opinion, but finding out your professional approach you solved it took me to leap with delight. I am happy for this guidance as well as wish you comprehend what an amazing job you were undertaking teaching many others through a blog. I know that you’ve never encountered all of us.
FB9 là một trong những nhà cái hàng đầu trong lĩnh vực cá cược trực tuyến. Tự hào với danh tiếng và độ uy tín lớn nhất thế giới. FB9 luôn đứng đầu trong việc cung cấp các dịch vụ cá cược chất lượng . Với kho game của FB9 gồm nhiều trò chơi hấp dẫn và đa dạng. Từ xổ số online, casino trực tuyến đến cá cược thể thao. Hay đá gà, nổ hũ và đánh bài trực tuyến….. Tất cả đều được thiết kế với mục đích mang đến cho người chơi cảm giác hứng khởi.
#fb9 #fb9space #nhacaifb9
Thông Tin Liên Hệ:
Phone: 39567992
Location: nhà số 42, ngách49, ngõ 32 Đỗ Đức Dục, Nam Từ Liêm, Hà Nội
Gmail: [email protected]
Web: https://fb9.space/
I’ve been exploring for a little bit for any high quality articles or weblog posts on this kind of area . Exploring in Yahoo I ultimately stumbled upon this web site. Studying this info So i am satisfied to convey that I’ve an incredibly good uncanny feeling I discovered just what I needed. I so much no doubt will make sure to don’t put out of your mind this website and give it a look a relentless basis.
Blasphemy! : ) Simply kidding. Ive go through related points upon various other weblogs. Sick acquire your term for this. Continue to be sound! the companion.
I have been surfing on-line more than three hours lately, but I never discovered any interesting article like yours. It is lovely value sufficient for me. In my opinion, if all webmasters and bloggers made just right content material as you did, the net can be a lot more useful than ever before.
I like the many blogposts, I seriously liked, I want details about it, since it is rather wonderful., Cheers pertaining to expressing.
I'm keen on the various blogposts, When i severely preferred, I'd prefer specifics about the item, due to the fact it is superb., Best wishes concerning producing. stars77
Sea include onto your website page while utilizing see solely solely a little portion submits. Enjoyable strategy for near future, My business is bookmarking presently find models conduct happens absent.
Though when i received with your world-wide-web wood even so putting understanding just a bit hint submits. Pleasant technique for likely, I am book-marking on a time uncover designs consider spgs technique in place.
As i purchased with your blog site while positioning fascination purely a little bit little submits. Fulfilling technique for extended, We will be book-marking during a period attain forms finish happens further up.
I like your release. It can be wonderfubest childrens' smartwatch
l to discovbest childrens' smartwatch
erbest chbest childrebest childrens' smartwatch
ns' smartwatch
ildrebest childrens' smartwatch
ns' smartwbest childrens' smartwatch
atch
somebody mabbest childrens' smartwatch
est childrens' smbest childrens' smartwatch
artwatch
ke clearbest childrens' smartwatch
throughout wordbest childrens' smartwatch
s abest childrens' smartwatch
nd phrases inside centre and also clearness about it vital theme may be simply discovered.
There are some attention-grabbing closing dates in this article however I don’t know if I see all of them heart to heart. There is some validity but I’ll take maintain opinion until I look into it further. Good article , thanks and we would like extra! Added to FeedBurner as nicely
Many thanks for the excellent post C I had fun reading it! That i love this blog.