Aprendiendo y debatiendo sobre bgt

623 messages, 21 pages:  1; 7 89 10 11; 21 ↖ Go back to topic list

Score: +4

241. James_Potter,

ei gente, se que no ba en este hilo, pero si no es piratería alguien me pasa el código fuente del cíti más, al permanente y si es piratería, porfabor moderadores, eliminen el mensaje, gracias!

Score: +0

Last edited by James_Potter, Jan 28 2019 05:45:18

242. oriol_gomez92,

Entonces mejor no publico el link de mis juegos de código abierto, o sí?
De hecho, tanto con bgt como con javascript, hay 2 plantillas que pueden usar para empezar a crear juegos, pero para saber cómo funcionan tendreis que mirar el código.
Un programador o scripter debe aprender 2 cosas, 1, saber el problema que tiene, 2, resolución de problemas.

Dicho esto:
https://code.oriolgomez.com:9900/users/ogomez92

Score: +0

Last edited by oriol_gomez92, Jan 28 2019 19:29:51

243. alextuprincipe ,

que es ese link?

Score: +0

244. elPrincipeDeLaDulcePrincesita ,

amí me da error cuando lo quiero abrir

Score: +0

245. pia_gc ,

cita: el problema es que aquí la gente cree que si va recopilando fragmentos de código luego podrá juntarlos. Por ejemplo, pensais que si así se pone una música, lo podré usar para todos mis juegos, si así se pone un menú, sirve para todos los juegos. Y eso es un error. Teneis que aprender por qué funcionan las cosas y qué estais haciendo exactamente.
Fin de sita

Claro, hay que analizar por qué el contenido de una llave, entender las variables, tipos de funciones... copiar y pegar a lo loco sin sentido... gracias, paso

Score: +0

246. James_Potter,

que onda gente, una pregunta, el btb es de código abierto, o no si el código se puede compartir y alguien lo tiene, que lo mande al permanente porfabor

Score: +0

Last edited by James_Potter, Feb 23 2019 18:45:08

247. nevasca ,

buenas noches a todos.
Antes de mi consulta, si no hay problemas para que puedan también compartirme algunos códigos de audiojuegos, así de ese modo puedo practicar o jugar también :)
Okey, vengo para hacerles una consulta a los usuarios mas abanzados (espero y puedan ayudarme, así como también espero que puedan entenderme)
Bien, supongamos mi proyecto está finalizado, y tengo los siguientes archivos:

include"mauro.bgt

include"menu.bgt

El archivo principal sería mauro.bgt.
La consulta es. ¿cómo puedo incluír en un solo archivo estos 2 componentes? o cómo hago para encriptarlos y cuando ya tenga el proyecto pueda compartirlo con los demás usuarios, pero sin que ellos puedan acceder a los scripts.

Score: +0

Last edited by nevasca , Mar 28 2019 02:32:21

248. HarryPotter ,

Así mismo como lo hiciste. Desde mauro.bgt pones
"#include "archivo.bgt". En archivo obiamente el respectivo nombre de lo que quieras incluír y eso se puede repetir tantas veces como precises. Ejemplo:

include "speak.bgt" // Anexo la librería speak.

include "dlg.bgt" // Anexo la librería dialog.

include "mainmenu.bgt" // Anexo el archivo donde está mi menú.

// Más inclución aquí ...
También puedes hacer eso pero indicando subdirectorios, es decir si un archivo está dentro de otra carpeta pones lo siguiente:
"#include "Carpeta/archivo.bgt". En carpeta obiamente va el nombre de la carpeta donde esté dicho archivo.
Otra cosa que puedes anexar son los archivos *.dat, que son generalmente utilizados para guardar ficheros de texto o packs con los audios del juego. Ejemplo:
"#include "sounds.dat". Sounds.dat es un ejemplo de archivo, obiamente lo puedes modificar. Ejemplo:
"#include "configuraciones.dat". Ahí podrías almacenar un fichero de texto para guardar las configuraciones de usuario.
Espero haber explicado correctamente y por más dudas aquí andamos.

Score: +0

249. nevasca ,

Muchas gracias, pero hasta este punto no tengo problema. mi problema es con esto: "Compile Script (Release"
Me queda el archivo .exe, pero aún así no puedo compartir con alguien el proyecto, porque juntamente con el .exe debo adjuntar los .bgt y eso es lo que yo no quiero hacer.

Score: +0

250. Kekiusn ,

No, puedes compartir solo el .exe sin problemas.

Score: +0

251. BOFH ,

No se puede incluir un archivo .dat. fallaría irremediablemente. Los archivos tienen que leerse.

Score: +0

252. nevasca ,

buenos días! lo que yo he intentado hacer fue esto.
Di en la opción compile script release, y el punto exe lo moví a un pendrive para ver si funcionaba, y si. el problema es que habla con la voz sapy de windows, no hay sonidos, y no funcionan los mapas....

Score: +0

253. BOFH ,

¿Y el resto de archivos que no son bgt? ¿Te los comes con patatas?

Score: +0

254. nevasca ,

lo que yo necesito es compartir la aplicación, nó el código. quiero compartir el .exe, pero no los .bgt, es por eso que necesito saver como hacer para encriptarlos u ocultarlos.
Como los juegos bc, stw, etc. ellos no comparten los scripts, solamente comparten el .exe y los componentes básicos como los dll, sounds.dat, etc.

Score: +0

255. sol-dorado,

Hola hola, vengo por aquí para despejar algunas inquietudes; en primera instancia, como ya te lo dijeron los compañeros, incluír tus liberías en el archivo principal, es la manera correcta, y luego distribuyes el ejecutable, y claro que tus scripts no podrán ser vistos, a menos que utilicen un desensamblador, dicho en español para que se entienda,
vastante poderoso. En cuanto a que solo habla sapi al compartirlo, eso pasa porque no estás entregando el ejecutable del programa con la dll de NVDA, por ejemplo que es la que va permitir la salida hacia este lector, dicha libería es nvdaControllerClient32.dll.
En cuanto al tema del pack de sonidos, estos se empaquetan en un archivo .dat, puedes usar un pack creater que hay por ahí, que a su vez te permite ponerle una llave de encriptación para que si alguien luego extrae los sonidos no pueda usarlos.
Para terminar, si que es posible incluír el pack, so sonidos y luego cambiar el lugar donde el motor buscará los sonidos, mediante la siguiente intrucción:
set_sound_storaje();

Aquí el apartado de la documentación de bgt, en inglés y también traducido.

set_sound_storage

This function sets the location of the pack file in which the engine will look for sound files loaded through the sound object.

bool set_sound_storage(string filename)

Parameters:
filename
The pack file to use. This can be either an absolute path, a relative path, the file name on its own, or a * (see remarks).

Return value:
true on success, false on failure.

Remarks:
Note that both and / can be used to specify paths.

If an empty string is passed to this function, the engine will not look for sounds in a pack file but will attempt to locate requested files on disk instead. This is the default behavior.

If you pass * to this function, the engine will attempt to look for sounds in a pack file that has been included into the program itself. For more information on how this is done, see the tutorial on packaging files with your executable.

It is perfectly legal to call this function more than once in your game. Sounds that are already loaded will not be affected, any changes are only seen the next time you attempt to load a sound.
set_sound_storage

Esta función establece la ubicación del archivo de paquete en el que el motor buscará los archivos de sonido cargados a través del objeto de sonido.

bool set_sound_storage(string filename);

Parámetros:
filename
El paquete de archivos a utilizar. Puede ser una ruta absoluta, una ruta relativa, el nombre del archivo por sí solo o un * (ver comentarios).

Valor de retorno:
true en el éxito, false en el fracaso.

Observaciones:
Tenga en cuenta que tanto como / pueden usarse para especificar rutas.

Si se pasa una cadena vacía a esta función, el motor no buscará sonidos en un paquete de archivos, sino que intentará ubicar los archivos solicitados en el disco. Este es el comportamiento predeterminado.

Si pasa * a esta función, el motor intentará buscar sonidos en un paquete que se haya incluido en el programa. Para obtener más información sobre cómo se hace esto, consulte el tutorial sobre cómo empaquetar archivos con su ejecutable.

Es perfectamente legal llamar a esta función más de una vez en tu juego. Los sonidos que ya están cargados no se verán afectados, los cambios solo se verán la próxima vez que intente cargar un sonido.
Visto ésto, significa que podemos incluír el paquete con los sonidos, y luego en donde lo necesitemos, llamar a las dos funciones siguientes:

include "sounds.dat" // incluímos nuestro pack de sonidos

void main() // función principal
{ // abre main
set_sound_storage("*") //
// luego indicamos al motor bgt nuestra llave para desencriptar internamente los sonidos:
set_sound_decryption_key("clave_para_desencriptar_nuestros_sonidos", false); // aquí la hemos indicado al programa
} // cierra main

Score: +0

256. nevasca ,

Muchas gracias a todos por explicarme. creo que funciona, he subido el proyecto a dp y ahora se lo compartí a una personita para que lo prueve.

Score: +0

257. marciano ,

amí no me funcionó el extract pack, me dio error de compilación, por que justamente quiero encriptar sonidos.

Score: +0

258. nevasca ,

El estrac pack, se usa para extraer los archivos de un .dat. si lo que buscas es encriptarlos, necesitas otro script

Score: +0

Last edited by nevasca , Mar 30 2019 23:54:54

259. marciano ,

perdón, equivocación mía, quise decir pack creater, ese el que pasó en 2 mensajes más abajo el usuario sol dorado.

Score: +0

Last edited by marciano , Mar 31 2019 08:25:33

260. elPrincipeDeLaDulcePrincesita ,

che, alguien me pasaría un desensamblador? no lo tomen a mal, solo quiero probar desamplar algo. quiero ber como se ase para epurar cosas en bgt. pero para eso necesito un desensamblador

Score: +0

261. BOFH ,

No existe desensamblador para bgt.

Score: +0

262. Kekiusn ,

Busca por Microsoft sdk.

Score: +0

263. gatita77 ,

Buenas los scripts se pueden hacer con bloc de notas?

Score: +0

264. elPrincipeDeLaDulcePrincesita ,

si amigo, si se puede. solo borrale la extención .txt y ponele la extnción .bgt

Score: +0

265. gatita77 ,

Gracias, porque con los scripts que vienen por defecto dice un error que no tienen bien el void main por eso voy a hacer mis propios scripts.

Score: +0

266. nevasca ,

Saludo para todos. aquí les planteo mi situación, espero y puedan ayudarme.
Entiendo que para hacer que un ambiente, (sea música o cualquier tipo de sonido) sea reproducido en el mapa completo, se utiliza esto:
p.play_stationary ("amb9.ogg", true);
Pero lo que yo deseo es hacer que el sonido se reproduzca en una determinada coordenada X Y.
Por ejemplo,
sound_source(0,2,0,5"amb9.ogg");
Pero sucede que me da error. también he intentado intercambiar las comas por el signo de doble puntuación, y ocurre lo mismo. ¿Podrían ayudarme?

Score: +0

267. Kekiusn ,

vector andar;
andar.x=1;
andar.y=0;
p.play_2d("archivo.ogg", andar.x, andar.y, 5, 0, true);

Score: +0

268. nevasca ,

Me ha salvado la vida! pero... sucede que solo puedo poner un tipo de coordenada x, y el sonido que yo he escogido, debe de ser reproducido desde la coordenada 54, hasta la 85, y coordenada y 0`

Score: +0

269. Kekiusn ,

/Ya que entiendes Portugués, comentaré en portugués el codigo/

include"sound_pool.bgt"//biblioteca sound_pool

sound_pool p;//declaração do sound_pool, à variável p
vector andar(1, 0);//um vetor inicialmente definido em 1x, e 0 y
int som;//uma variável int que armazenará no futuro o número do slot onde o som reproduzindo está.
int minimoy=0, maximoy=100;//y mínimo do som 0, e vai tocar até o 100, maximoy
void main(){//função principal
som=p.play_2d("music.ogg", andar.x, andar.y, 54, 0, true);//a função p.play_2d retorna o número do slot, e estamos guardando ele na variável som, o nome do arquivo é music.ogg, inicialmente nas coordenadas 1 0 do vetor andar, nas coordenadas 54 0 onde ele está posicionado atualmente, reproduzindo em loop.
show_game_window("teste de mapa");//definimos um título
while(true){//um loop infinito
wait(5);//consumo de CPU
if(key_pressed(KEY_ESCAPE))exit();//se pressionar esc fecha
if(key_pressed(KEY_RIGHT)&&andar.x<200)andar.x++;//se posição x do jogador for menor que 200, então anda um pra direita
if(key_pressed(KEY_LEFT)&&andar.x>1)andar.x--;//se posição x do jogador for maior que 1, anda um pra esquerda
p.update_sound_2d(som, 54, 0);//atualiza o som nas coordenadas 54 0, usando a função update_sound_2d(VariávelIntDoSom, x, y)
p.update_sound_range_2d(som, (andar.x-54), (85-54), (andar.y-0), (maximoy-minimoy));
/*
p.update_sound_range_2d(
função para atualizar o som em um range, usando o slot definido na variável som

(andar.x-54),
entre parênteses porque é uma expressão, que no caso é posição x atual do jogador -54
(85-54),
o outro x do range é o limite até onde o som será reproduzido, no caso, 85 -54, que é onde o som começa a ser reproduzido.
(andar.y-0), (maximoy-minimoy));
acho que está autoexplicativo.
*/
}//fim do while
}//fim do void main

Score: +0

270. nevasca ,

Infinitas gracias, lo aplicaré.

Score: +0

623 messages, 21 pages:  1; 7 89 10 11; 21 ↖ Go back to topic list

Answer to topic

You must be connected in order to be allowed to post.

Lost password ? Create account