- Wc3-WoW Forum -
¡Conéctate! En caso de no estar registrado hazlo puesto que eliminarás la publicidad, podrás ver los links de descarga, etc..
Últimos temas
Conectarse

Recuperar mi contraseña

WC3WOW UPLOADER
WC3WOW Uploader
HOSTS
- Imágenes | Archivos -





FacebooK
WC3WOW Facebook
[MK]Blaze Blog
Por favor, si te gusta el material de la web y quieres copiarlo a otra, se tan amable de pedir permiso al creador del material primero. Por favor, no robe material. Muchas gracias.

Clan [MK]
Clan MK

[Tutorial] Aplicando C++ al Warcraft

Ver el tema anterior Ver el tema siguiente Ir abajo

Tick [Tutorial] Aplicando C++ al Warcraft

Mensaje por Naus Allien el 30/12/08, 02:11 pm

Hola a todos. Soy el programador Naus Allien. Me gustaría darles la bienvenida a mi serie de tutoriales en los que pretendo enseñaros un poco de programación C++ (lenguaje) aplicada a la sintáxis de Blizzard y su juego estrella Warcraft.
Como primera lección tendremos un ejemplo de IFTE (IF, THEN, ELSE) que significa Si, Entonces, y Además. La función que cumplen estas acciones, son establecer que en caso de que un gatille quiera acceder a una serie de acciones, primero se deben cumplir las condiciones dadas. En caso de no cumplirse, no sucede nada.

Ejemplo de un If/Then/Else con C++:
NOTA: En este IFTE se tomará como ejemplo una condición booleana:



function Trig_IFTE_Example_Func001C takes nothing returns boolean
if ( not ( udg_BooleanX == true ) ) then
return false
endif
return true
endfunction

function Trig_IFTE_Example_Actions takes nothing returns nothing
if ( Trig_IFTE_Example_Func001C() ) then
call KillUnit( udg_UnitX )
else
call DoNothing( )
endif
endfunction

//===========================================================================
function InitTrig_IFTE_Example takes nothing returns nothing
set gg_trg_IFTE_Example = CreateTrigger( )
call TriggerAddAction( gg_trg_IFTE_Example, function Trig_IFTE_Example_Actions )
endfunction



*Al principio, se inicia una función mediante el comando "function" y luego inmediatamente el nombre del detonador acoplado con guiones bajos y empezando por la palabra Trig.
* Mediante el comando "Trig_IFTE_Example_Func001C" se establece que si el detonador toma ningún valor, por lo tanto queda anulado, es por el regreso de la booleana. Luego sigue explicando que si la booleana no es igual a true "If (not (udg_BooleanX == true)" entonces regrese a false. Siempre al final de un IF como este, se pondrá "endif" y se pondrá "return true".
* Cada vez que termines una función, pondrás al mismo grado la palabra "endfunction". Cuando decimos al mismo grado, es al mismo al que se llamo la función.
* Dejando un espacio entre líneas de lo que sería la comprobación anterior, comenzamos a establecer el IFTE. Recordemos que siempre se debe poner que si las acciones toman ningún valor entonces nada suceda. Eso lo hacemos mediante el comando "takes nothing returns nothing".
* El IF debe sitar la misma función que se realizó más arriba. Luego vendrá el then que se pone en el mismo grado, o línea, que el IF, y abajo se pone el comando call (que sirve para llamar acciones), en este caso matar a la unidad X.
* Volvemos a cerrar la condición y finalmente cerramos la función. Luego colocamos una línea completa de "/====" para poder citar los valores finales del detonador.
* En la parte final es donde se coloca lo que sería el ACONTECIMIENTO. En la primera línea va una constante que debe ir en TODOS los detonadores, con el comando "Init" seguido de el nombre del detonador y las órdenes "takes nothing returns nothing". En la línea que sigue se establece que se cree una variable de detonador (por eso empieza con gg_) para ese detonador. Y finalmente en la línea siguiente se nombran las acciones mediante el comando "call".

Esto sería una explicación muy técnica y quizás difícil de entender. Lo que hay que recordar es que programar en C++ original y puro es distinto a esto, pero tiene las mismas bases. Para empezar, siempre hay que sitar todo lo que sean condiciones, incluso si estas pertenecen unicamente a una acción, y luego poner lo que serían las acciones. En la línea final se coloca el acontecimiento. Como en este ejemplo fue MAP INITIALIZATION por eso no aparece en la lista. En caso de que fuera, por ejemplo, cada dos segundos de tiempo de juego iría entre la línea en la que se crea la variable del trigger y la que se establece el llamado a las acciones:
function InitTrig_Time_Example
set gg_trg_Time_Example = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Time_Example, 2 )
call TriggerAddAction( gg_trg_Time_Example, function Trig_Time_Example_Actions )
endfunction


Eso fue la clase de hoy, algunas bases de la programación C++ y la forma de crear un IFTE básico. Recuerda que es muy importante no cometer errores ortográficos en los scripts, así como respetar sangrías, interlineados, y uso de mayúsculas y minúsculas. Las sangrías son de vital importancia en programación para determinar lo que se conoce como rangos de prioridad, de lo que hablaremos en clases siguientes.

Saludos,
Naus Allien.

Naus Allien
Rango: Soldado
Rango: Soldado

Masculino

Título : Programmer
Cantidad de envíos : 51
Localización : Dalaran
Fecha de inscripción : 18/12/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Dranam - The Dark Knight el 30/12/08, 05:42 pm

D: muy bueno, esto me sirve claramente para arreglar las DB'S de WoTLK... ahora solamente me falta saber como editarlas

Dranam - The Dark Knight
Rango: Leyenda
Rango: Leyenda

Masculino

Título : Gladiador de la cólera
Cantidad de envíos : 524
Edad : 21
Localización : The Last Knight
Fecha de inscripción : 17/07/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Naus Allien el 03/01/09, 05:19 pm

Bueno, a pedido de la gente, sería conveniente comenzar a definir algunos parametros básicos en la programación. Hoy, solamente definiciones.

1- Guión o Script: Un conjunto de órdenes que servirán como rieles para regular el comportamiento de la información. Todo en informática está constituido por guiones. Son acciones similares, que se agrupan en un mismo entorno debido a tener un lenguaje compatible entre si. Además, solo se pueden citar variables dentro del mismo guión.
2- Variable: Dato que puede tomar un valor preestablecido, pero que al mismo tiempo puede variar dependiendo de las circunstancias u otras acciones. Así mismo, una variable se debe incluir en el guión, para que tras suceder determinados hechos, desencadenen el nombramiento de la variable.
3- Constante: Lo opuesto a una variable. Es un dato preestablecido que no puede cambiar bajo ninguna circunstancia. Por ejemplo, Pi sería una variable cuyo valor siempre es el mismo. Las constantes se establecen al principio del guión, y luego no se pueden modificar ya que su valor se mantiene.
2- Detonador o Trigger: El fragmento de un guión que está caracterizado por tener un disparador (puede ser disparado por otro detonador) y contener condiciones o acciones para ese disparador. También conocido como "Gatillo".
5- Condiciones: Son ciertos requisitos que han de cumplirse para que las acciones de un gatillo sean disparadas. En caso de no cumplirse, no se desencadenan las acciones. En caso de que el gatillo sea un bucle repetitivo (ver más abajo) y las condiciones dejen de cumplirse en un momento, el detonador se detiene abruptamente.
6- Acciones: Las conocidas acciones, son todos los sucesos que se cumplen cuando un detondor es disparado y sus condiciones se cumplen.
7- Bucles: Es un conjunto de acciones agrupadas dentro de otra. Así mismo, se puede establecer un bucle que permita que todas las acciones se desencadenen cuando una toma lugar. Un ejemplo de bucle, sería, el establecer que se recojan todos los elementos de un tipo y que en todos esos elementos se hagan una determinada acción. Lo que está sucediendo realmente, es que se están generando la acciones una y otra vez para cada uno de los elementos recogidos.
8- Lenguajes: Todo en programación está "narrado" utilizando un lenguaje en especial. Los lenguajes son métodos en los que se escribe un guión, utiizando distintas órdenes y acciones claves, para que de esa forma los programas que utilizarán el guión entienda de qué se trata. Algunso lenguajes son: Java, C++, Basic, Pascal, HTML, etc. EL lenguaje de Warcraft es una variación muy similar al C++, encriptado con el jass.
9- Encriptar: Codificar los lenguajes para que solo determinados programas o recursos puedan interpretarlos, para evitar malos usos de la programación. El ejemplo más claro de recursos encriptados son los archivos .dll, o extenciones de la aplicación, que solo sirven para ser interpretados por una aplicación específica. Hay muchos programas que pueden abrir y desencriptar recursos.
10- Bucle Repetitivo: Una variación de los bucles clásicos, que una vez completadas todas sus acciones o conjuntos de acciones, vuelven a desencadenarse infinitamente, o hasta ser detenidos. Los detonadores también pueden ser bucles repetitivos.
11- Jerarquía: Rango de importancia que en programación se le da a algunas acciones, o recursos, por sobre otros. También sirven para englobar recursos o datos dependientes de otros. Por ejemplo, se le da jerarquía a las acciones que adopta un bucle, o simplemente a una lista de condiciones que derivan de una, etc. Se representa con distintos niveles de sangrías.
12- Líneas de división: No se entiendo como símbolos para la operación matemática. Son líneas compuestas de guiones (-) que sirven para dividir partes en detonadores o guiones. Deben estar comenzadas por // para que de esa forma no afecten a la programación. Las // representan que lo que sigue a continuación es simplemente un comentario y debe ser ignorado. Se usa para casi todos los lenguajes.

Más, proximamente...

Naus Allien
Rango: Soldado
Rango: Soldado

Masculino

Título : Programmer
Cantidad de envíos : 51
Localización : Dalaran
Fecha de inscripción : 18/12/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Dranam - The Dark Knight el 03/01/09, 08:21 pm

Naus Allien escribió:Bueno, a pedido de la gente, sería conveniente comenzar a definir algunos parametros básicos en la programación. Hoy, solamente definiciones.

1- Guión o Script: Un conjunto de órdenes que servirán como rieles para regular el comportamiento de la información. Todo en informática está constituido por guiones. Son acciones similares, que se agrupan en un mismo entorno debido a tener un lenguaje compatible entre si. Además, solo se pueden citar variables dentro del mismo guión.
2- Variable: Dato que puede tomar un valor preestablecido, pero que al mismo tiempo puede variar dependiendo de las circunstancias u otras acciones. Así mismo, una variable se debe incluir en el guión, para que tras suceder determinados hechos, desencadenen el nombramiento de la variable.
3- Constante: Lo opuesto a una variable. Es un dato preestablecido que no puede cambiar bajo ninguna circunstancia. Por ejemplo, Pi sería una variable cuyo valor siempre es el mismo. Las constantes se establecen al principio del guión, y luego no se pueden modificar ya que su valor se mantiene.
2- Detonador o Trigger: El fragmento de un guión que está caracterizado por tener un disparador (puede ser disparado por otro detonador) y contener condiciones o acciones para ese disparador. También conocido como "Gatillo".
5- Condiciones: Son ciertos requisitos que han de cumplirse para que las acciones de un gatillo sean disparadas. En caso de no cumplirse, no se desencadenan las acciones. En caso de que el gatillo sea un bucle repetitivo (ver más abajo) y las condiciones dejen de cumplirse en un momento, el detonador se detiene abruptamente.
6- Acciones: Las conocidas acciones, son todos los sucesos que se cumplen cuando un detondor es disparado y sus condiciones se cumplen.
7- Bucles: Es un conjunto de acciones agrupadas dentro de otra. Así mismo, se puede establecer un bucle que permita que todas las acciones se desencadenen cuando una toma lugar. Un ejemplo de bucle, sería, el establecer que se recojan todos los elementos de un tipo y que en todos esos elementos se hagan una determinada acción. Lo que está sucediendo realmente, es que se están generando la acciones una y otra vez para cada uno de los elementos recogidos.
8- Lenguajes: Todo en programación está "narrado" utilizando un lenguaje en especial. Los lenguajes son métodos en los que se escribe un guión, utiizando distintas órdenes y acciones claves, para que de esa forma los programas que utilizarán el guión entienda de qué se trata. Algunso lenguajes son: Java, C++, Basic, Pascal, HTML, etc. EL lenguaje de Warcraft es una variación muy similar al C++, encriptado con el jass.
9- Encriptar: Codificar los lenguajes para que solo determinados programas o recursos puedan interpretarlos, para evitar malos usos de la programación. El ejemplo más claro de recursos encriptados son los archivos .dll, o extenciones de la aplicación, que solo sirven para ser interpretados por una aplicación específica. Hay muchos programas que pueden abrir y desencriptar recursos.
10- Bucle Repetitivo: Una variación de los bucles clásicos, que una vez completadas todas sus acciones o conjuntos de acciones, vuelven a desencadenarse infinitamente, o hasta ser detenidos. Los detonadores también pueden ser bucles repetitivos.
11- Jerarquía: Rango de importancia que en programación se le da a algunas acciones, o recursos, por sobre otros. También sirven para englobar recursos o datos dependientes de otros. Por ejemplo, se le da jerarquía a las acciones que adopta un bucle, o simplemente a una lista de condiciones que derivan de una, etc. Se representa con distintos niveles de sangrías.
12- Líneas de división: No se entiendo como símbolos para la operación matemática. Son líneas compuestas de guiones (-) que sirven para dividir partes en detonadores o guiones. Deben estar comenzadas por // para que de esa forma no afecten a la programación. Las // representan que lo que sigue a continuación es simplemente un comentario y debe ser ignorado. Se usa para casi todos los lenguajes.

Más, proximamente...

Naus una pregunta... tu has trabajado alguna ves en alguna DB de un servidor como mangos?

Dranam - The Dark Knight
Rango: Leyenda
Rango: Leyenda

Masculino

Título : Gladiador de la cólera
Cantidad de envíos : 524
Edad : 21
Localización : The Last Knight
Fecha de inscripción : 17/07/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Naus Allien el 05/01/09, 07:23 pm

Pronto se acerca la segunda clase, la de programación de condiciones múltiples. Mientras tanto, contesto la pregunta de El Caballero Oscuro, y es no. Yo no trabaje en ninguna base de datos de ningún servidor alternativo, pero soy programador y estoy perfectamente cualificado para hacerlo. Si necesitas ayuda, puedo brindártela. Auque no puedo dedicarme completamente al proyecto, debido a que tengo como responzabilidad esencial la universidad, que consume gran parte del tiempo.

Naus Allien
Rango: Soldado
Rango: Soldado

Masculino

Título : Programmer
Cantidad de envíos : 51
Localización : Dalaran
Fecha de inscripción : 18/12/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por xZetH el 10/01/09, 03:13 am

Que son las DBs?

Y se llama JASS el lenguaje utilizado por W3. Deberian poner un subforo sobre JASS, y si, hacete una guia basica, explicando las funciones, variables locales y globales, la diferencia entre GUI y JASS, Ejercicios desde como poner un mensaje en la pantalla con una tecla hasta crear spells avanzados, etc..

xZetH
Novato

Cantidad de envíos : 3
Fecha de inscripción : 30/12/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Nostat el 10/01/09, 02:20 pm

xZetH escribió:Que son las DBs?
DB = Data Base = Base de datos

Nostat
Rango: Mariscal
Rango: Mariscal

Masculino

Título : Perfectly perfect
Cantidad de envíos : 183
Edad : 23
Localización : murcia/españa
Fecha de inscripción : 13/07/2008

http://tlp-inferno.es.tl

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Naruto182 el 19/01/09, 02:22 pm

Que es el c++ y no sabes hacer un curso algo mas facil??

Naruto182
Rango: Peón
Rango: Peón

Masculino

Cantidad de envíos : 19
Edad : 20
Localización : Donde menos lo Esperes...
Fecha de inscripción : 05/01/2009

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Naus Allien el 19/01/09, 04:06 pm

C++ es un lenguaje derivado del C, que se basa en los scripts de condiciones y sucesos (para el lenguaje coloquial, IF/THEN) y es el lenguaje que usa Blizzard para todos sus juegos, codificándolo con Jass, y modificando algunas bases, pero siendo casi puro a diferencia de otros juegos. En la actualidad, el 80% de los juegos usan C++ como lenguaje de programación.
El tutorial creo que más facil no se puede hacer, esto es para valientes, para gente que quizás no sepa programación real pero se anime a intentarlo. Los que lo quieran más sencillo, sigan usando las funciones C++ preestablecidas del editor.

Bueno, voy a enseñar a crear una condición boolena.
Al principio siempre hay que poner lo siguiente, cuando estamos utilizando como condición una única booleana: function Trig_Boolean_Conditions takes nothing returns boolean
Esta función es vital ya que lo que dice es basicamente que si las condicones no se cumplen se regrese a una comprobación de TRUE O FALSE, lo que hace que a menos que el detonador se vuelva a ejecutar, y en esa ocasión si se cumplan las condiciones, no suceda nada.
Recuerden que donde dice "Trig_" es el nombre del detonador, en este caso es boolean.
Luego de hacer esa comprobación vital, pasaremos a las condicones IF/THEN/ELSE.
Por ejemplo podría ser:

if ( not ( udg_UNITDEADBYMAGIC == true ) ) then
return false
endif
return true
endfunction

Lo que vemos en este caso es una booleana, llamada UNITDEADBYMAGIC, al tomar el valor de true, no regrese a la comprobación sino que pase a las acciones, pero luego vemos que en "endif" dice que regrese si la boolean toma valor false (por eso dice termianar si). Tambien vemos que para establecer un "igual a" debemos utilizar DOS símbolos "=" seguidos. Al establecer una variable, siempre ponemos "udg_" y seguido el nombre de la variable.
Ahora las acciones supuestas, en este caso sería matar a la unidad:

function Trig_Boolean_Actions takes nothing returns nothing
call KillUnit( GetKillingUnitBJ() )
endfunction

La línea del principio dice que si los valores son nada, nada suceda (no se regresará a la comprobación, a menos que sea un bucle o un detonador con acción continua)
Call, representa el llamado de una acción. Es bueno aclarar que TODAS las acciones ya se encuentran previamente programadas en los archivos CHEATS.J, BLIZZARD.J, y especialmente en COMMON.J, todos archivos dentro del directorio SCRIPTS de los archivos de Warcraft. Por lo tanto no podemos inventar una acción ya que el editor no saltará error. Si sabemos programacíón podemos agregarla a esos archivos correctamente y luego LLAMARLA, en este caso llamamos a KillUnti. Es por eso que dice call.
Fijense que dentro de call KillUnit aparece una condición, encabezada por GET, eso significa que solo se aplique a una unidad en especial, y por eso se sigue por BJ.
Luego finalizamos el detonador con las líneas de división: //------------------------
Y con lo que sería el setup básico del detonador con:
1- El que si no toma ningún valor, no suceda nada: function InitTrig_Boolean takes nothing returns nothing
2- Que el trigger se cree y exista en el guión del mapa: set gg_trg_Boolean = CreateTrigger( )
3- El Acontecimiento, también USANDO CALL: call TriggerRegisterAnyUnitEventBJ( gg_trg_Boolean, EVENT_PLAYER_UNIT_DEATH ).
4- Que el trigger tenga condiciones: call TriggerAddCondition( gg_trg_Boolean, Condition( function Trig_Boolean_Conditions ) )
5- Y que el trigger tenga acciones: call TriggerAddAction( gg_trg_Boolean, function Trig_Boolean_Actions )
Finalizamos SIEMPRE con endfunction

