Introducción

Los programas BOT son aplicaciones independientes a ClonMax. Pueden comunicarse con ClonMax para realizar funciones o solicitar datos. El funcionamiento es muy simple. Desde la aplicación ClonMax se abre una aplicación BOT. Cuando se carga el BOT, la aplicación ClonMax se queda en proceso de lectura/escritura con el BOT a través de dos variables (botin y botout) ubicadas en la carpeta de la aplicación ClonMax.

Abajo encontrará las funciones que acepta ClonMax, el código fuente de un programa realizado con Bennu Game Development (BennuGD) y el BOT FeedBack para realizar pruebas.

 

Funciones


escr cadena
botin=»escr Hola mundo.»;
ClonMax escribe la cadena


esti cadena
botin=»escr Hola mundo.»;
ClonMax titula la cadena


dijo
botin=»dijo»;
ClonMax escribe la entrada del usuario


con0 cadena
botin=»con0 Hola mundo.»;
ClonMax contesta y escribe la cadena


con2 cadena
botin=»con2 Hola mundo.»;
ClonMax contesta la cadena


con4 cadena
botin=»con4 Hola mundo.»;
ClonMax contesta y titula la cadena


cara N
N 0-Normal
N 1-Grande
botin=»cara 0″;
Posiciona la imagen del ClonMax


boto cadena1,cadena2
cadena1 cadena mostrada en el botón
cadena2 cadena retornada si se pula en el botón
botin=»boto Sí,si»;
Coloca un botón en ClonMax


syst N
N 1-color del texto
N 2-color del texto para el usuario
N 3-color del texto del sistema
N 4-color del fondo
N 5-altura de la fila
N 6-centro horizontal del diálogo
N 7-centro vertical del diálogo
botin=»syst 1″;
Retorna variables de ClonMax (system ____)


revi
botin=»revi»;
Retorna la revisión de ClonMax


vers
botin=»vers»;
Retorna la versión de ClonMax


imag T C RR RUTA
ZZ, C y RR (con T=3,4,5)

T 0-En diálogo original imag T ruta\*.png
T 1-En diálogo ajustado imag T ruta\*.png
T 2-En dialogo centrado imag T ruta\*.png
T 3-Ajustado imag T ZZ C RR ruta\*.png
T 4-Original centrado imag T ZZ C RR ruta\*.png
T 5-Original posicionado imag T ZZ C RR xxxx yyyy ruta\*.png

C 0-Nada
C 1-Si «clicka» la imagen la elimina y retorna el código RR  (return RR)

ZZ Profundidad

RR Código de la imagen

botin=»imag 5 00 0 00 0149 0118 c:\fotos\foto131.png»;
Pone una imagen en ClonMax


borr N
botin=»borr 04″;
Elimina las imágenes con el código igual que N
botin=»borr»;
Sin N elimina todas las imágenes


exit
botin=»exit»;
Cierra el BOT


wina línea1,línea2,línea3,línea4,línea5
botin=»wina 0,select a textfile to open,textfiles *.txt |*.txt,C:\Files\,file.txt»;
ClonMax abre un diálogo de archivo de dykodlialogs
Retorna la ruta absoluta de la selección

Especificaciones originales de file dialog del archivo fomat-specifications de Pieter Kuperus/Dyko (c) 2011 en http://www.code.google.com/archive/p/dykodialogs-for-bennugd/

 


 

Código fuente

Program Holamundo;
import «mod_dir»;
import «mod_file»;
import «mod_map»;
import «mod_proc»;
import «mod_screen»;
import «mod_string»;
import «mod_text»;
import «mod_video»;
import «mod_wm»;

Global
string botout,botin,ready;
int num1,num2,tmp,icon,portada;
string raiz;
byte voz=true;

//////////////////////////////////////////////////////

begin
get_desktop_size(&x,&y);
x=(x/2)-149;
y=(y/2)-118;
MOVE_WINDOW(x,y);
set_mode(299,238,16);
set_title(«BOT Hola mundo v1.0»);
icon=load_png(«icono.png»);
set_icon(0,icon);
portada=load_png(«port.dat»);
put_screen(0,portada);
frame;
if(argc>1)
raiz=»»;
for(x=1;x<=argc;x++)
//se le pasa la ruta de ClonMax
//si la ruta pasada contiene caracteres especiales se debe tratar
raiz+=» «+(argv[x]);
end
raiz=trim(substr(raiz,1,len(raiz)-2));
principal();
else
write(0,150,220,1,»ERROR – DEBE DE CARGARSE DESDE CLONMAX»);
end
frame;
loop
if(exit_status)
fremove(raiz+»\botout.dat»); frame;
fremove(raiz+»\botin.dat»); frame;
botin=»exit»;
save(raiz+»\botin.dat»,botin);
frame;

unload_map(0,portada);
exit();
end
frame;
end
end

///

process principal();
begin
//confirma que arranca
botin=»stat2″;
save(raiz+»\botin.dat»,botin);
frame;

//pantallazo
mkdir(raiz+»\temp\»);
if(fexists(raiz+»\temp\port.dat»)) fremove(raiz+»\temp\port.dat»); end
save_png(0,portada,raiz+»\temp\port.dat»);
frame;

//espera ready
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end

get_desktop_size(&x,&y);
x=(x/2)-149;
y=(y/2)-118;
num1=x/10;
num2=(y+20)/10;
from tmp=0 to 9;
x-=num1;
y-=num2;
MOVE_WINDOW(x,y);
frame(100);

end
MOVE_WINDOW(0,-20);

botin=»start»;
save(raiz+»\botin.dat»,botin);
frame;
minimize();

//inicio
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
botin=»escr «;
botin+=chr(10)+chr(13);
botin+=»BOT Hola mundo v1.0″;
botin+=chr(10)+chr(13);
botin+=»COPYRIGHT José Hervás Añón 2019. Usted debe tratar el SOFTWARE como Freeware.»;
botin+=chr(10)+chr(13);
botin+=»El software se distribuye »tal y como es» y no tiene ninguna garantía.»;
botin+=chr(10)+chr(13);
botin+=» «;
botin+=chr(10)+chr(13);
save(raiz+»\botin.dat»,botin);
frame;
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end

///bucle rincipal
loop
if(fexists(raiz+»\botout.dat»))
//ENTRADA
load(raiz+»\botout.dat»,botout); frame;
fremove(raiz+»\botout.dat»); frame;
control();
frame;
while(exists(son)) frame; end
end
frame;
end
end

///

process control();
private
int posi;
begin
botout=lcase(botout);
//FUNCIONES GENERALES//
//ayuda
if(botout==»ayuda»)
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
botin=»escr «;
botin+=chr(10)+chr(13);
botin+=»BOT Hola mundo v1.0″;
botin+=chr(10)+chr(13);
botin+=»COPYRIGHT José Hervás Añón 2019. Usted debe tratar el SOFTWARE como Freeware.»;
botin+=chr(10)+chr(13);
botin+=»El software se distribuye »tal y como es» y no tiene ninguna garantía.»;
botin+=chr(10)+chr(13);
botin+=» «;
botin+=chr(10)+chr(13);
botin+=»AYUDA»;
botin+=chr(10)+chr(13);
botin+=»BOT Hola mundo v1.0 es un módulo de muestra para ClonMax®.»;
botin+=chr(10)+chr(13);
botin+=»FUNCIONES»;
botin+=chr(10)+chr(13);
botin+=»- »Voz» > Activa o desactiva la voz.»;
botin+=chr(10)+chr(13);
botin+=»- »Listado de palabras» > Muestra las palabras utilizadas en el BOT para poder enseñarlas al ClonMax® Personalizado.»;
botin+=chr(10)+chr(13);
botin+=»- »Salir» > Sale del BOT.»;
botin+=chr(10)+chr(13);
botin+=» «;
save(raiz+»\botin.dat»,botin);
botout=»»;
return;
end
//listado de palabras
if(botout==»listado de palabras»)
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
botin=»escr «;
botin+=chr(10)+chr(13);
botin+=»BOT Hola mundo v1.0″;
botin+=chr(10)+chr(13);
botin+=»COPYRIGHT José Hervás Añón 2019. Usted debe tratar el SOFTWARE como Freeware.»;
botin+=chr(10)+chr(13);
botin+=»El software se distribuye »tal y como es» y no tiene ninguna garantía.»;
botin+=chr(10)+chr(13);
botin+=» «;
botin+=chr(10)+chr(13);
botin+=»LISTADO DE PALABRAS»;
botin+=chr(10)+chr(13);
botin+=»- hola»;
botin+=chr(10)+chr(13);
botin+=»- mundo»;
botin+=chr(10)+chr(13);
botin+=» «;
botin+=chr(10)+chr(13);
save(raiz+»\botin.dat»,botin);
botout=»»;
return;
end

//SALIR
if(botout==»salir» or botout==»esc»)
fremove(raiz+»\botout.dat»); frame;
fremove(raiz+»\botin.dat»); frame;
botin=»exit»;
save(raiz+»\botin.dat»,botin);
frame;
botout=»»;

unload_map(0,portada);
exit();
end

//VOZ
if(botout==»voz»)
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
if(voz)
voz=false;
botin=»escr Voz desactivada»;
else
voz=true;
botin=»escr Voz activada»;
end
botin+=chr(10)+chr(13);
save(raiz+»\botin.dat»,botin);
botout=»»;
return;
end
///FUNCIONES
//Escriba aquí sus funciones
////////////////////////////////////////
//salto de línea
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
botin=»escr «;
save(raiz+»\botin.dat»,botin);
frame;
//contesto
load(raiz+»\botin.dat»,ready); while(ready<>»ready») load(raiz+»\botin.dat»,ready); frame; end
if(voz)
botin=»con0 Hola mundo.»;
else
botin=»escr Hola mundo.»;
end
save(raiz+»\botin.dat»,botin);
frame;
////////////////////////////////////////
frame;

end

 


FeedBack
Por ClonMax
Comprueba las funciones con ClonMax y lee los retornos.
Freeware

 


Volver