[Danmakufu] Diverses tasks pour divers patterns (recensement des task)
5 participants
Page 1 sur 1
[Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Bienvenue sur ce topic.
A quoi va t'il servir :
Ce topic va recenser et classer tous patterns dis basique sous forme de task que l'on pourra copier-coller et utiliser pour tout ceux voulant ces patterns précis (qu'il modifiera, améliorera selon ses goûts).
Ainsi si quelqu'un se demande comment faire telle spell, ou comment faire tel pattern vu sur un autre touhou, il n'aura qu'à venir ici
Comment se servir des tasks :
Les tasks sont à copier coller dans votre script presque n'importe ou ou vous voulez, en général entre le drawloop et le finalize. Il faudra cependant ajouter un yield dans mainloop pour pouvoir s'en servir, ainsi que dans la task même (je ne suis pas sur de l'intérêt de celui ci mais dans le doute mettez le quand même, ça ne fera rien bugguer normalement)
Peut on proposer des tasks pour ajouter à ce topic?
Bien sur, il vous faudra juste mettre sous les balises code et spoiler. Toute task qui recrée presque une spell entière sera refusée, sauf si la spell est assez basique ^^'. De plus on peut toujours modifier/ simplifier des tasks pour les rendre plus accessible si la votre fait quelquechose qui peut être fait plus simplement.
Les Tasks :
Cercles de danmakus:
Bullets rebondissants :
version simplifiée:
quelques détail toute fois:
-la task telle qu'elle n'est qu'à moitié viable : en effet les bullets tirés dans ce cas resteront à l'écran indéfiniment, donc seul des scripts très précis prenant en compte cette caractéristique pourra intégrer cette task.
-Si vous voulez maintenir les rebonds indéfiniment, mais enlever un mur qui fait rebondir les bullets, vous devrez effacer le "if" et son contenu correspondant:
GetclipminY > Bord de l'écran supèrieur
GetClipMaxY > Bord de l'écran infèrieur (derrière vous)
GetClipMinX > Bord gauche
GetClipMaxX > Bord droit.
-Si vous voulez limiter le nombre de rebonds référé vous au poste de dynast dans le tutoriel de danmakufu, il vous faudra toutefois remplacer le 0.1 dans "Obj_SetY(obj, Obj_GetY(obj) + 0.1);" (par exemple) par un nombre plus important,e t ce du à un bug de danmakufu que j'expliquerai si j'ai le temps et si on me le demande.
version complexe:
sur cette task, anglem correspond à l'angle ajouté à la valeure angle de base du bullets: le bullet va rebondir en modifiant son angle de la valeure que vous lui avait donné. Toutefois cette valeure ne doit pas être infèrieur à 90 (ni supèrieur à180 (sinon l'angle va être modifié tel qu'il va malgré tout continuer hors de l'écran ^^' (et risque de prendre un angle assez aléatoire pour diverses raisons)
Roue de bullets tournant sur elle même:
c'est tout pour l'instant je fatigues ^^' je rajouterai vos idées et les miennes au fur et à mesure, ene spèrant que cela vous sera utile.
Si vous voulez que j'améliore les explications et/ou l'organisation du topic dites le ^^'
Je réserve le post suivant au cas ou, car je crois qu'il y a une limite de caractère par post ^^'
A quoi va t'il servir :
Ce topic va recenser et classer tous patterns dis basique sous forme de task que l'on pourra copier-coller et utiliser pour tout ceux voulant ces patterns précis (qu'il modifiera, améliorera selon ses goûts).
Ainsi si quelqu'un se demande comment faire telle spell, ou comment faire tel pattern vu sur un autre touhou, il n'aura qu'à venir ici
Comment se servir des tasks :
Les tasks sont à copier coller dans votre script presque n'importe ou ou vous voulez, en général entre le drawloop et le finalize. Il faudra cependant ajouter un yield dans mainloop pour pouvoir s'en servir, ainsi que dans la task même (je ne suis pas sur de l'intérêt de celui ci mais dans le doute mettez le quand même, ça ne fera rien bugguer normalement)
Peut on proposer des tasks pour ajouter à ce topic?
Bien sur, il vous faudra juste mettre sous les balises code et spoiler. Toute task qui recrée presque une spell entière sera refusée, sauf si la spell est assez basique ^^'. De plus on peut toujours modifier/ simplifier des tasks pour les rendre plus accessible si la votre fait quelquechose qui peut être fait plus simplement.
Les Tasks :
Cercles de danmakus:
- Spoiler:
Origine= angle du 1er bullets (détermine la direction que prendra le 1er bullet du cercle, les autres se placeront alors de façon a former un cercle parfait)
velocity= vitesse du bullet
acceleration= acceleration du bullet
n= nombres de bullets composant le cercle.- Code:
task n_round(origine,velocity,acceleration,finalvelocity,bullet,n)
{ let angle=0;
loop(n)
{
CreateShot02(GetX, GetY, velocity, angle+origine, acceleration, finalvelocity, bullet, 0);
angle+=360/n;
}
}
Bullets rebondissants :
version simplifiée:
- Spoiler:
x,y=position de départ du bullet
v=velocity
a=acceleration
graphic=graphismes du bullet (PURPLE01 par exemple)- Code:
task BBullet(x, y, v, a,graphic) {
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, a);
Obj_SetSpeed(obj, v);
ObjShot_SetGraphic(obj,graphic);
ObjShot_SetBombResist (obj, true);
while(!Obj_BeDeleted(obj)) {
if(Obj_GetX(obj)<GetClipMinX) {
Obj_SetAngle(obj,Obj_GetAngle(obj)+180);
Obj_SetX(obj, GetClipMinX-Obj_GetX(obj)+25);
}
if(Obj_GetY(obj)<GetClipMinY) {
Obj_SetAngle(obj,Obj_GetAngle(obj)+180);
Obj_SetY(obj, GetClipMinY-Obj_GetY(obj)+20);
}
if(Obj_GetX(obj)>GetClipMaxX) {
Obj_SetAngle(obj,Obj_GetAngle(obj)+180);
Obj_SetX(obj, GetClipMaxX-Obj_GetX(obj)+GetCenterX*2-35);
}
if(Obj_GetY(obj)>GetClipMaxY) {
Obj_SetAngle(obj,Obj_GetAngle(obj)+180);
Obj_SetY(obj, GetClipMaxY-Obj_GetY(obj)+GetCenterY*2-20);
}
yield; //Yields control to the next task, or MainLoop
}
quelques détail toute fois:
-la task telle qu'elle n'est qu'à moitié viable : en effet les bullets tirés dans ce cas resteront à l'écran indéfiniment, donc seul des scripts très précis prenant en compte cette caractéristique pourra intégrer cette task.
-Si vous voulez maintenir les rebonds indéfiniment, mais enlever un mur qui fait rebondir les bullets, vous devrez effacer le "if" et son contenu correspondant:
GetclipminY > Bord de l'écran supèrieur
GetClipMaxY > Bord de l'écran infèrieur (derrière vous)
GetClipMinX > Bord gauche
GetClipMaxX > Bord droit.
-Si vous voulez limiter le nombre de rebonds référé vous au poste de dynast dans le tutoriel de danmakufu, il vous faudra toutefois remplacer le 0.1 dans "Obj_SetY(obj, Obj_GetY(obj) + 0.1);" (par exemple) par un nombre plus important,e t ce du à un bug de danmakufu que j'expliquerai si j'ai le temps et si on me le demande.
version complexe:
- Spoiler:
x,y=position de départ du bullet
v=velocity
a=acceleration
graphic=graphismes du bullet (PURPLE01 par exemple)
anglem= angle ajouté à l'angle du bullets. Min 90, Max 180- Code:
task BBullet(x, y, v, a,graphic,anglem) {
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, a);
Obj_SetSpeed(obj, v);
ObjShot_SetGraphic(obj,graphic);
ObjShot_SetBombResist (obj, true);
while(!Obj_BeDeleted(obj)) {
if(Obj_GetX(obj)<GetClipMinX) {
if (Obj_GetAngle(obj)<-90){
Obj_SetAngle(obj,Obj_GetAngle(obj)+anglem);
Obj_SetX(obj, GetClipMinX-Obj_GetX(obj)+25);
}
if (Obj_GetAngle(obj)>90){
Obj_SetAngle(obj,Obj_GetAngle(obj)-anglem);
Obj_SetX(obj, GetClipMinX-Obj_GetX(obj)+25);
}
}
if(Obj_GetY(obj)<GetClipMinY) {
if (Obj_GetAngle(obj)>-90){
Obj_SetAngle(obj,Obj_GetAngle(obj)+anglem);
Obj_SetY(obj, GetClipMinY-Obj_GetY(obj)+20);
}
if (Obj_GetAngle(obj)<-90){
Obj_SetAngle(obj,Obj_GetAngle(obj)-anglem);
Obj_SetY(obj, GetClipMinY-Obj_GetY(obj)+20);
}
}
if(Obj_GetX(obj)>GetClipMaxX) {
if (Obj_GetAngle(obj)<0){
Obj_SetAngle(obj,Obj_GetAngle(obj)-anglem);
Obj_SetX(obj, GetClipMaxX-Obj_GetX(obj)+GetCenterX*2-35);
}
if (Obj_GetAngle(obj)>0){
Obj_SetAngle(obj,Obj_GetAngle(obj)+anglem);
Obj_SetX(obj, GetClipMaxX-Obj_GetX(obj)+GetCenterX*2-35);
}
}
if(Obj_GetY(obj)>GetClipMaxY) {
if (Obj_GetAngle(obj)>90){
Obj_SetAngle(obj,Obj_GetAngle(obj)+anglem);
Obj_SetY(obj, GetClipMaxY-Obj_GetY(obj)+GetCenterY*2-20);
}
if (Obj_GetAngle(obj)<90){
Obj_SetAngle(obj,Obj_GetAngle(obj)-anglem);
Obj_SetY(obj, GetClipMaxY-Obj_GetY(obj)+GetCenterY*2-20);
}
}
if (Obj_GetAngle(obj)>180)
{Obj_SetAngle(obj,Obj_GetAngle(obj)-360)}
if (Obj_GetAngle(obj)<-180)
{Obj_SetAngle(obj,Obj_GetAngle(obj)+360)}
yield; //Yields control to the next task, or MainLoop
}
sur cette task, anglem correspond à l'angle ajouté à la valeure angle de base du bullets: le bullet va rebondir en modifiant son angle de la valeure que vous lui avait donné. Toutefois cette valeure ne doit pas être infèrieur à 90 (ni supèrieur à180 (sinon l'angle va être modifié tel qu'il va malgré tout continuer hors de l'écran ^^' (et risque de prendre un angle assez aléatoire pour diverses raisons)
Roue de bullets tournant sur elle même:
- Spoiler:
x,y== coordonnées d'apparition du bullet
d=delay d'apparition
origine==angle du 1er bullet (ce qui n'aura pas beaucoup d'importance ici, utile seulement pour créer des variations en cas de boss immobile)
angv==angularvelocity (en gros l'augmentation de l'angle que subira le bullet à chaque frame)
acceleration== comme son nom l'indique
fv== final velocity
graphic==graphismes du bullet
n== nombre de bullets composant la roue.- Code:
task c_round(x,y,d,v,origine,angv,acceleration,fv,graphic,n){
let obj = 0;
let angle =0;
loop(n){
CreateShotA(obj,x,y,d);
SetShotDataA(obj,0,v,origine+angle,angv,acceleration,fv,graphic);
FireShot(obj);
angle+=360/n;
}
}
Quelques petits trucs:
-le rayon du cercle sera déterminé par le rapport entre la velocity et l'angular velocity: plus la velocity sera forte et/ou l'angular velocity sera basse, plus le cercle sera large (si il est trop large les bullets sortiront de l'écran) à l'inverse, plus la velocity est faible et l'angular velocity forte, plus la roue sera petite (si trop petite les bullets vont se confondre).
-Cependant le cercle avec uniquement ça, une fois sa taille maximale ou minimale atteinte, se contentera de tourner sur lui même. l'acceleration entre alors en compte pour élargir peu à peu le cercle.
si vous voulez donner une taille maximale au cercle, fixer la final velocity. n'oubliez aps qu'a moins de sortir de l'écran, les bullets vont rester alors indéfiniment)
-maintenant si vous mettez deux fois cette task, avec simplement l'angular velocity d'inversé (1/-1 par exemple) vous devriez obtenir les patterns de la dernière spell de suwako. (enfin ça dépendra des caractéristiques, de quelques détails, la spell réelle est beaucoup plus complexe^^' car sinon vous pouvez aussi obtenir une partie de demarcation, la last spell de rumia dans eosd.)
c'est tout pour l'instant je fatigues ^^' je rajouterai vos idées et les miennes au fur et à mesure, ene spèrant que cela vous sera utile.
Si vous voulez que j'améliore les explications et/ou l'organisation du topic dites le ^^'
Je réserve le post suivant au cas ou, car je crois qu'il y a une limite de caractère par post ^^'
Dernière édition par Nasty_bdfp le Dim 24 Oct 2010, 1:56 am, édité 2 fois
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Je réserve ce post au cas ou, car je crois qu'il y a une limite de caractère par post ^^'
Si cette place supplémentaire est jugée inutile par un modérateur il pourra supprimer ce post ^^
Mais vu que le topic va rapidement s'enrichir, j'ai peur de ne pas avoir assez de place, surtout que les lignes de codes peuvent parfois être très conséquentes.
Si cette place supplémentaire est jugée inutile par un modérateur il pourra supprimer ce post ^^
Mais vu que le topic va rapidement s'enrichir, j'ai peur de ne pas avoir assez de place, surtout que les lignes de codes peuvent parfois être très conséquentes.
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Je reserve ce post,parce que je vais aider aussi ^^ je metterais des tasks quand j,aurais le temps ^^
Purple Magus- Hard
- Messages : 554
Date d'inscription : 10/12/2009
Age : 27
Localisation : Somewhere
Profil Joueur
: Th12.3 : UNL
Niveau: Difficile
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Script tutoriel made by me :
Vous devez avoir un(e)...
Motif.png 1604*1596 qui est remplie sur les premiers 802*798 pixels, le reste est transparent/noir (0,0,0). Comme ça :
Prochainement : tirs/lasers qui poursuivent le player, cercles de tirs qui éclatent puis reviennent à la Survival Spell de Murasa.
Edit : Je suis obliger de transformer en task ? vous pouvez le faire vous même avec ça non ? -.-
- Spoiler:
- #TouhouDanmakufu
#Title[Obj_Shot]
#Text[Exemple d'un tir qui rebondit.
Lisez le script pour savoir comment faire]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main
{
let count=0;
let shots=[];
@Initialize
{
SetLife(100);
SetTimer(999);
SetX(GetCenterX);
SetY(GetCenterY);
MagicCircle(false);
}
@MainLoop
{
count++;
if(count==50){
//Créez votre tir
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj,GetX,GetY);
Obj_SetSpeed(obj,2);
Obj_SetAngle(obj,45);
ObjShot_SetDelay(obj,0);
ObjShot_SetGraphic(obj,RED01);
shots=shots~[obj];
count=0;}
//Pas toucher ces 5 lignes
let z=0;
while (z<length(shots)){
if(Obj_BeDeleted(shots[z])){
shots=erase(shots,z);
z--;}
//Après le else vous faites les modifications à votre tir
else{
let obj=shots[z];
if(Obj_GetX(obj)<=(GetClipMinX)||
Obj_GetX(obj)>=(GetClipMaxX)||
Obj_GetY(obj)>=(GetClipMaxY)||
Obj_GetY(obj)<=(GetClipMinY)){
let obj2=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj2,Obj_GetX(obj),Obj_GetY(obj));
Obj_SetSpeed(obj2,2);
Obj_SetAngle(obj2,Obj_GetAngle(obj)+180);
//Angle + 180 pour que ça rebondisse parfaitement vous pouvez changer
ObjShot_SetGraphic(obj2,RED01);
Obj_Delete(obj);}
//Pas toucher
}
z++;}
}
@DrawLoop
{
}
@Finalize
{
}
}
Vous devez avoir un(e)...
Motif.png 1604*1596 qui est remplie sur les premiers 802*798 pixels, le reste est transparent/noir (0,0,0). Comme ça :
- Spoiler:
- #TouhouDanmakufu
#Title[Obj_Effect]
#Text[Exemple d'un motif qui monte et va a droite.
Lisez le script pour savoir comment faire]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main
{
let imagefile=GetCurrentScriptDirectory~"Motif.png";
let bg=[];
let start=0;
@Initialize
{
LoadGraphic(GetCurrentScriptDirectory~"Motif.png");
SetLife(100);
SetTimer(999);
SetX(GetCenterX);
SetY(GetCenterY);
MagicCircle(false);
}
@MainLoop
{
if(start==0){
let decors=Obj_Create(OBJ_EFFECT);
Obj_SetX(decors,0);
Obj_SetY(decors,0);
ObjEffect_SetTexture(decors, imagefile);
ObjEffect_SetRenderState(decors,ALPHA);
ObjEffect_SetPrimitiveType(decors,PRIMITIVE_TRIANGLELIST);
ObjEffect_CreateVertex(decors, 3);
ObjEffect_SetVertexXY(decors,0,32,0);
ObjEffect_SetVertexXY(decors,1,GetClipMaxX*2-32,0);
ObjEffect_SetVertexXY(decors,2,32,GetClipMaxY*2);
ObjEffect_SetVertexUV(decors,0,0,0);
ObjEffect_SetVertexUV(decors,1,802*2,0);
ObjEffect_SetVertexUV(decors,2,0,798*2);
ObjEffect_SetVertexColor(decors,0,200,255,255,255);
ObjEffect_SetVertexColor(decors,1,200,255,255,255);
ObjEffect_SetVertexColor(decors,2,200,255,255,255);
ObjEffect_SetLayer(decors,0);
bg=bg~[decors];
let decors=Obj_Create(OBJ_EFFECT);
Obj_SetX(decors,-GetClipMaxX+32);
Obj_SetY(decors,GetClipMaxY);
ObjEffect_SetTexture(decors, imagefile);
ObjEffect_SetRenderState(decors,ALPHA);
ObjEffect_SetPrimitiveType(decors,PRIMITIVE_TRIANGLELIST);
ObjEffect_CreateVertex(decors, 3);
ObjEffect_SetVertexXY(decors,0,32,0);
ObjEffect_SetVertexXY(decors,1,GetClipMaxX*2-32,0);
ObjEffect_SetVertexXY(decors,2,32,GetClipMaxY*2);
ObjEffect_SetVertexUV(decors,0,0,0);
ObjEffect_SetVertexUV(decors,1,802*2,0);
ObjEffect_SetVertexUV(decors,2,0,798*2);
ObjEffect_SetVertexColor(decors,0,200,255,255,255);
ObjEffect_SetVertexColor(decors,1,200,255,255,255);
ObjEffect_SetVertexColor(decors,2,200,255,255,255);
ObjEffect_SetLayer(decors,0);
bg=bg~[decors];
let decors=Obj_Create(OBJ_EFFECT);
Obj_SetX(decors,0);
Obj_SetY(decors,GetClipMaxY);
ObjEffect_SetTexture(decors, imagefile);
ObjEffect_SetRenderState(decors,ALPHA);
ObjEffect_SetPrimitiveType(decors,PRIMITIVE_TRIANGLELIST);
ObjEffect_CreateVertex(decors, 3);
ObjEffect_SetVertexXY(decors,0,32,0);
ObjEffect_SetVertexXY(decors,1,GetClipMaxX*2-32,0);
ObjEffect_SetVertexXY(decors,2,32,GetClipMaxY*2);
ObjEffect_SetVertexUV(decors,0,0,0);
ObjEffect_SetVertexUV(decors,1,802*2,0);
ObjEffect_SetVertexUV(decors,2,0,798*2);
ObjEffect_SetVertexColor(decors,0,200,255,255,255);
ObjEffect_SetVertexColor(decors,1,200,255,255,255);
ObjEffect_SetVertexColor(decors,2,200,255,255,255);
ObjEffect_SetLayer(decors,0);
bg=bg~[decors];
let decors=Obj_Create(OBJ_EFFECT);
Obj_SetX(decors,-GetClipMaxX+32);
Obj_SetY(decors,0);
ObjEffect_SetTexture(decors, imagefile);
ObjEffect_SetRenderState(decors,ALPHA);
ObjEffect_SetPrimitiveType(decors,PRIMITIVE_TRIANGLELIST);
ObjEffect_CreateVertex(decors, 3);
ObjEffect_SetVertexXY(decors,0,32,0);
ObjEffect_SetVertexXY(decors,1,GetClipMaxX*2-32,0);
ObjEffect_SetVertexXY(decors,2,32,GetClipMaxY*2);
ObjEffect_SetVertexUV(decors,0,0,0);
ObjEffect_SetVertexUV(decors,1,802*2,0);
ObjEffect_SetVertexUV(decors,2,0,798*2);
ObjEffect_SetVertexColor(decors,0,200,255,255,255);
ObjEffect_SetVertexColor(decors,1,200,255,255,255);
ObjEffect_SetVertexColor(decors,2,200,255,255,255);
ObjEffect_SetLayer(decors,0);
bg=bg~[decors];
start=1;}
let bga1=0;
while (bga1<length(bg)){
if(Obj_BeDeleted(bg[bga1])){bg=erase(bg,bga1);bga1--;}
else{let decors=bg[bga1];
Obj_SetX(decors,Obj_GetX(decors)+1);
if(Obj_GetX(decors)>GetClipMaxX-32){Obj_SetX(decors,-GetClipMaxX+32);}
Obj_SetY(decors,Obj_GetY(decors)-1);
if(Obj_GetY(decors)<-(GetClipMaxY)){Obj_SetY(decors,GetClipMaxY);}}bga1++;}
}
@DrawLoop
{
}
@Finalize
{
}
}
- Spoiler:
Prochainement : tirs/lasers qui poursuivent le player, cercles de tirs qui éclatent puis reviennent à la Survival Spell de Murasa.
Edit : Je suis obliger de transformer en task ? vous pouvez le faire vous même avec ça non ? -.-
Leerius- Hard
- Messages : 627
Date d'inscription : 23/04/2010
Age : 32
Localisation : Sevran
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Question!
Comment on fait pour faire des bullets tirés a l'arrache, un peu comme Kaguya, vous savez, "Rising Dawn"~
Paske moi j'veux en tirer plein partout au pif!
Comment on fait pour faire des bullets tirés a l'arrache, un peu comme Kaguya, vous savez, "Rising Dawn"~
Paske moi j'veux en tirer plein partout au pif!
Miplouf Saigyouki- CB Terror 「Patate Sparker」
- Messages : 190
Date d'inscription : 21/12/2009
Age : 29
Localisation : A un certain endroit
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
utilise un "rand(0,360)" pour définir l'angle, un "rand (A,B)" (ou A et B sont les valeures mine t max que tu veux donner) pour la vitesse, voir même pour l'accélération et la final velocity et t'auras ça...
Il n'y a pas de fonctions a proprement parler j'ai envie de dire, c'est surtout utiliser la fonction random a bon escient.
Pour donner un type de bullets random purple avait fait une spell ou tout était random, appelé entropy, qui pourrait te servir. Je ne l'ai pas là, mais si tu passes par ici purple... ^^'
Il n'y a pas de fonctions a proprement parler j'ai envie de dire, c'est surtout utiliser la fonction random a bon escient.
Pour donner un type de bullets random purple avait fait une spell ou tout était random, appelé entropy, qui pourrait te servir. Je ne l'ai pas là, mais si tu passes par ici purple... ^^'
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Heureusement que je suis ici , et bien Voiçi entropy,et le deuxième lien est une spell qui utilise un certain truc pour changer de couleure,j'imagine qu'on peut la modifier si on veut reproduire un truc à la last spell de Kaguya ^^
Entropy (J'ai fait un truc avec la téléportation pour Leer,j'ai la flemme de le changer alors fait avec XD) http://www.mediafire.com/?krpqriez0wfip58:
Truc rainbow avec lequel tu usera du debug mode ( i ),il est plus simple si tu veut que ça soit organisé,contrairement à Entropy qui est compléxement Random : http://www.mediafire.com/?eldcmzmy1cj01of
Entropy (J'ai fait un truc avec la téléportation pour Leer,j'ai la flemme de le changer alors fait avec XD) http://www.mediafire.com/?krpqriez0wfip58:
Truc rainbow avec lequel tu usera du debug mode ( i ),il est plus simple si tu veut que ça soit organisé,contrairement à Entropy qui est compléxement Random : http://www.mediafire.com/?eldcmzmy1cj01of
Purple Magus- Hard
- Messages : 554
Date d'inscription : 10/12/2009
Age : 27
Localisation : Somewhere
Profil Joueur
: Th12.3 : UNL
Niveau: Difficile
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
'kay Purple!
Sinon par exemple, je voudrais faire une spell qui s'intensifie lorsqu'elle arrive vers la fin, comme Grat Magic"Devil's recitation"
Ca se regle pas avec un truc du style if Life<500(prenons 1000 en tant que life de base), alors tirer PURPLE O3?
Sinon par exemple, je voudrais faire une spell qui s'intensifie lorsqu'elle arrive vers la fin, comme Grat Magic"Devil's recitation"
Ca se regle pas avec un truc du style if Life<500(prenons 1000 en tant que life de base), alors tirer PURPLE O3?
Miplouf Saigyouki- CB Terror 「Patate Sparker」
- Messages : 190
Date d'inscription : 21/12/2009
Age : 29
Localisation : A un certain endroit
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Si, GetLife sert à ça ^^ Je pense qu'on l'utilise comme ça:
if (GetLife<500) { ... }
if (GetLife<500) { ... }
Purple Magus- Hard
- Messages : 554
Date d'inscription : 10/12/2009
Age : 27
Localisation : Somewhere
Profil Joueur
: Th12.3 : UNL
Niveau: Difficile
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Par exemple:
if(GetLife<500),CreateShot(Blabla RED 03, etc)?
if(GetLife<500),CreateShot(Blabla RED 03, etc)?
Miplouf Saigyouki- CB Terror 「Patate Sparker」
- Messages : 190
Date d'inscription : 21/12/2009
Age : 29
Localisation : A un certain endroit
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Ouais,ça devrais marcher, en tout cas,ça a marché pour moi ^^
Purple Magus- Hard
- Messages : 554
Date d'inscription : 10/12/2009
Age : 27
Localisation : Somewhere
Profil Joueur
: Th12.3 : UNL
Niveau: Difficile
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Et on le place ou notre GetLife?
Et le yield dans le bullet circle?(tu m'étonne que j'y arrivais pas, j'mettais pas de yield)
P.S:Je reserve ce poste pour PLEIN PLEIN PLEIN de question que tout le monde se pose,au cas ou!
Vous allez avoir du boulot les mecs.A LOT.(why why why, don't you work a lot foreveeeeeeer?~(copyright))
Et le yield dans le bullet circle?(tu m'étonne que j'y arrivais pas, j'mettais pas de yield)
P.S:Je reserve ce poste pour PLEIN PLEIN PLEIN de question que tout le monde se pose,au cas ou!
Vous allez avoir du boulot les mecs.A LOT.(why why why, don't you work a lot foreveeeeeeer?~(copyright))
Miplouf Saigyouki- CB Terror 「Patate Sparker」
- Messages : 190
Date d'inscription : 21/12/2009
Age : 29
Localisation : A un certain endroit
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Alors j'ai mi au point une petite fonction sans prétention ^^
Mes fonction de spirale, ceux qui aime kogasa seront servit!
La différence entre les deux est simples, elle n'ont juste pas la meme direction
Alors pour les parametre:
x et x: Les coordonné de l'origine du tir
s: Vitesse
angle: L'angle de la première balle tiré de la spirale
graphic: design de la bullet
delay: delai du tir
nombre: nombre de bullet dans la spirale
nombre2: nombre de spiral tiré
r: nombre de frame entre chaques balle de la spirale
Mes fonction de spirale, ceux qui aime kogasa seront servit!
- Spoiler:
- task spiral(x,y,s,angle,graphic,delay,nombre,nombre2,r)
{
loop(nombre*nombre2)
{
CreateShot01(x,y,s,angle,graphic,delay);
angle+=360/nombre;
delay+=r;
}
}
- Spoiler:
- task spiral2(x,y,s,angle,graphic,delay,nombre,nombre2,r)
{
loop(nombre*nombre2)
{
CreateShot01(x,y,s,angle,graphic,delay);
angle-=360/nombre;
delay+=r;
}
}
La différence entre les deux est simples, elle n'ont juste pas la meme direction
Alors pour les parametre:
x et x: Les coordonné de l'origine du tir
s: Vitesse
angle: L'angle de la première balle tiré de la spirale
graphic: design de la bullet
delay: delai du tir
nombre: nombre de bullet dans la spirale
nombre2: nombre de spiral tiré
r: nombre de frame entre chaques balle de la spirale
UFO_Buddha- Normal
- Messages : 172
Date d'inscription : 19/05/2010
Age : 27
Localisation : Lost place ~
Profil Joueur
: TH12 - UFO
Niveau: Normal
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
Mmmm, j'ai fait une spell a time out et je voudrais bien qu'a partir de 10 sec, d'autres bullets apparaissent~
Si je met if(GetTime<10){fire blabla}, ca marche pas!
Si je met if(GetTime<10){fire blabla}, ca marche pas!
Miplouf Saigyouki- CB Terror 「Patate Sparker」
- Messages : 190
Date d'inscription : 21/12/2009
Age : 29
Localisation : A un certain endroit
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
if(GetTime<10&&countA==10){
fire blabla;
countA=0;}
countA vu que j'imagine t'as déjà fait un count, m'enfin tu peux l'appeler comme tu veux.
Et pour le 10 tu peux aussi changer, juste un exemple x)
Si tu fais juste if(GetTime<10){ ça ferra bug j'crois xD }
Vla, bon courage.
fire blabla;
countA=0;}
countA vu que j'imagine t'as déjà fait un count, m'enfin tu peux l'appeler comme tu veux.
Et pour le 10 tu peux aussi changer, juste un exemple x)
Si tu fais juste if(GetTime<10){ ça ferra bug j'crois xD }
Vla, bon courage.
Leerius- Hard
- Messages : 627
Date d'inscription : 23/04/2010
Age : 32
Localisation : Sevran
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
C'est assez normal,ça fait un loop infini.... sinon leer,comment t'as fait tourner les couteaux de notre maid pc-98 préferée dans un de tes scripts?J'en en aurais besoin,merci d'avance ^^
Purple Magus- Hard
- Messages : 554
Date d'inscription : 10/12/2009
Age : 27
Localisation : Somewhere
Profil Joueur
: Th12.3 : UNL
Niveau: Difficile
Score: (non communiqué)
Re: [Danmakufu] Diverses tasks pour divers patterns (recensement des task)
- Code:
if(count==60){row=0;delai=0;random=rand_int(0,32);
loop(16){
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj,GetClipMinX,GetClipMinY+row+random);
Obj_SetSpeed(obj,0);
Obj_SetAngle(obj,90);
ObjShot_SetGraphic(obj,BLUE32);
ObjShot_SetDelay(obj,delai);
shots=shots~[obj];
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj,GetClipMaxX,GetClipMinY+row+random);
Obj_SetSpeed(obj,0);
Obj_SetAngle(obj,90);
ObjShot_SetGraphic(obj,BLUE32);
ObjShot_SetDelay(obj,delai);
shots=shots~[obj];row=row+32;delai=delai+5;}}
if(count==160){count=0;}
let z=0;
while (z<length(shots)){
if(Obj_BeDeleted(shots[z])){
shots=erase(shots,z);
z--;}
else{
let obj=shots[z];
if(count>=60&&Obj_GetSpeed(obj)==0){Obj_SetAngle(obj,Obj_GetAngle(obj)+36);}
if(Obj_GetAngle(obj)>1440&&Obj_GetX(obj)<GetCenterX&&Obj_GetSpeed(obj)==0){
Obj_SetAngle(obj,0);Obj_SetSpeed(obj,5);}
if(Obj_GetAngle(obj)>1440&&Obj_GetX(obj)>GetCenterX&&Obj_GetSpeed(obj)==0){
Obj_SetAngle(obj,180);Obj_SetSpeed(obj,5);}
}
z++;}
Pas terrible mais ça marche xD.
Au pire tu peux faire un truc avec les ShotA et des variables.
PS : ça irait plus dans le topic d'entraide danmakufu ... ~~
Leerius- Hard
- Messages : 627
Date d'inscription : 23/04/2010
Age : 32
Localisation : Sevran
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum