- ZangtherMembre
- Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013
[VXAce][RME] Brouillard de guerre
Dim 3 Sep 2017 - 23:47
Une petite évolution par rapport au tuto précédent sur le champ de vision. Pas trop d'explications mais je suis disponible pour vous expliquer en cas de besoin.
Event - EV001
Il existait aussi une autre version plus avancée mais il faudra qu'on retrouve le code :
Event - EV001
| > Appeler Script : L[:black_tile] = 1536 |
| > Commentaire : Iteration sur toutes les cases de la carte |
| > Opération : Variable [0002:y] = 0 |
| > Opération : Variable [0003:map_width] = map_width |
| > Opération : Variable [0004:map_height] = map_height |
| > Boucle |
| >| > Condition : Variable [0002:y] == Variable [0004:map_height] |
| >| >| > Commentaire : Obligé d'utiliser une étiquette sinon... ça plante :O |
| >| >| > Aller à l'Étiquette : end_loop |
| >| >| > |
| >| > Fin - Condition |
| >| > Opération : Variable [0001:x] = 0 |
| >| > Boucle |
| >| >| > Condition : Variable [0001:x] == Variable [0003:map_width] |
| >| >| >| > Sortir de la Boucle |
| >| >| >| > |
| >| >| > Fin - Condition |
| >| >| > Commentaire : On stock les données de la case courante dans un HASH ! |
| >| >| > Commentaire : Via les labels !!! |
| >| >| > Appeler Script : offset = "#{V[1]}-#{V[2]}-" |
| >| >| > Appeler Script : L["#{offset}0"] = tile_id(V[1], V[2], 0) |
| >| >| > Appeler Script : L["#{offset}1"] = tile_id(V[1], V[2], 1) |
| >| >| > Appeler Script : L["#{offset}2"] = tile_id(V[1], V[2], 2) |
| >| >| > Commentaire : On rend la case courante noire |
| >| >| > Appeler Script : set_tile(L[:black_tile], V[1], V[2], 0) |
| >| >| > Appeler Script : set_tile(0, V[1], V[2], 1) |
| >| >| > Appeler Script : set_tile(0, V[1], V[2], 2) |
| >| >| > Opération : Variable [0001:x] += 1 |
| >| >| > |
| >| > Fin - Boucle |
| >| > Opération : Variable [0002:y] += 1 |
| >| > |
| > Fin - Boucle |
| > Étiquette : end_loop |
| > Boucle |
| >| > Attendre : 1 Frames |
| >| > Commentaire : On parcours toutes les cases voisines |
| >| > Opération : Variable [0002:y] = -1 |
| >| > Boucle |
| >| >| > Commentaire : Petite attente pour un peu plus de swagg |
| >| >| > Attendre : 1 Frames |
| >| >| > Condition : Variable [0002:y] > 1 |
| >| >| >| > Aller à l'Étiquette : end_loop2 |
| >| >| >| > |
| >| >| > Fin - Condition |
| >| >| > Opération : Variable [0001:x] = -1 |
| >| >| > Boucle |
| >| >| >| > Commentaire : Petite attente pour un peu plus de swagg |
| >| >| >| > Attendre : 1 Frames |
| >| >| >| > Condition : Variable [0001:x] > 1 |
| >| >| >| >| > Sortir de la Boucle |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Appeler Script : L[:s_x] = player_x + V[1] |
| >| >| >| > Appeler Script : L[:s_y] = player_y + V[2] |
| >| >| >| > Commentaire : Si la case existe |
| >| >| >| > Condition : Script : L[:s_x] >= 0 and L[:s_x] < map_width and L[:s_y] >= 0 and L[:s_y] < map_height |
| >| >| >| >| > Commentaire : Remplacer la case si elle n'a pas déjà été modifiée |
| >| >| >| >| > Appeler Script : offset = "#{L[:s_x]}-#{L[:s_y]}-" |
| >| >| >| >| > Appeler Script : if tile_id(L[:s_x], L[:s_y], 0) != L["#{offset}0"] |
| >| >| >| >| > Appeler Script : set_tile(L["#{offset}0"], L[:s_x], L[:s_y], 0) |
| >| >| >| >| > Appeler Script : end |
| >| >| >| >| > Appeler Script : if tile_id(L[:s_x], L[:s_y], 1) != L["#{offset}1"] |
| >| >| >| >| > Appeler Script : set_tile(L["#{offset}1"], L[:s_x], L[:s_y], 1) |
| >| >| >| >| > Appeler Script : end |
| >| >| >| >| > Appeler Script : if tile_id(L[:s_x], L[:s_y], 2) != L["#{offset}2"] |
| >| >| >| >| > Appeler Script : set_tile(L["#{offset}2"], L[:s_x], L[:s_y], 2) |
| >| >| >| >| > Appeler Script : end |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Opération : Variable [0001:x] += 1 |
| >| >| >| > |
| >| >| > Fin - Boucle |
| >| >| > Opération : Variable [0002:y] += 1 |
| >| >| > |
| >| > Fin - Boucle |
| >| > Étiquette : end_loop2 |
| >| > |
| > Fin - Boucle |
| > |
- Spoiler:
- tibluedreamMembre
- Nombre de messages : 944
Age : 35
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016
Re: [VXAce][RME] Brouillard de guerre
Lun 4 Sep 2017 - 17:43
il y a moyen de changer le carré noir par un losange?
- ZangtherMembre
- Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013
Re: [VXAce][RME] Brouillard de guerre
Lun 4 Sep 2017 - 17:47
Etant donné que le code se base sur des tiles, je ne pense pas. Désolé.tibluedream a écrit:il y a moyen de changer le carré noir par un losange?
- tibluedreamMembre
- Nombre de messages : 944
Age : 35
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016
Re: [VXAce][RME] Brouillard de guerre
Lun 4 Sep 2017 - 21:13
donc faudrais changer la nature des tiles pour obtenir ce résultat si je comprends bien c'est dommage ça a l'air super fluide.
Re: [VXAce][RME] Brouillard de guerre
Lun 4 Sep 2017 - 21:18
Excellent travail ! Je n'utiliserai pas dans l'immédiat, mais en tout cas le résultat est super !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|