- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Zelda Hearth System
Dim 10 Oct 2010 - 9:40
Bonjour à tous !
Alors comme je me suis inscrit récemment sur la communauté anglaise de making, je me suis dit que partager des scripts seraient sympas. Alors voilà, je vous donne pour la première fois, le Zelda Hearth System.
Nom : Zelda Hearth System
Auteur : Omega7
Utilité : Crée un HUD en forme de cœur et comptabilise les points de vie en cœurs. A la Zelda
Lien de la Démo : http://omegas7.wordpress.com/2010/04/14/zelda-health-system/
Code :
Screens :
Cordialement,
PS : Il me semble que certains voulaient un système pareil, mais avaient demandé une modif' des scripteurs, veuillez les avertir, pour ne pas tourner à vide .
Alors comme je me suis inscrit récemment sur la communauté anglaise de making, je me suis dit que partager des scripts seraient sympas. Alors voilà, je vous donne pour la première fois, le Zelda Hearth System.
Nom : Zelda Hearth System
Auteur : Omega7
Utilité : Crée un HUD en forme de cœur et comptabilise les points de vie en cœurs. A la Zelda
Lien de la Démo : http://omegas7.wordpress.com/2010/04/14/zelda-health-system/
Code :
- Spoiler:
- Code:
# =============================================================================
# OmegaX Zelda Health System.
# Author: Omegas7
# Version: 0.1.
# =============================================================================
# Description:
# Simulates a Zelda Hearts system: A HUD that will represent your HP with
# heart graphics. Each heart is worth 4 HP (4 fragments).
# =============================================================================
# Notes:
# Just make sure that the player's life is a multiple of 4 to have this
# working properly!
# =============================================================================
module OmegaX
module ZeldaHealth
HeartsPerRow = 10
HeartGraphic = 'Heart'
HeartBack = 'HeartBack'
SWITCH = 1
end
end
class ZeldaHealth
include OmegaX::ZeldaHealth
def initialize
@member = $game_party.members[0]
@id = 0
if @member != nil
@id = @member.id
@hp = $game_party.members[0].hp
@maxhp = $game_party.members[0].maxhp
end
@backs = []
@hearts = []
@switch = $game_switches[SWITCH]
draw_sprites if @id != 0
refresh if @id != 0
end
def clear
for i in 0...@hearts.size
@hearts[i].finish
@hearts[i] = nil
@backs[i].finish
@backs[i] = nil
end
@hearts.compact!
@backs.compact!
end
def draw_sprites
row = 0
requirement_for_row = HeartsPerRow
x = 0
for i in 0...((@maxhp/4.0).ceil)
if i < requirement_for_row
@backs.push(ZeldaHeartBack.new(x,row))
@hearts.push(ZeldaHeart.new(x,row))
x += 1
else
row += 1
x = 0
requirement_for_row += (HeartsPerRow)
@backs.push(ZeldaHeartBack.new(x,row))
@hearts.push(ZeldaHeart.new(x,row))
x = 1
end
@hearts[@hearts.size - 1].visible(@switch)
@backs[@hearts.size - 1].visible(@switch)
end
end
def refresh
hp = @hp
done = false
if hp > 0
for heart in 0...@hearts.size
for switch in 0...@hearts[heart].switches.size
if @hearts[heart].switches[switch] == false && hp > 0
@hearts[heart].switches[switch] = true
hp -= 1
done = true if hp <= 0
end
end
end
end
for i in 0...@hearts.size
@hearts[i].update
end
end
def update
if $game_party.members[0] == nil
if @id != 0
@id = 0
finish
end
else
if @id != $game_party.members[0].id
@id = -1
end
end
if @id != 0
if @hp != $game_party.members[0].hp ||
@maxhp != $game_party.members[0].maxhp ||
@switch != $game_switches[SWITCH] ||
@id != $game_party.members[0].id
@id = $game_party.members[0].id
@switch = $game_switches[SWITCH]
@hp = $game_party.members[0].hp
@maxhp = $game_party.members[0].maxhp
clear
draw_sprites
refresh
end
end
end
def finish
for i in 0...@hearts.size
@hearts[i].finish
@backs[i].finish
end
end
end
class ZeldaHeartBack
include OmegaX::ZeldaHealth
def initialize(index,row)
@sprite = Sprite_Base.new
@sprite.bitmap = Cache.system(HeartBack)
@sprite.x = index * @sprite.width
@sprite.y = row * @sprite.height
@sprite.z = 100
end
def visible(value)
@sprite.visible = value
end
def finish
@sprite.dispose
end
end
class ZeldaHeart
include OmegaX::ZeldaHealth
attr_accessor :switches
def initialize(index,row)
bitmap = Cache.system(HeartGraphic)
@switches = [false,false,false,false]
@current = [false,false,false,false]
@parts = []
@sprite = Sprite_Base.new
@sprite.bitmap = Bitmap.new(bitmap.width,bitmap.height)
@sprite.x = index * bitmap.width
@sprite.y = row * bitmap.height
@sprite.z = 101
for i in 0...4
@parts.push(Bitmap.new(bitmap.width/2,bitmap.height/2))
case i
when 0
@parts[i].blt(0,0,bitmap,Rect.new(0,0,bitmap.width/2,bitmap.height/2))
when 1
@parts[i].blt(0,0,bitmap,Rect.new(bitmap.width/2,0,bitmap.width/2,bitmap.height/2))
when 2
@parts[i].blt(0,0,bitmap,Rect.new(0,bitmap.height/2,bitmap.width/2,bitmap.height/2))
when 3
@parts[i].blt(0,0,bitmap,Rect.new(bitmap.width/2,bitmap.height/2,bitmap.width/2,bitmap.height/2))
end
end
end
def update
if @current != @switches
refresh
end
end
def refresh
@sprite.bitmap.clear
@current = @switches
for i in 0...@current.size
if @current[i]
case i
when 0
@sprite.bitmap.blt(0,0,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
when 1
@sprite.bitmap.blt(@parts[i].width,0,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
when 2
@sprite.bitmap.blt(0,@parts[i].height,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
when 3
@sprite.bitmap.blt(@parts[i].width,@parts[i].height,@parts[i],Rect.new(0,0,@parts[i].width,@parts[i].height))
end
end
end
end
def visible(value)
@sprite.visible = value
end
def finish
@sprite.dispose
end
end
class Scene_Map
alias omegax_zelda_health_initialize initialize
alias omegax_zelda_health_update update
alias omegax_zelda_health_terminate terminate
def initialize
omegax_zelda_health_initialize
@zeldahealth = ZeldaHealth.new
end
def update
omegax_zelda_health_update
@zeldahealth.update
end
def terminate
omegax_zelda_health_terminate
@zeldahealth.finish
end
end
Screens :
- Spoiler:
Cordialement,
PS : Il me semble que certains voulaient un système pareil, mais avaient demandé une modif' des scripteurs, veuillez les avertir, pour ne pas tourner à vide .
- Shadow of LifeMembre
- Nombre de messages : 870
Age : 28
Localisation : Joyeux. Comment ça c'est pas la bonne case ?
Distinction : Artiste de la flagornerie.
Porte parole du Ô grand Voilà voilà.
Président du club des masochistes du forum
Fake Gentleman
Soumis ^^
Date d'inscription : 13/09/2009
Re: Zelda Hearth System
Dim 10 Oct 2010 - 12:22
Alors là ! Oo
Jamais vu de script aussi ... logique pour un RPG.
Un grand merci à toi Black' !
Jamais vu de script aussi ... logique pour un RPG.
Un grand merci à toi Black' !
- finalfanMembre
- Nombre de messages : 140
Age : 34
Distinction : aucune
Date d'inscription : 16/08/2008
Re: Zelda Hearth System
Dim 10 Oct 2010 - 12:47
Très bon script pour un A-RPG fait maison.
- Docteur Kojy.Staffeux retraité
- Nombre de messages : 1210
Age : 30
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté
Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself ]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008
Re: Zelda Hearth System
Dim 10 Oct 2010 - 12:54
Il est vraiment génial, ce script ! x)
Je crois que je vais créer un mini jeu juste pour le plaisir de m'en servir.
Merci du partage, et merci à omega7 !
En plus ça semble tout simple à utiliser. (Mais ce serait sympa d'avoir un menu adapté O=)
Je crois que je vais créer un mini jeu juste pour le plaisir de m'en servir.
Merci du partage, et merci à omega7 !
En plus ça semble tout simple à utiliser. (Mais ce serait sympa d'avoir un menu adapté O=)
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Dim 10 Oct 2010 - 13:27
- Docteur Kojy.Staffeux retraité
- Nombre de messages : 1210
Age : 30
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté
Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself ]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008
Re: Zelda Hearth System
Dim 10 Oct 2010 - 13:37
En fait y a un gros problème avec ce script. J'ai joué à la démo, et... on peut pas mourir ! 8D
Si on arrive à un seul pdv, on peut plus en perdre d'autres. Facheux.
Si on arrive à un seul pdv, on peut plus en perdre d'autres. Facheux.
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Dim 10 Oct 2010 - 13:44
- Docteur Kojy.Staffeux retraité
- Nombre de messages : 1210
Age : 30
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté
Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself ]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008
Re: Zelda Hearth System
Dim 10 Oct 2010 - 13:46
Oh ! O=
Au temps pour moi, je suis désolé.
Merci pour ton information en tout cas ! x)
Au temps pour moi, je suis désolé.
Merci pour ton information en tout cas ! x)
- lulu56250Membre
- Nombre de messages : 192
Age : 27
Localisation : Chez moi
Distinction : aucune
Date d'inscription : 30/10/2009
Re: Zelda Hearth System
Lun 1 Nov 2010 - 20:00
- Docteur Kojy.Staffeux retraité
- Nombre de messages : 1210
Age : 30
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté
Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself ]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008
Re: Zelda Hearth System
Lun 1 Nov 2010 - 20:52
Il faut que les hp de ton personnage soient à 12 pour avoir trois coeurs.
- lulu56250Membre
- Nombre de messages : 192
Age : 27
Localisation : Chez moi
Distinction : aucune
Date d'inscription : 30/10/2009
Re: Zelda Hearth System
Lun 1 Nov 2010 - 21:03
Ahh Okay
Mais quand je met 12 sur la base de donné
Sa change rien
Mais quand je met 12 sur la base de donné
Sa change rien
- Docteur Kojy.Staffeux retraité
- Nombre de messages : 1210
Age : 30
Localisation : si tu dis mon pseudo 3 fois devant un miroir, j'apparais derrière toi !
Distinction : Sauveur préféré de notre chère patrie la communauté
Officieusement le coach-vocal-impresario-choriste-muse-amant de Coco'[Coco' himself ]
Attend toujours de le voir apparaitre après avoir dit son pseudo 256 fois devant un miroir [Xak' ]
Si tu le poses contre ton oreille, tu entends un Sonic Rainboom.
Date d'inscription : 24/02/2008
Re: Zelda Hearth System
Lun 1 Nov 2010 - 21:29
Bizarre. Pourtant ça devrait. >.>
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Mer 3 Nov 2010 - 17:05
Je vais voir ça :
J'Edit pour t'aider
EDIT ; Un prob' de ma version, prends le script de la démo en attendant, désolé (manque de t♦emps)
J'Edit pour t'aider
EDIT ; Un prob' de ma version, prends le script de la démo en attendant, désolé (manque de t♦emps)
- lulu56250Membre
- Nombre de messages : 192
Age : 27
Localisation : Chez moi
Distinction : aucune
Date d'inscription : 30/10/2009
Re: Zelda Hearth System
Jeu 4 Nov 2010 - 19:50
J'ai utilsé ta démo
Mais sinon j'ai réésayer en changeant les hp du héro a 12
mais je ne sais pas cb il devra avoir de hp au lvl 99
Si vous pouviez me le dire sa marcherait facilement je pense
Mais sinon j'ai réésayer en changeant les hp du héro a 12
mais je ne sais pas cb il devra avoir de hp au lvl 99
Si vous pouviez me le dire sa marcherait facilement je pense
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Dim 21 Nov 2010 - 0:39
Il devrait avoir (j'insiste sur le devrais) 1188 hp. J'ai calculé 12 x 99.
Désolé pour le retard
Désolé pour le retard
- FrozenMembre
- Nombre de messages : 584
Age : 29
Distinction : Prêt à tout pour aider le staff !
(distinction promise ^^)
Date d'inscription : 20/03/2010
Re: Zelda Hearth System
Dim 21 Nov 2010 - 11:13
Si j'ai bien compris le problème:
Normalement, dans la base de données, tu clic sur le graphique des PV maximum, et tu peux choisir combien de PV tu veux que ton héros ait en fonction de son lvl ...
Si tu veux qui ait 12 PV au lvl 1 mais pas que ça dépasse 500 au lvl 99 tu génères un courbe qui va de 12 a 500.
Normalement, dans la base de données, tu clic sur le graphique des PV maximum, et tu peux choisir combien de PV tu veux que ton héros ait en fonction de son lvl ...
Si tu veux qui ait 12 PV au lvl 1 mais pas que ça dépasse 500 au lvl 99 tu génères un courbe qui va de 12 a 500.
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Dim 21 Nov 2010 - 14:12
En fait, il veux simplement savoir quelle courbe faire pour que son héros aille de 3 cœur à plus, sans prendre tout l'écran dès le début. Et comme le script prends en compte 4 PV par cœurs (4 quarts de cœurs), il commence avec 12 (3*4) et termine à 1188 (1188*4 = 297) donc il y aura 297 cœurs à l'écran au niveau 99. C'est pour éviter ce problème-là qu'il faut éviter d'utiliser des niveau dans ce genre de script, car si il comptabilise les points normalement, il va se retrouver avec 300 coeurs dans l'écran au niveau 99.
Donc oui, tu avais compris
Donc oui, tu avais compris
- FrozenMembre
- Nombre de messages : 584
Age : 29
Distinction : Prêt à tout pour aider le staff !
(distinction promise ^^)
Date d'inscription : 20/03/2010
Re: Zelda Hearth System
Dim 21 Nov 2010 - 16:06
J'ai bien aimé le script c'est original mais le problème c'est que si on a un nombre de PV différent d'un multiple de 4, il y a un coeur qui s’affiche mais on ne peut pas le remplir en plein ... c'est pas génial ...
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: Zelda Hearth System
Jeu 25 Nov 2010 - 17:07
C'est parce que il faut un type de moteur spécial, ce script n'est pas un HUD, un petit gadget mais un vrai système à lui-même. Il y a des contraintes quand on commence à sortir de la "RTP Zone de VX", et c'est ce qui est amusant dans le making.
- garbit0033Membre
- Nombre de messages : 3
Age : 29
Distinction : aucune
Date d'inscription : 09/12/2010
Re: Zelda Hearth System
Ven 17 Déc 2010 - 21:51
Désolé du Nécropost...(de 2,5 semaines :boulet: )
J'ai un petit problème, quand je met le script, (avec les images), les coeurs ne s'affichent pas... C'est assez problématique, quelqu'un à la solution?
J'ai un petit problème, quand je met le script, (avec les images), les coeurs ne s'affichent pas... C'est assez problématique, quelqu'un à la solution?
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum