Hola a todos.
Converti el codigo del juego de la 6.7 a la 7.0.......
funciona todo........... no todo
Los anillos y algun elemento mas han dejado de funcionar....
esto es lo que me pasa cuando cogo un anillo:
Portapapeles01.png
Este es el codigo del anillo:
[Codebox=gemix file=Untitled.gemix]
PROCESS RING(X,Y,Gsp=0,Ysp=0,NORMAL=0,FXMODE=0,SIZE=100);
BEGIN
CTYPE=C_SCROLL;FILE=FPG_basico;Z=Z_RINGS;GATILLO=FALSE;
GRAPH=FRM_RGS_GRAPH;
FLAGS=FRM_RGS_FLAGS;
BO[6]=NORMAL;TOPS_RINGS++;
IF(NORMAL==0);
SIGNAL(ID,S_FREEZE);FRAME;
ELSE
XF=X;YF=Y;
REPEAT
if(NOT MOSTRAR_AYUDA);
BO[7]++;
IF(BO[7]>255);ALPHA--;END
Ysp+=0.09375;//INCREMENTA APLICA LA VELOCIDAD YYY
if(Ysp>16);Ysp=16;end //veelocidad maxima de caida
YF+=Ysp;//calculamos la velocidad Y
XF+=Gsp;//calculamos la velocidad X
FALLOUT[0]=0;
bof=YF;
if(Ysp=>0);bo=YF+9;
REPEAT
SWITCH(MAP_GET_PIXEL(FPG_Level,3,XF,YF));
CASE COLOR_MDUR[0],COLOR_MDUR[3],COLOR_MDUR[4],COLOR_MDUR[5],COLOR_MDUR[6],COLOR_MDUR[7],COLOR_MDUR[10],COLOR_MDUR[13]:FALLOUT[0]=1;end
end
YF++;
until(FALLOUT[0] OR YF=>bo OR YF=>pix_levy);
IF(FALLOUT[0]);YSP=-(YSP-(YSP/4));YF-=9;end //HAY SUELO,O PARCIAL SUELO
else
bo=YF-9;
REPEAT
SWITCH(MAP_GET_PIXEL(FPG_Level,3,XF,YF));
CASE COLOR_MDUR[2],COLOR_MDUR[9],COLOR_MDUR[12],COLOR_MDUR[15]:FALLOUT[0]=1;end
end
YF--;
until(FALLOUT[0] OR YF=<bo OR YF=<9);
IF(FALLOUT[0]);YSP=0;YF+=9;end //HAY SUELO,O PARCIAL SUELO
end
IF(FALLOUT[0]==0);YF=bof;end //no hay suelo
if(Gsp<>0);FALLOUT[2]=0;
IF(Gsp=>0);bo=Xf+4;else;bo=Xf-4;end
bof=Xf;
REPEAT
SWITCH(MAP_GET_PIXEL(FPG_Level,3,Xf,Yf));
CASE COLOR_MDUR[1],COLOR_MDUR[8],COLOR_MDUR[11],COLOR_MDUR[14]:FALLOUT[2]=1;END
end
IF(Gsp=>0);Xf++;ELSE;Xf--;END
until((Xf=>bo AND Gsp=>0)OR(Xf<=bo AND Gsp<0)OR FALLOUT[2]);
IF(FALLOUT[2]);//HAY PARED
IF(Gsp=>0);Xf-=4;ELSE;Xf+=4;END
GSP=GSP*-1;
else
Xf=bof;
end
end
X=XF;Y=YF;//PASA DE XF/YF FLOAT >>> X/Y PIXEL NORMAL
end
IF(GRAPH<22 and(y>pix_levy+16 OR ALPHA==0));TOPS_RINGS--;RETURN;END
FRAME;
UNTIL(GRAPH==22);
ALPHA=256;
END
//<------ AQUI DONDE ME PETA ---------->
TOPS_RINGS--;JBS_RINGS++;FLAGS=0;GRAPH=22;Z=-35;BO[6]=1;
if(ring_str==0);ring_str=512;else;ring_str=0;end
bo=sound_play(SONIDO_WAV[8]);
SOUNDCHANNEL_SET_PAN(bo,ring_str);
FROM BO=0 TO 1;
FROM FLAGS=0 TO 3;
IF(BO)FLAGS+=4;END
FRAME(400);
END
END
END
[/Codebox]
no vais a entender casi nada de la cantidad de variables que maneja.
hay una parte que es especial.
Este codigo funcionaba sin problemas en la 6.5, 6.7.
en la 7.0 me compila bien.... pero no funciona en game.
La mera en que esta programado este Proceso,
es la siguiente:
-Processo MAIN
Actualiza el grafico y controla que anillos deben estar activos o pausados(para ganar rendimiento)
[Codebox=gemix file=Untitled.gemix]
WHILE(ID_TEMP=GET_ID(TYPE RING));//SI HAY RING EXISTE
if(ID_TEMP.BO[6]==0);
IF(OUT_REGION(id_temp,1));SIGNAL(ID_TEMP,S_SLEEP);bo=0;end
elseif(NOT MOSTRAR_AYUDA);
SIGNAL(ID_TEMP,S_wakeup);//descongela
end
[/Codebox]
-Jugador
Solo si colisiona con el anillo, lo descongela el anillo y le envia una señal de que este anillo a sido cogido.
[Codebox=gemix file=Untitled.gemix]WHILE(BO=OVERLAP(TYPE RING));
IF(BO.GRAPH<22);BO.GRAPH=22;BO.BO[6]=1;END
END[/Codebox]
-Processo Anillo
Si esta congelado y no se a recibido la señal de que el jugador lo cogio, sigue estando congelado y el Processo MAIN gestiona su GRAPH.
Si no esta congelado el anillo y tiene la señal de que el jugador ha cogido este anillo, este hace un animacion,sonido y puntua al jugador de que se ha cogido este anillo, finalmente este anillo muere.
Asi que solo puedo decir que en la 6.5,6.7 funcionaba en la 7.0 manda a CRASH directamente
El Modulo PlayNET no funciona correctamente...
me Manda a CRASH. al Conectar un servidor al server, o enviar un dato por el Server.
y de lo mismo, que en la 6.5,6.7 funcionaba en la 7.0 manda a CRASH directamente
Portapapeles02.png
You do not have the required permissions to view the files attached to this post.