El detonador completo sería:
function Trig_Boolean_Conditions takes nothing returns boolean
if ( not ( udg_UNITDEADBYMAGIC == true ) ) then
return false
endif
return true
endfunction

function Trig_Boolean_Actions takes nothing returns nothing
call KillUnit( GetKillingUnitBJ() )
endfunction

//===========================================================================
function InitTrig_Boolean takes nothing returns nothing
set gg_trg_Boolean = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Boolean, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Boolean, Condition( function Trig_Boolean_Conditions ) )
call TriggerAddAction( gg_trg_Boolean, function Trig_Boolean_Actions )
endfunction

NOTA: Recuerden los espacios, que por desgrasia al publicar en este foro son eliminados. Cada call, set, if, y los returns van con cinco espacios.

Bueno esa ha sido la mini-clase de hoy, espero que les sirva para empezar a comprender un poco más las cosas, y animarse a crear y experimentar por su cuenta.
Saludos,
Naus Allien.

Bueno, hoy les traigo una nueva clase práctica. Esta clase es para repasar un poco de lo visto hasta ahora, que auque han sido solo tres post tienen muchas cosas nuevas e información, y para aprender acerca de los distintos tipos de comparaciones:
Bueno, al crear un trigger C++/Jass desde 0 (cosa que quizás les sea muy difícil), tienen que seguir una serie de pasos:

1- Establecer las condiciones return: Function Trig_X_Conditions (donde X el detonador) takes nothing return nothing/Boolean (solo en caso de que posteriormente se haya incluido una condición booleana)
2- Establecer las condiciones del detonador. Por ejemplo:

if ( not ( GetPlayers() == 6 ) ) then
return false
endif

return true
endfunction


En este caso, se establece una condición de número real en la que los jugadores deben ser 6. Luego dice then, y por lo tanto dice que el RETURN (o regreso a las comprobaciones) se desactive ya que no se requiere para poder encarar las acciones correctamente.
3- Espacio en blanco.
4- Establecer las acciones return: function Trig_X_Y (Y es un valor binario que se debe a que tiene una condición, como veremos más abajo) takes nothing returns nothing/boolean
5- Llamar a una acción, por ejemplo:

call SetPlayerColorBJ( GetEnumPlayer(), PLAYER_COLOR_RED, true )

6- Finalizar la función: "endfunction" (sin comillas).

7- REPETIR LOS PASOS 4,5,6 tantas veces como acciones se requieran. El 4 y el 6 son casi siempre iguales en todas las acciones lo único que varía es el 5, que es la llamada a la función preestablecida. Por ejemplo:

function Trig_Condit_Actions takes nothing returns nothing
call ForForce( GetPlayersAllies(Player(0)), function Trig_X_Y)
endfunction


En este caso vemos que esta era la acción-condición que disparaba la acción Trig_X_Y que se encuentra más arriba. Las acciones que son disparadas por otra acción o condición se pone arriba. Fijense que dice callForce (llamar a una acción grupo de jugador) "GetPlayerAllies(Player(0))" eso significa que las acción de más arriba, la de cambiar el color, solo será recogida para los jugadores de esa condición. Como siempre finaliza con "endfunction".

8- Una división, para que se entienda que terminan las condiciones y acciones y comienzan los acontecimientos: //==================================

9- Básicas de los ACONTECIMIENTOS:
a) Volvemos a citar el regreso a nothing o boolean: InitTrig_Condit takes nothing returns nothing
b) Creamos el detonador como tal, mediante la función: set gg_trg_X = CreateTrigger( )
c) Llamar a las condiciones y acciones:

call TriggerAddCondition( gg_trg_Condit, Condition( function Trig_X_Conditions ) )
call TriggerAddAction( gg_trg_Condit, function Trig_X_Actions )


d) Finalizar las funciones: "endfunction".

NOTA: Atención a los espacios, cada call, set, o return (que tenga su propia línea) lleva 5 espacios. Respetar los paréntesis, todos deben estar cerrados. Respetar los espacios, no agregar ni quitar espacios de más. La programación requiere de una sintáxis impecable.

Hoy les voy a dar una tarea, para los que hayan estado siguiendo las clases y quieran demostrar que están aprendiendo. Deben crear un detonador desde 0, con una acción-condición IF/THEN/ELSE, en la que deben incluir alguna función que ya hayamos visto. No deben hacer el detonador y convertirlo a texto personalizado, ya que no tiene sentido porque no podremos seguir avanzando en cosas cada vez más complejas. Los que hayan terminado el detonador, y hayan revizado la sintaxis, quiero que me lo envíen por PM así lo veo.

Saludos,
Naus Allien.

Naus Allien
Rango: Soldado
Rango: Soldado

Masculino

Título : Programmer
Cantidad de envíos : 51
Localización : Dalaran
Fecha de inscripción : 18/12/2008

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Nekkrov el 29/05/12, 05:51 pm

bien explicado. (mas o menos dos horas tecleando)

Nekkrov
Rango: Élite
Rango: Élite

Masculino

Título : Alpha Group, Spetsnaz
Cantidad de envíos : 1359
Edad : 20
Localización : Moscow, Russia
Fecha de inscripción : 03/09/2011

http://Zkearlev.bl.ee

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Exanime el 21/08/12, 05:48 pm

Muy bueno gracias por tecletear tanto para enseñarnos!

Exanime
Rango: Leyenda
Rango: Leyenda

Masculino

Título : EWOL
Cantidad de envíos : 581
Edad : 26
Localización : En el filo de la espada rebellion
Fecha de inscripción : 22/06/2012

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Jhotam el 24/08/12, 10:42 am

jajaja Genial, muy bueno, aportazo

Jhotam
Rango: Élite
Rango: Élite

Masculino

Título : Jhotam 3DCool&Create
Cantidad de envíos : 1362
Localización : Pensándolo bien
Fecha de inscripción : 13/07/2012

https://www.facebook.com/Jhotam-3DCool-Create-675972152491130/

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Cefiro el 31/01/13, 06:55 pm

Gran tutorial aunque un poco complicado

_________________________________________________
[Tienes que estar registrado y conectado para ver este vínculo]
albus & fawkes:
_________________________________________________

Cefiro
Moderador Avanzado
Moderador Avanzado

Masculino

Título : Wc3WoW Champion
Cantidad de envíos : 818
Edad : 19
Localización : Wc3WoW Forum
Fecha de inscripción : 15/03/2011

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Nasshard el 31/01/13, 08:35 pm

Amo C++ y siempre use la logica del C en el editor de mundos Very Happy

Nasshard
Rango: Teniente
Rango: Teniente

Masculino

Título : Fantasma
Cantidad de envíos : 148
Edad : 19
Fecha de inscripción : 22/08/2010

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Dockijoe el 04/02/13, 03:39 am

Mucha complejidad veamos que pasa entonces

_________________________________________________

Dockijoe
Moderador
Moderador

Masculino

Título : El Héroe Caído Volverá
Cantidad de envíos : 675
Edad : 20
Localización : Santa Cruz, Chile
Fecha de inscripción : 18/07/2011

http://www.wowwc3forum.crearforo.net

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Dartz el 13/02/13, 07:30 pm

Buen aporte, me llamo Ralph, pero buen aporte. +rep

_________________________________________________


Like an army... falling... one by one by one...


Dartz
Rango: Élite
Rango: Élite

Masculino

Título : Wc3WoW Keeper
Cantidad de envíos : 1010
Edad : 20
Localización : Spotify
Fecha de inscripción : 16/08/2011

https://www.duelarena.konami.com/index.php

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Ocini el 27/02/13, 10:46 am

muy bueno

Ocini
Rango: Élite
Rango: Élite

Masculino

Cantidad de envíos : 929
Edad : 23
Localización : <Inframundo>
Fecha de inscripción : 13/09/2011

Volver arriba Ir abajo

Tick Re: [Tutorial] Aplicando C++ al Warcraft

Mensaje por Contenido patrocinado Hoy a las 04:45 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.