Un pequeño aporte: "Dinero Fácil"

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Diseño DooM -> Edición de mapas
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
Zedeck
Mapeador



Registrado: 08 Jun 2010
Mensajes: 117
Ubicación: Me perdi, no entiendo el mapa!!!! oh es el Valhalla

MensajePublicado: Dom Ene 08, 2012 7:23 am    Título del mensaje: Un pequeño aporte: "Dinero Fácil" Responder citando

Bueno hace tiempo tube muchos problemas para crear un script del tipo tienda, preguntando y preguntando, nadie me dio respuesta, asi que si a alguien se le biene la duda dejare esto como aporte, para que no pase por lo que yo pase...

Bueno tengo 2 clases de script, uno es funcional en un solo nivel, o sea este se recetea al pasas a otro mapa, y uno que se conserva aunque cambies de mapa.

Primero ire con el de un solo mapa:

Ya lo que hay que hacer es crear un script de suma (asi les digo yo)

#include "zcommon.acs"

Int score=0; //este es el indicador de dinero inicia en 0

Script 1 (int scoreAdd)
{
score += scoreAdd;
}
//este script funciona en conjunto a decorate.

este el el inventory
*****************************
ACTOR Credit10 : CustomInventory
{
Inventory.PickupMessage "You got 10 Credits!"
+SOLID
+COUNTITEM
States
{
Spawn:
COIN AAAA 3
loop
Pickup:
COIN A 11 ACS_ExecuteAlways(1, 0, "este es el valor de entrada, o sea cuanto dinero se gana" X)
//Aqui va esto al coger el item ejecuta el script de suma Stop
}
}
*******************************

ya aqui voy con script que me dio un amigo, que mostrara en pantalla cuanto dinero tienes:

Script 2 ENTER
{
//Setting the screen
SetHudSize (640, 480, 1);
SetFont("BIGFONT");

//Credits
HudMessage (s:"\cCCredits";HUDMSG_PLAIN,826,CR_UNTRANSLATED,60.0,28.0,1.0);
HudMessage (s:"\cG", d:score;HUDMSG_PLAIN,926,CR_UNTRANSLATED,153.0,28.0,1.0);

delay(1);
restart;
}

ahora un script de compra o como sea que quieran

Int dooropen=0;
script 3 (void)
{
if (Dooropen == 0)
{
if (score >= 250) //aqui indica que nesecitas 250 de dinero o mas
{
Door_Open(2,24);
score -= 250; // es cantidad requerida se te es restada
dooropen = 1; // esto evita que te siga quitando dinero
}
else
Print(s:"You need 250 Credits"); // este mensaje saldra si no tienes dinero suficiente.
}
else
Print(s:"The door is now open");
}

Eso es todo.

Ahora ire con el global.
este es mas sencillo ya que solo chequea tu inventario:

//Buy script 200+ Created By Zedeck

//Merchant tag=200 esto es porque hay un sujeto en la tienda que ejecuta un movimiento segun la variante de compra(use el del strife editado)
script 201 (void) //para comprar un objeto
{
if (CheckInventory("Credit") >= 10) //Credits to need
{
GiveInventory("Clip",10);
SetActorState(200,"SI");// aqui indica que la compra es exitosa y el marchant te agradece
Print(s:"Gracias aqui tienes");
TakeInventory("Credit", 10);
}
else
{
SetActorState(200,"NO"); //obvio respuesta negativa
Print(s:"Necesitas 10 Credits"); //No credits
}
}
************************************
El item de credits es este:
ACTOR Credit : Inventory 11000
{
+FLOORCLIP
Inventory.Amount 10
Inventory.MaxAmount 0x7fffffff // si colocan esto el el tiempo de un powerup, este durara 2 años, asi que basicamente es infinito(quien jugaria un mapa por dos años no?)
+INVENTORY.INVBAR
Inventory.Icon "I_COIN"
Inventory.PickupMessage "You picked up 10 Gold."
States
{
Spawn:
COIN A -1
Stop
}
}
*********************************
Estos oficialmente los estoy usando, asi que agradecria algo de credito por ello.
Tengo uno mas desarrollado para la compra de armas, pero aun esta a prueba, asi que lo editare cuando este listo.
Aviso que si no tienen un thing como el merchant quiten las lineas de SetActorState(X,"Z"); ya que podria causarles problemas.
Pero si lo quieren este es su Decorate, tomenlo como un regalo:

