RMEx
RMEx

Community


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Portail éliatrope

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

Hello les gens, pour mon futur projet secondaire (ouaip spyro est mon projet principal) j'ai du créé un système de téléportation par portail (Comme les éliatrope dans wakfu/dofus), mon moteur de plarformer étant en full event, je ne vous présenterais que la partie qui concerne les portails ^^

un petit aperçus ?


Le code de la page :
Event - Engine_platform (portail mode)
| > Commentaire : Coordonée souris
| > Appeler Script : L[:mx] = mouse_square_x*32
| > Appeler Script : L[:my] = mouse_square_y*32
| > Commentaire : Placement du nouveau portail
| > Condition : Script : mouse_press?(:mouse_left)
| >| > Appeler Script : L[:idp] += 1
| >| > Appeler Script : L[:idp] = 8 if L[:idp] >= 10
| >| > Appeler Script : picture_show(L[:idp], "#{L[:np]}", L[:mx], L[:my], 1)
| >| > Condition : Script : L[:idp] != 8
| >| >| > Appeler Script : L[:por_x1] = mouse_square_x
| >| >| > Appeler Script : L[:por_y1] = mouse_square_y
| >| >| >
| >| > Sinon
| >| >| > Appeler Script : L[:por_x2] = mouse_square_x
| >| >| > Appeler Script : L[:por_y2] = mouse_square_y
| >| >| >
| >| > Fin - Condition
| >| >
| > Fin - Condition
| > Commentaire : Téléportation
| > Appeler Script : L[:rxp] = L[:rmx].to_i
| > Appeler Script : L[:ryp] = L[:rmy].to_i
| > Condition : Script : picture_showed?(L[:idp]) && picture_showed?(L[:idp]+1)
| >| > Condition : Script : L[:rxp] == L[:por_x1]  
| >| >| > Condition : Script : L[:ryp] == L[:por_y1] or L[:ryp]-1 == L[:por_y1]
| >| >| >| > Appeler Script : L[:sx], L[:sy] = L[:por_x2]*32, (L[:por_y2]*32)-4  
| >| >| >| > Appeler Script : (L[:idp]..L[:idp]+1).each{|i| picture_erase(i)}
| >| >| >| > Appeler Script : L[:por_x1], L[:por_y1], L[:por_x2], L[:por_y2] = 0,0,0,0
| >| >| >| >
| >| >| > Fin - Condition
| >| >| >
| >| > Fin - Condition
| >| > Condition : Script : L[:rxp] == L[:por_x2]  
| >| >| > Condition : Script : L[:ryp] == L[:por_y2] or L[:ryp]-1 == L[:por_y2]
| >| >| >| > Appeler Script : L[:sx], L[:sy] = L[:por_x1]*32, (L[:por_y1]*32)-4  
| >| >| >| > Appeler Script : (L[:idp]..L[:idp]+1).each{|i| picture_erase(i)}
| >| >| >| > Appeler Script : L[:por_x1], L[:por_y1], L[:por_x2], L[:por_y2] = 0,0,0,0
| >| >| >| >
| >| >| > Fin - Condition
| >| >| >
| >| > Fin - Condition
| >| >
| > Fin - Condition
| >
C'est un sacré bordel vue comme ça je sais ^^ mais je vais essayé d'y métre un peu d'ordre, de plus il manque encore quelque condition pour la pose des portails (zone passable ou non, distance, quantité de wakfu, etc....)

précisons qu'a l’exception de la map, tout est géré en image (même le héros)

Voir le profil de l'utilisateur
Merci :p,

j'ai pu apporté 2/3 modifs, maintenant la téléportation est désactivé temps que les 2 portail ne sont pas posé. et ont ne peu plus posé de portail dans les zones non passable. il reste cependant un soucis de collision (il arrive parfois que les collisions ne se font plus du tout quand je pose un portail, mais j'ignore d'ou ça vien ^^)



Dernière édition par spyrojojo le Ven 7 Aoû - 15:09, édité 1 fois

Voir le profil de l'utilisateur
Désolé pour le double post mais petite mise a jour ^^


ont as désormais une jauge de "wakfu" qui limite l'utilisation de wakfu et elle ce recharge au fur a mesure ^^

Voir le profil de l'utilisateur

5

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum