Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Guacusio

46
No se puede definir más de un elemento de un array en una sola línea así que olvídate de esto:

[ 0, x, 90, 0, 90, 0, x, 270, 0, 270, 0, x, 270, 0, 270, 0, x, 270, 0, 270, 0, x, 270, 0, 270, 0 ]

Si quieres entregarle al script un array, tiene que estar en la forma de una variable y usar una línea de código por cada definición de sus elementos:

array[0]=arg0;
array[1]=arg1;
array[2]=arg2;
.
.
.
array[25]=arg25;
scPerAsignaPose(array);



No me imagino cuál puede ser la necesidad de tener que hacer ambas cosas en una sola línea, sería bueno que explicaras el por qué de esa necesidad. Si necesitas entregarle a un script más de 16 argumentos, también puedes introducirlos en una lista y entregarle al script la id de esa lista como argumento:

argumentos=ds_list_create();
ds_list_add(argumentos,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
ds_list_add(argumentos,arg15,arg16,arg17,arg18,arg19,arg20,arg21,arg22,arg23,arg24,arg25);
scPerAsignaPose(argumentos);//dentro del script se debe destruir la lista argumentos

47
Veo estas opciones:

1. Donde cambias el image_alpha del primer A cambia también el image_alpha del segundo A.
2. En vez de tener dos instancias de A, reemplaza la segunda A por una instancia de un objeto B que en su evento step tenga:

image_alpha=A.image_alpha;

3. Poner este código en A:

create:
amo=noone;//id de la instancia a la cual se le copiará el image_alpha

step:
if amo!=noone
    image_alpha=amo.image_alpha;//copia la image_alpha del amo


Cuando quieras que una instancia de A copie el image_alpha de otra instancia (ni siquiera necesita ser de A), cambia el valor de la variable amo por la id de la instancia que tiene el image_alpha a copiar.

48
Preguntas y respuestas / Re:Eliminar archivos de hosting?
Noviembre 19, 2015, 03:27:47 AM
Cita de: NiuWeb en Noviembre 18, 2015, 11:15:34 PM
Y dónde me recomendarías que aprendiera eso de seguridad en PHP?   :D

Puedes poner en google "seguridad de archivos php". Un ejemplo:

http://www.elwebmaster.com/articulos/%C2%BFtu-php-es-seguro-tips-y-herramientas-para-asegurar-tu-sitio
49
Preguntas y respuestas / Re:Eliminar archivos de hosting?
Noviembre 18, 2015, 07:54:56 PM
En GMS:

ruta_php="http://www.gamegeisha.net/gms_delete.php";//ruta de ejemplo
archivo="myini.ini";//nombre del archivo a borrar
http_post_string(ruta_php,"archivo="+archivo);//envía el nombre del archivo al servidor


En el servidor, el archivo php debe estar en la ruta indicada por ruta.php y contener algo así:

<?php
$fname 
$_POST['archivo']; //nombre del archivo que se borrará
unlink('uploads/'.$fname); //borrado del archivo (suponiendo que está en la carpeta uploads)
?>

50
¿Dónde te sale Upload Failed?
51
Preguntas y respuestas / Re:¿Centrar views?
Noviembre 18, 2015, 03:01:33 AM
Cita de: NiuWeb en Noviembre 18, 2015, 02:47:39 AM
por cuestiones de resolución, no poedo darme el lujo de permitirle a usuario modificar la view.

Si lo que te interesa es mostrar todo el room, ¿Por qué no usas una view con un aspect ratio igual al del display y con dimensiones que circunscriban el room lo justo y necesario?
52
Cita de: NiuWeb en Noviembre 18, 2015, 02:42:34 AM
Sí. ¿Existirían conflictos con ese nombre?

El nombre del ini está bien, pero ¿agregaste el archivo myini.ini a los included files?
53
Preguntas y respuestas / Re:¿Centrar views?
Noviembre 18, 2015, 02:43:18 AM
¿Puedo preguntar cuál es el objetivo de hacer una view más grande que el room?
54
Preguntas y respuestas / Re:¿Centrar views?
Noviembre 18, 2015, 02:00:09 AM
¿Con "sala" te refieres al room, o en el mismo room hay varias "salas" minúsculas? ¿De qué tamaño son el room y la view?
55
Cita de: NiuWeb en Noviembre 17, 2015, 10:41:29 PM
EDITO: Cuando uso esa función, en vez de hacer lo que necesito, sólo "aplasta" la string para que quepa en el tamaño que le he dado... No sirve para lo que necesito

¿A qué te refieres con que lo "aplasta"? ¿En qué sentido?
56
Cita de: NiuWeb en Noviembre 17, 2015, 06:26:56 PM
Hola, perdón por la molestia, y más que el tema está resuelto...pero...
no logro comprender del todo cómo funciona y cómo se hace este mecanismo para subir archivos... si no es mucha molestia, agradecería me explicaran algunas cosas:

1)-
Citar(...)otra cosa si usas 000webhost, que me parece eso por el editor de php que mostraste, ellos creo que no permiten ni subir ni descargar archivos a sus servidores, solo te permite abrir paginas y ya, te lo digo porque ya yo lo intente.
¿Qué servidor online debo usar para que pueda guardar los datos? ¿Cuál me recomiendan? ¿son gratuitos?

2)- ¿Cuántos scripts PHP debo tener, y dónde?

3)- ¿Qué significa y dónde va este código? :
Citarvar url_upload = "http://www.gamegeisha.net/gms_upload.php"; //url a la que se subira el archivo
var fname = "myini.ini"; //el nombre del archivo
var f = file_text_open_read(fname); //se abre el archivo a subir para leerlo
var fcont = ""; //se crea la variable donde se guardara el contenido del mismo
//desde aqui
while (!file_text_eof(f)) {
  fcont += file_text_read_string(f) + chr(13) + chr(10);
  file_text_readln(f);
}
file_text_close(f);
//hasta aqui se va leyendo cada linea del archivo y se cierra el archivo   
ah_upload = http_post_string(url_upload, 'fname=' + url_encode(filename_name(fname)) + '&fcont=' + url_encode(fcont)); //esto sube el archivo a tu php con las dos variables que este toma
/*
a url_upload(http://www.gamegeisha.net/gms_upload.php)
sube o envia la siguiente informacion como variables superglobales en post(la informacion no se ve en el link):
fname = nombre del archivo codificado
fcont= el contenido del archivo codificado
*/

3)- Realmente no entendí este tema. ¿Podrían explicarme resumidamente los pasos a seguir para poder subir archivos al hosting?

Si no es mucho pedir, agradecería eternamente si me respondieran esto...GRACIAS :'( :'( :'( :'( :D :D

1. Yo usé 000webhost y hace muy poco sufrieron un ataque y estuvieron inutilizables por cerca de una semana. Como no sabía cuánto tiempo seguirían así y al ver pasar los días sin que lo solucionaran, me cambié a hostinger y hasta ahora no me arrepiento: no tiene publicidad ni le agrega basura a las respuestas de las solicitudes http. Aún no he probado las funciones php para crear y editar archivos ya que guardo la información subida en una base de datos MySQL, así que no puedo opinar sobre eso.

2. basta con uno, y su ubicación es la misma que le das en la url cuando haces el post:

http://www.gamegeisha.net/gms_upload.php

3. El código que indicas va donde tú quieras hacer la subida del archivo. Lo que hace es leer línea por línea el texto del archivo en tu equipo y lo almacena en una variable string (fcont). Luego hace una petición post para enviarle a la página php 2 variables: una con el nombre del archivo que debe crear en el servidor (fname), y otra con el contenido (fcont).

El archivo php lo que debe hacer es tomar el contenido de la variable fcont que acaba de recibir y luego escribir ese string en un nuevo archivo de texto con el nombre fname.

En resumen:

-Crea una cuenta en un hosting
-Obtén la url de tu carpeta (normalmente se llama public_html) y dentro de ella crea un archivo llamado gms_upload.php
-Te sugiero que en vez de trabajar con el editor online del host, lo hagas con notepad++ y que subas el archivo mediante un cliente ftp, como filezilla. Eso es debido a que si usas caracteres con acentos el archivo php debe estar formateado en utf-8, cosa que sí puede hacer notepad++ pero no necesariamente el editor del host. Yo ya perdí varios días peleando con eso hasta que me di cuenta.
-Escribe el código que recibe los datos de GMS y que crea el archivo en el server
-En GMS, escribe el código que envía la información (el que tienes arriba) en el evento donde quieres enviarlo. Puede ser un create, una alarma, un mouse press, etc. pero la idea es hacerlo una sola vez (es decir, no uses step)
-En el evento HTTP puedes recibir la respuesta del servidor (si la hay). Por ejemplo, un string "ok" que signifique que el archivo fue correctamente guardado en el server. Para hacerlo, tienes que agregar un código en el php que devuelva ese string "ok".
-De acuerdo a mi experiencia, la función url_encode que tienes en el código no se necesita ya que GMS convierte automáticamente los caracteres especiales a su codificación url.
-Si tienes dudas sobre el código php, este es un buen tutorial que encontré para principiantes:

http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193
57
Cita de: kostra en Noviembre 16, 2015, 09:16:04 PM
una preguntita así que me interesa... por qué han quitado esas funciones? entiendo que quiten algunas por el tema de que no son compatibles con los nuevos modulos, pero comprobar que una variable existe??? igual que la función de sleep, ya sé que es mala, pero es faltarte y quererla xD

El ejecutable del juego en GMS es un código compilado, a diferencia de las versiones anteriores que trabajaban con un intérprete. Eso hace que el código fuente GML se pierda en la compilación e implica que las funciones que manipulan código GML en tiempo real (como el antiguo execute_string o las que manipulan variables en base a su nombre) dejen de ser compatibles.
58
Cita de: nonoroman en Noviembre 16, 2015, 02:38:16 PM
Creo que tienes un poco de lio, jejeje.
Las variables, siempre tienen que crearse, en el CREATE, en el caso de que no las estes usando dandole un valor, por ejemplo 0.

Tu pregunta, creo que mas bien seria, si la variable coge valor, entonces ejecuta tal.

Pero para entender esto deberias de explicar un poco mas la idea.

Bueno espero haberte ayudado.


Cita de: NiuWeb en Noviembre 13, 2015, 06:16:00 PM
Hola a todos, tengo una pequeña y probablemente tonta pregunta:

Tengo una pieza de código, quiero ejecutarla únicamente si una variable ha sido creada, me explico un poco:
[gml]
if variable_exists(variable) = true //Código Fake...xD
{
   //Ejecutar código
}
[/gml]
a ver si me expliqué...xD

Yo creo que lo que busca es una forma de emular las antiguas funciones de GM variable_local_exists y variable_global_exists, como dijo jmbs19. Es perfectamente posible que uno necesite saber si una variable existe y en función de eso hacer algo.
59
Cita de: elviskelley en Noviembre 16, 2015, 12:00:09 PM
El problema es que no importa lo que guardes en el ini. a lo que el juego se ejecute de nuevo, el archivo que posees en inluide files, va a reemplazar al ini anterior, por lo cual llegas a un siclo donde siempre vuelves al ini original que has colocado en inluide files.
Lo mejor es que ordenes que el ini se cree desde la primera room con un codigo como este.
if !file_exists(argument0)
{
file_bin_open(argument0,0);
file_bin_close(argument0);
}
Lo que hace es unicamente crear el ini.
Luego en la siguiente room o en la room que lo necesitas, usas los codigos para abrirlo agregar o modificar valores, y cerrarlo como es comun. algo asi.

ini_open(argument0);
ini_write_real("Global","Config",global.variable);
ini_close();

Asi no tendras falla y podras usarlo. Pero sacalo de incluide files.

Caes en un error profundo. En una nueva ejecución del juego, los archivos en included files no reemplazan a los archivos en la save area, de lo contrario no tendrían sentido todas las funciones para escribir en inis. Los archivos en included files sólo se usan a modo de lectura en caso de que su contraparte en la save area no exista.
60
No se puede hacer eso desde el juego. Si quieres modificar el ini desde el juego y que el archivo modificado quede además en included files, tienes tú mismo que reemplazar el archivo en included files con el archivo modificado en Appdata.