**********************************
ACTOR MerchantMK2 10903 //ojo no puede ser frienldy ya que de error y se pasa asustando.
{
Health 10000000 //basicamente nunca muere
Radius 20
Height 56
Mass 5000
Speed 0
PainChance 255
Monster
+NOTDMATCH
+NOSPLASHALERT
+NODAMAGE
PainSound "shotguy/pain"
obituary "%o fue asesinado por un Mercader...?."
States
{
Spawn:
MRST A 10 A_Look2
MRST A 0 A_Jump(100, "Bored", 0) //estos son para que tenga algo de movimiento.
MRST A 0 A_Jump(100, "Bored2", 0)
MRST A 0 A_Jump(100, "Check", 0)
MRST A 10 A_Look2
Loop
Bored:
MRBD ABCDEDCB 10
Goto Spawn
Bored2:
MRBD AFAFAFAF 10
Goto Spawn
Check:
MRLK AB 30
Goto Spawn
See:
Pain:
MRPN A 3
MRPN B 3 A_Pain
MRPN C 3 ACS_Execute(10, 0, 0) //esto hace que cierre la puerta en frente de el y no se pueda comprar y disparas en la tienda, ademas abre otras puertas, que esconden una turretas que te matan casi al instante.
MRPN D 330
MRPN C 4 A_ClearSoundTarget // Est hace que deje de asustarse.
MRPN B 3
MRPN A 3
Goto Spawn
SI:
MRYS A 20
Talk:
MRGT ABCDEFGHI 5
Goto Spawn
NO:
MRNO AB 6
MRNO C 10
MRNO BA 6
Goto Talk
}
}

Los sprites del Credito y del MerchantMK2 los consegui del wad del Strife1.wad

Bueno espero que le sirvan a todos y espero sus respuestas, comentarios y recomendaciones.

Gracias.
_________________
Alabada sea La Gran Ballena de La Luz que permita que exista DooM

Volver arriba
Ver perfil del usuario Enviar mensaje privado
CyberArch
Mapeador



Registrado: 10 Dic 2011
Mensajes: 137
Ubicación: En los escombros de Deimos

MensajePublicado: Dom Ene 08, 2012 8:20 pm    Título del mensaje: Responder citando

Esta bueno tu aporte Zedeck. "Me Gusto"
_________________
My Maps of Doom

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Rieper_47
Mapeador



Registrado: 02 Jul 2010
Mensajes: 109
Ubicación: Chile

MensajePublicado: Lun Ene 09, 2012 7:09 pm    Título del mensaje: Responder citando

¿Pero como se haria para que te den ese dinero al matar un demonio?....Creo saber como pero no estoy seguro ahora

EDIT

Bueno, seria algo asi el script para que te den el dinero, usando claro el Decorate que hiciste tu del dinero

Código:

#include "zcommon.acs"

script 01 (void)
{
giveinventory("Credit10",1);
}


Y a los demonios le ponemos la accion de ejecutar dicho script, y cambiar el 1 del script por 5 o alguno otro cuando el demonio sea de mayor dificultad....¿Seria algo asi verdad?
_________________
Hey! Wait! I've got a new complaint Forever in debt to your priceless advice

Volver arriba
Ver perfil del usuario Enviar mensaje privado
el5emendechucky
Mapeador



Registrado: 25 Sep 2007
Mensajes: 490

MensajePublicado: Mie Ene 11, 2012 1:03 am    Título del mensaje: Responder citando

que largo! gracias por compartir ese conocimiento men
_________________


Volver arriba
Ver perfil del usuario Enviar mensaje privado
Zedeck
Mapeador



Registrado: 08 Jun 2010
Mensajes: 117
Ubicación: Me perdi, no entiendo el mapa!!!! oh es el Valhalla

MensajePublicado: Jue Ene 12, 2012 7:25 pm    Título del mensaje: Responder citando

Bueno en el scrit para un solo mapa solo de debe hacer que el mob derrotado ejecute el mismo script que el credito, salvo que con un maroj valor.

Y en cambio en el segundo script pueden hacer que el mob deje caer las monedas como lo hago yo, o hacer un minipowerup (como le llamo) que sea dejado por ese mob, y este power te de una cantidad de 10 o mas de monedas.

ojo que el valor debe de ser de 10 en 10, no se por que pero me da error :\.
_________________
Alabada sea La Gran Ballena de La Luz que permita que exista DooM

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Diseño DooM -> Edición de mapas Todas las horas están en GMT + 2 Horas
Página 1 de 1

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas


Powered by phpBB

Todos los contenidos de esta página, salvo que conste un autor o licencia diferente, están licenciados bajo la Licencia Creative Commons
DOOM y DOOM II son marcas registradas de id Software, Inc.