Forum Liberty Basic France
Eternal Quest, Les runes de l’apocalypse
****************************************************************
LIEN DE TELECHARGEMENT : JUSTE ICI
Caractéristiques du jeu :
Langue de développement : Français ; Anglais
Langage de développement : LibertyBasic Pro license 4.5.1
Année de développement : 2011-2023
Développeur : Lomuto Alexandre
Type de projet : OPEN SOURCE
Taille du projet : environ 60mo
Extension du fichier téléchargeable : .zip
Plateforme du projet : Windows, linux(via machine virtuelle)

************************************
Principe du jeu :
Eternal Quest est un Rpg des plus simple. Vous incarnez votre personnage dans un monde fantastique, accomplissant des quêtes et évoluant dans celui-ci. Chaque choix que vous ferez modifiera définitivement votre aventure dans ce monde. Vous êtes pour commencer dans les niveaux 0 du jeu qui sont aux alentours d'un donjon central de 100 niveaux (SAO like). Vous devez vous frayer un chemin jusqu'au donjon pour commencer, puis gravir ces 100 niveaux sans mourir.
Votre personnage peut choisir sa classe ainsi que les pouvoirs qu'il maîtrisera. Il n'y a pas de limites de compétences ainsi que de niveau; plus vous vous entraînerez et plus vous deviendrez puissants.
************************************

Edité par atomose Le 15/08/2023 à 17h54
Pourrais tu poster les images de ton programme que l'on puisse le tester et voir où ça bug ?
Sinon, pour ne pas afficher un bmpbutton, tu peux utiliser la fonction hide :
Code VB :
print #handle.bnpbutton, "hide"
Pour "show" et "hide", voici un exemple :
Code VB :
nomainwin WindowWidth = 700 WindowHeight = 600 UpperLeftX=int((DisplayWidth-WindowWidth)/2) UpperLeftY=int((DisplayHeight-WindowHeight)/2) bmpbutton #1.jouer, "bmp\jouer.bmp", [jouer], LR, 350,210 bmpbutton #1.charger, "bmp\charger.bmp", [charger], LR, 150,45 open "" for window as #1 #1, "trapclose [quit]" wait [quit] close #1 end [jouer] #1.jouer, "hide" #1.charger, "show" wait [charger] #1.charger, "hide" #1.jouer, "show" wait
Au niveau du problème d'animation, je ne suis pas un expert...
Tu as déjà regardé sur le site d'Alix ? http://www.coolprog.com/FRENCH/index.html
Il y a pas mal de contenue qui t'apprend à créer une animation etc. C'est vraiment très bien fait.
(Notamment, tu peux lire les chapitre 4, 6 puis 7 qui t'explique le principe de l'animation, mais j'ai vu que tu utilisais ce principe très bien dans ton programme.)
Sinon, je il n'y a pas toutes les images dans le zip ! Quand je sélectionne humain et que je clique sur jouer, ça ne marche pas. Je vais rajouter manuellement quelques images et on verra ce que ça donne ^^
(histoire que je puisse déboguer le programme un peu)
++
Black Templar
Quand tu met du code dans ton message, utilise les balises [ code=vb][ /code] pour que ça soit plus lisible

Sinon, il n'y aurait pas un pb ici :
Code VB :
#3b, "cyclesprite perso1d 2"
Normalement, la seconde option de cyclesprite, c'est 1 ou -1 pour jouer l'animation à l'endroit ou à l'envers.
(Ton problème ne vient peut être pas de là, mais comme je ne peux pas tester le code, c'est pas évident à débugger ^^)
Bah, le mieux, c'est que tu zip ton code et tes images et que tu l'upload sur un hébergeur de fichier comme par exemple :
-Système plus stable ( on peut passer d'une fenêtre a une autres sans AUCUNS plantage ( normalement ^^).
-De nombreuses images refaites ( le forgeron, l'inventaire, et quelques détails sur d'autres ).
-Le personnage du forgeron est animé mtn =) en plus d'être refait entièrement .
-L'inventaire a été totalement refait pour simplifier son utilisation et éviter des bugs.
-Le personnage utilisé marche mieu( il n'est pas encore parfait mais c déjà mieux)
remarque* : plus le processeur de l'ordinateur est puissant et plus ses mouvements sont "fluides"
-Plein de petits bugs et d'amélioration en plus à découvrir

http://www.megaupload.com/?d=UJCGXJKO
suis-je le dernier survivant de ce forum ? ^^
version 1.8 en court de réalisation .... ça va être une.... révolution !

Edité par atomose Le 14/06/2011 à 17h04
le site est mort ? parce que sur d'autre site de just basic j'ai 5 réponses par jours ....
enfin bon j'attend ^^
En général je passe mais je ne dépose pas de message, surtout ces derniers temps, partiels oblige




En plus avec la musique du 13ème guerrier !! J'adore XD
Il y a juste l'animation du perso qui n'a pas l'air de marcher... Je vais regarder pk lundi

Bravo en tout cas

je ne sais pas pourquoi l'animation du perso ne marche plus... dans les premières version c t impeccable et après c parti sans savoir pourquoi -_-'
ça serai sympa a toi si tu arrivé a trouver le problème et a le réglé ^^ c'est le seul gros bug du jeu =( .
bonne chance a toi, pour ton site ainsi que pour l'animation

A mon avis, tu dois faire un drawsprite à chaque fois que tu veux passer à l'image suivante dans ton animation !!
Exemple : Dans ton code, remplace les timers de [for] et [for2] par 100ms :
Code VB :
[for] #3b,"SpriteVisible p1 off" #3b,"addsprite p1b p1b" #3b,"SpriteVisible p1b on" p1bx=p1x:p1by=p1y #3b,"spritexy p1b ";p1bx;" ";p1by #3b,"drawsprites" timer 100, [for2] wait [for2] #3b,"SpriteVisible p1b off" #3b,"addsprite p1 p1" #3b,"SpriteVisible p1 on" p1x=p1bx:p1y=p1by #3b,"spritexy p1 ";p1x;" ";p1y #3b,"drawsprites" timer 100, [for] wait
Maintenant, lance le programme, commence à marcher puis relache la touche ! Tu vois le problème ?? L'animation du perso est correcte !! (même si en théorie, il ne doit plus marcher !)
C'est peut être une piste ...
++
Un petit problème, quand le joueur et bloqué (un arbre par exemple), le point jaune sur la minicarte continu d'avancé

C'est du bon bouleau, bravo.
Cordialement
Jagang
Black Templar tu t un peu tromper de perso ^^ en faite le code que tu as sélectionner c pour le forgeron o_o... le personnage c un peu plus bas

pour l'histoire du curseur ca m’étonne o_o ! tu as test quel version ??? parce que la dernière (1.9) le curseur ne peut pas sortir de la mini carte ... a confirmer donc ^^
j'ai testé une nouvelle piste et c'est très étonnant je crois d'ailleurs que c'est la clé mais la encore je bloque :
si j'enlève tous les timer le perso marche normalement avec fluidité ! par contre si je réduit le jeu et que je le réouvre et ben l'image disparaît =(....
est ce qu'il y a un moyen de stopper un timer ? parce que même en fermant une fenêtre et en la réouvrant le timer marche toujours -_-'' .
si vous pouviez trouver la commande pour que le timer ne fonctionne qu'une seule fois et non en boucle la quasi totalité des bugs seront corriger .... encore faut-il trouver ^^ !
Code VB :
timer 0
Ça arrête le timer.
Car en fait, en LB, il n'y a qu'un seul timer. Si tu mets :
Code VB :
timer 100, [time1]
Puis plus loin dans ton code
Code VB :
timer 200, [time2]
Et bien il n'y a que [time2] qui est appelé toute les 200ms, [time1] n'est plus appelé.
Après, j'ai pas très bien regarder ton code, donc je sais pas si le problème viens de là.
Je vais y jeter un coups d'oeil, mais j'ai que la version 1.7, où as-tu mis la 1.9 ?
Cordialement
Jagang
EDIT : Arg !!
Je viens de regarder ton code correctement (un peu :P ). J'ai halluciné. J'espère que tu as changer d'organisation dans ton code dans la 1.9 ? Faire 50 teste pour chaque obstacle de la map, c'est pas du tout bien...
Je te conseil de créé un fichier par carte, que tu charge dans un tableau. Dedans le tableau (donc le fichier) tu met des 0 et de 1, pour dire si dans cette case, le joueur peut passer. Tu peux choisir la taille d'une case en fonction de ce que tu veux, je verrais bien des case de 15*15px. Comme ça, tu prend la position du joueur, tu fait un petit calcule (une division avec un Int() et peut-être une addition :P ), et tu obtiens si la case ou le joueur veux aller n'est pas un obstacle.
C'est beaucoup plus souple que tes conditions, images si tu as 100 cartes !
Tu as fait un gros bouleau, c'est bien, mais si tu veux y arriver, il faut que tu structure ton code. Désolé de te le dire mais là, c'est le foutoir. C'est pas méchant hein, le prend pas mal, je suis là pour t'aider.
Donc pour le moment, je pense que l’animation de ton personnage n'est pas la chose la plus importante.
Voila, c'est pas pour que tu parts en courant hein ? Ton jeu semble prometteur, il me semble simplement qu'il manque de réflexion avec que tu te mettes à le coder, mais ça peut se rattraper.
Cordialement
Jagang
PS : Ne prend pas en compte ce que je dit ci dessus si tu as déjà fait tout cela dans la 1.9

le fait de stoper le timer c deja une grande aide ! merci !!!!
pour la carte avec les 0 et 1 je suis deja aux courant ^^ pour te donner une idée j'avai dans les anciennes version 1 ligne de condition pour chaque ( 2pixel ) de la map soit environ 500 lignes en abscisse et 300 en ordonné XD.
je me suis mis a imaginer des codes inimaginable pour réduira ce code pour une bonne raison : 5 classe de joueur avec 3 spécialisation par classe et 200 map par spécialisation soit 3x200x5 = 3000 map ^^... j'ai réussi a combiner plusieurs ligner et la surprise je suis passer de plusieurs centaine de lignes pour une map a près de 40 lignes plus ou moins =).
je pense passer a la technique des 0 et 1 dans les version a venir mais je t’avoue que je ne sais pas du tout comment mi prendre =(....
une fois un exemple sous les yeux je peu le faire mais sinon je galère ^^.
pourais tu me donner un exemple ???
merci a toi deja et j'accept trés bien les critiques

voici la version 1.8 le temps que je poste la 1.9 !
http://www.megaupload.com/?d=81UUCJYS
a oui aussi est ce que vous savez la ligne de commande pour une music en .mid ???? parceque les .wav sont tro lourd ^^. merci
Edité par atomose Le 09/06/2011 à 21h32

Code VB :
nomainwin dim p(10,10) p(0,0)=1:p(0,1)=0:p(0,2)=0:p(0,3)=0:p(0,4)=0:p(0,5)=0:p(0,6)=0:p(0,7)=0:p(0,8)=0:p(0,9)=0 p(1,0)=0:p(1,1)=1:p(1,2)=0:p(1,3)=0:p(1,4)=0:p(1,5)=0:p(1,6)=0:p(1,7)=1:p(1,8)=0:p(1,9)=0 p(2,0)=0:p(2,1)=0:p(2,2)=1:p(2,3)=0:p(2,4)=0:p(2,5)=0:p(2,6)=0:p(2,7)=0:p(2,8)=0:p(2,9)=0 p(3,0)=0:p(3,1)=0:p(3,2)=0:p(3,3)=1:p(3,4)=0:p(3,5)=1:p(3,6)=0:p(3,7)=0:p(3,8)=0:p(3,9)=1 p(4,0)=0:p(4,1)=0:p(4,2)=0:p(4,3)=0:p(4,4)=1:p(4,5)=0:p(4,6)=0:p(4,7)=0:p(4,8)=1:p(4,9)=0 p(5,0)=0:p(5,1)=0:p(5,2)=1:p(5,3)=0:p(5,4)=0:p(5,5)=1:p(5,6)=0:p(5,7)=0:p(5,8)=0:p(5,9)=0 p(6,0)=0:p(6,1)=1:p(6,2)=0:p(6,3)=0:p(6,4)=0:p(6,5)=0:p(6,6)=1:p(6,7)=0:p(6,8)=0:p(6,9)=0 p(7,0)=0:p(7,1)=0:p(7,2)=0:p(7,3)=0:p(7,4)=0:p(7,5)=0:p(7,6)=0:p(7,7)=1:p(7,8)=0:p(7,9)=0 p(8,0)=0:p(8,1)=0:p(8,2)=0:p(8,3)=0:p(8,4)=0:p(8,5)=0:p(8,6)=0:p(8,7)=0:p(8,8)=1:p(8,9)=0 p(9,0)=1:p(9,1)=0:p(9,2)=0:p(9,3)=0:p(9,4)=0:p(9,5)=0:p(9,6)=0:p(9,7)=0:p(9,8)=0:p(9,9)=0 tailleDuneCase = 50 WindowHeight = tailleDuneCase*10 + 40 WindowWidth = tailleDuneCase*10 + 18 open "Graph" for graphics_nsb as #g #g, "trapclose [quit]" #g, "when mouseMove [move]" #g, "down" for x=0 to 9 for y=0 to 9 if p(x,y) = 1 then #g, "color red; backcolor yellow" else #g, "color green; backcolor white" end if #g, "place ";x*tailleDuneCase;" ";y*tailleDuneCase #g, "boxfilled ";(x+1)*tailleDuneCase;" ";(y+1)*tailleDuneCase next next #g, "Flush" wait [move] for x=0 to 9 for y=0 to 9 if p(x,y) = 1 then #g, "color red; backcolor yellow" else #g, "color green; backcolor white" end if #g, "place ";x*tailleDuneCase;" ";y*tailleDuneCase #g, "boxfilled ";(x+1)*tailleDuneCase;" ";(y+1)*tailleDuneCase next next if MouseX >= 0 and MouseX < 10*tailleDuneCase and MouseY >= 0 and MouseY < 10*tailleDuneCase then if p(int(MouseX/tailleDuneCase),int(MouseY/tailleDuneCase)) = 1 then #g, "color blue; backcolor red" else #g, "color blue; backcolor green" end if else #g, "color white; backcolor white" end if #g, "place ";MouseX;" ";MouseY #g, "circlefilled 5" #g, "Flush" wait [quit] close #g end
La partie principale, c'est ceci :
Code VB :
if MouseX >= 0 and MouseX < 10*tailleDuneCase and MouseY >= 0 and MouseY < 10*tailleDuneCase then if p(int(MouseX/tailleDuneCase),int(MouseY/tailleDuneCase)) = 1 then
La première ligne de teste sert à éviter d'aller regarder des cases qui ne sont pas dans le tableau, autrement, ça fait un truc du genre erreur

Le second teste te permet de savoir si la sourie est dans une case 1 (jaune) ou une case 0 (blanche).
Voila, j'ai mis une taille de case de 50, mais pour ton jeu je te conseille 15, c'est la taille de la base de ton petit perso.
En gros, en même temps que le fond de carte, tu charges un fichier où il y a plein de 1 et de 0, puis, pour savoir si tu peux avancer ton perso, tu crées une fonction à qui tu donnes la futur position du perso. Je dis la futur position, car si la fonction te renvoie 0 (ou comme tu veux hein

Une fois que tu auras fais ça, il faudra que je regarde la minicarte, parce que le point jaune se balade toujours même si on est bloqué

Voila,
Cordialement
Jagang
PS : Si possible, essais d'éviter au maximum le langage SMS stp. Par exemple, "c" => "c'est", et "laide" => "l'aide"
Merci, A++
playmidi "misc.mid", len
Dans la variable len, tu auras la longueur de la musique, je pense.
J'ai eut beaucoup de problème avec cette fonction. Elle ne répète pas en boucle la musique, donc, je pense, qu'au bout de len temps (en seconde surement), il faut relancer la musique.
N'oublis pas :
Code VB :
stopmid
Car des fois, quand tu fermes le programme, la musique continue (

Cordialement
Jagang
question : pourquoi dit tu que mon code n'est pas structuré ? je mis retrouve très bien, chaque parties est délimités et claires non ?
pour la commande .mid ça ne marche pas =(, il me met syntaxe error ....
merci pour votre aide, reste l'animation du perso a régler maintenant ^^ !
Edité par atomose Le 11/06/2011 à 21h59
Par contre, il manque quand même les commentaires...
Bref...
Et, chez moi, cette commande midi fonctionne...
Fais voir la partie de ton code où tu la mets stp.
Avant l'animation du perso, fait le système de collision, une chose à la fois.
De rien
Cordialement
Jagang
Utilisateur en ligne : Aucun membre connecté