Cuadro de selección

Started by Yawin, December 03, 2010, 11:04:38 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Quote from: Noivern on December 11, 2010, 04:14:12 AM
byte es el tipo más pequeño en bennu right?

si, pero los datos mas pequeños no son los mas rapidos... es mas rapido usar int...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Noivern

eso no lo sabía :o
gracias por la aclaración

Yawin

Quote from: Drumpi on December 11, 2010, 02:25:57 AM
No recordaba que existiesen datos de tipo bool. Prueba a ponerlos de tipo int o byte, si así deja de fallar es posible que el prblema sea con "activ!=false" (que se podría haber puesto directamente "activ" y listo).
No es el bool activ. El proceso guerrero también gasta de eso, y me compila bien si no incluyo el proceso edificio en la compilación.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

DCelso

#48
¿Qué es esto?

if(activ==true && auxiliared.tipo!=0)
<b>for(i=0;i</b>
if(colprod.producto[i].oc!=true)
colprod.producto[i].tipo=auxiliared.tipo;
colprod.producto[i].prod=auxiliared.prod;
colprod.producto[i].xp=x+20;
colprod.producto[i].yp=y;
colprod.producto[i].tmpP=tmprod;
colprod.producto[i].oc=true;
break;
end
end
auxiliared.tipo=0;
auxiliared.prod=0;
end
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Yawin

Es raro, igual me comi algo, aqui lo tengo bien escrito:
for(i=0;i<limcol;i++)
if(colprod.producto[i].oc!=true)
colprod.producto[i].tipo=auxiliared.tipo;
colprod.producto[i].prod=auxiliared.prod;
colprod.producto[i].xp=x+20;
colprod.producto[i].yp=y;
colprod.producto[i].tmpP=tmprod;
colprod.producto[i].oc=true;
break;
end
end


Creo que me lo comi aqui al quitarle tabulaciones.

Sirve para comprobar si la cola de producción está llena, y si no lo está, meterlo en la primera casilla libre.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

DCelso

#50
Gracias por ponerlo exactamente igual, ;D. sigo sin saber como continúa el for for(i=0;i

Otro fallo:


for(i=0;i<10;i++)
if(cosas[i]!=-1)
casilla(x,y,cosas[i],prods[i],<b>int </b>tipo);
y+=25;
end


el int  que está en negrita sobra.
Independientemente de esos fallillos, creo que he encontrado tu problema

string cosas[10];

Estás creando un array de 10 strings y luego haces comparaciones con un entero del tipo cosas!=-1 y ese es el error que te suelta el compilador. Si quieres ver si no está vacía una cadena tendrías que hacer cosas !=""

Mira tu código megaparcheado para que compile es el siguiente:

import "mod_grproc"
import "mod_scroll"
import "mod_key"
import "mod_text"
Global
struct edif[2]
string nombre;
int vida;
int graf;
int tipo;
int producs[2];
int tmppr;
int limitp;
end
fpgs[3];
faction_jug;
struct auxiliared
tipo;
prod;
xp;
yp;
tmpP;
oc;
end
struct ppunt
x;
y;
end
struct guer[2]
nombre;
end

end
process puntero()
begin
end

process cola(int val)
public

struct producto[4]
tipo;
prod;
xp;
yp;
tmpP;
oc;
end

begin
end
process edificio(int prodn,x,y,int fact)
public
int faction;
int menu,i;
bool mein=false;
bool activ=false;
end
private
cola colprod;

int limcol;
int tmprod;

end
begin
faction=fact;
limcol=edif[prodn].limitp;
tmprod=edif[prodn].tmppr;
file=fpgs[faction];
graph=edif[prodn].graf;
size=50;
ctype=C_SCROLL;
if(faction==faction_jug)
colprod=cola(limcol);
end

loop
if(collision(type puntero))
if(mouse.right && faction==faction_jug && activ!=false)
while(mouse.right)
frame;
end
menu=mdepl(prodn);
mein=true;
end
if(mouse.left && faction==faction_jug)
activ=true;
end
else
if(mouse.left && faction==faction_jug)
activ=false;
mein=false;
end
end

if(activ==true && auxiliared.tipo!=0)
for(i=0;i<10;i++)
if(colprod.producto[i].oc!=true)
colprod.producto[i].tipo=auxiliared.tipo;
colprod.producto[i].prod=auxiliared.prod;
colprod.producto[i].xp=x+20;
colprod.producto[i].yp=y;
colprod.producto[i].tmpP=tmprod;
colprod.producto[i].oc=true;
break;
end
end
auxiliared.tipo=0;
auxiliared.prod=0;
end
frame;
end
end


function mdepl(int ed)
private
int i,prods[10],tipo;
string cosas[10];
end
begin
x=ppunt.x;
y=ppunt.y;

tipo=edif[ed].tipo;
for(i=0;i<10;i++)
if(edif[ed].producs[i]!=-1)
cosas[i]=guer[edif[ed].producs[i]].nombre;
prods[i]=edif[ed].producs[i];
else
cosas[i]="";
end
end

for(i=0;i<10;i++)
if(cosas[i]!="")
casilla(x,y,cosas[i],prods[i],tipo);
y+=25;
end
end
end

process casilla(x,y,string escribir,int prod,int tipo)
begin
file=fpgs[0];
graph=5;
size_x=50;
size_y=95;

write_var(0,x,y,1,escribir);
loop
if(collision(type puntero))
graph=6;
else
graph=5;
end
if(mouse.left)
if(graph==6)
auxiliared.prod=prod;
auxiliared.tipo=tipo;
end
break;
end
if(mouse.right)
break;
end
frame;
end
delete_text(0);
end
begin
while(!key(_esc))
frame;
end
end


Por cierto, si algo no te compila no tienes por qué desesperar, tienes que relajarte y leer más detenidamente tu código e intentar aislar, porque muchas veces será por error de sintasis y releyendo el ćodigo te puedes dar rápidamente cuenta de algo que estás haciendo mal.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Yawin

#51
for(i=0;i < limcol ; i + + )
a ver si ahora se muestra bien cawen zotz... (está con separaciones, porque si no el foro lo muestra mal)

Lo otro, ahora lo miro. Y si la cosa es que me he releido mi código millares de veces, pero... no se, me paso por alto esas cosas xD

edit: O.O


Te daría todos mis karmas si pudiese. Yo ya estaba pensando que nunca encontraría el error.

(me anoto que me tengo que fijar siempre en las llamadas y que no compare nunca un string con un int.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

DCelso

:D, darme tus karmas no puedes, pero poder darme uno todos los dias durante diez dias sí que podrías y serian justo los 10 que tienes :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Por cierto, ahora que estás empezando y viendo errores típicos con sus soluciones, estaría bien que hicieras una recopilación de éstos y nos los fueras poniendo en un post (por ejemplo en documentación) llamado FAQ o así :D
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Yawin

Cómo?? Ir poniendo los errores que me salen y con qué códigos??
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

DCelso

pues no, sino algo como Si te da este error al compilar puede que sea por esto, si te da este problema al ejecutar puede que sea por esto otro, vamos un FAQ de desarrollo para programadores, tipo los que hay en la red de otros programas.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Yawin

Puff, no me veo muy capaz, porque entre que este lenguaje apenas lo domino, y que generalmente cuando me salta un error no me paro a pensar por qué es, lo resuelvo y punto, pues como que.... prefiero seguir aprendiendo y cuando sepa suficiente, hacer algo de eso.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end