Con este Tutorial puedes aprender a hacer lo que todos hemos querido hacer desde que hemos empezado a mapear: hacer subir el nivel del agua (no podemos separar las aguas como Moisés, pero por algo se empieza
)
Pasos a seguir:
1. Abre el UEd(2.0)
2. Abre el Actor Class Browser---->Info--->ZoneInfo--->WaterZone
3. Dale con el botón derecho del raton a "New"
4. Package: MyLevel
Name: TriggerWaterZone
5. Copia las siguientes líneas en el Script (tienes que borrar lo que haya dentro del Script):
(lo que hay entre los signos iguales realmente no importa .... puedes poner tu nombre si quieres, como hice yo
)
//======================================================= ======================
// TriggerWaterZone.
// This class allows you to change a zone from a Regular Zone to a Water Zone
// using the normal trigger method.
// Created by Scott 'Slasher IV' Kircher
//======================================================= ======================
class TriggerWaterZone expands WaterZone;
function PostBeginPlay()
{
Super.PostBeginPlay();
if(!bWaterZone)
{
ViewFlash=vect(0,0,0);
ViewFog=vect(0,0,0);
}
}
function Trigger( actor Other, pawn EventInstigator )
{
local Actor A;
local Pawn P;
local Decoration D;
local TriggerWaterZone oldself;
oldself=self;
if(bWaterZone)
{
bWaterZone=false;
ViewFlash=vect(0,0,0);
ViewFog=vect(0,0,0);
ForEach AllActors(class 'Actor', A)
if(A.Region.Zone==oldself)
{
ActorEntered(A);
A.ZoneChange(self);
if(A.Buoyancy>0.0)
{
A.SetPhysics(PHYS_Falling);
}
}
ForEach AllActors(class 'Pawn', P)
{
if(P.HeadRegion.Zone==oldself)
{
P.HeadZoneChange(self);
P.PainTime=-1.0;
}
if(P.FootRegion.Zone==oldself)
{
P.FootZoneChange(self);
}
}
}
else
{
bWaterZone=true;
ViewFlash=Default.ViewFlash;
ViewFog=Default.ViewFog;
ForEach AllActors(class 'Actor', A)
if(A.Region.Zone==oldself)
{
ActorEntered(A);
A.ZoneChange(self);
if(A.Buoyancy>0.0)
{
A.Velocity.Z+=1;
A.SetPhysics(PHYS_Falling);
}
}
ForEach AllActors(class 'Decoration', D)
if(D.Region.Zone==oldself)
{
D.bBobbing=False;
D.Bump(self);
}
ForEach AllActors(class 'Pawn', P)
{
if(P.HeadRegion.Zone==oldself)
{
P.HeadZoneChange(self);
P.PainTime=P.UnderWaterTime;
P.SetPhysics(PHYS_Swimming);
}
if(P.FootRegion.Zone==oldself)
{
P.FootZoneChange(self);
}
}
}
}
6. Dale a ''Compile the script'' o simplemente a F7
7. Cierra el Script
8. En el "Actor Class Browser"dale a "View" y luego "Show Packages"
9. Selecciona "My Package" y luego guardalo (Save Pkgs.)
Bueno ya está con el Script (esto ha sido lo mas difícil)
El resto es fácil:
- Una vez que hayas dividido la piscina en 5 partes con Zone Portals (MUY IMPORTANTE: Al dividir la piscina asegúrate de que los Zone Portals estén 1 unidad por encima o por debajo de la posición que tenga el Mover=WaterSheet en ese instante. Ejemplo si tu ''piscina'' mide 1000 y la divides en 5 partes te queda 200 por cada zona, pues tú tienes que poner los Zone Portals 1 unidad por debajo o por encima, es decir 199 o 201 así el primer ZonePortal estará a 199 o 201, el siguiente estará a 398 o 402, así sucesivamente) tienes que colocar un TriggerWaterZone en cada una de esas zonas.
-Ahora abres las propiedades de lo TriggerWaterZones y en sus correspondientes Tags pones desde Nivel1 hasta Nivel5 (es decir :TriggerWaterZone1--->Tag=Nivel1, TriggerWaterZone2--->Tag=Nivel2, y así con todos)
- Ahora seleccionas todos los TriggerWaterZones y en sus Propiedades--->ZoneInfo: bWaterZone = False (esto solo si quieres que tu piscina empiece vacía y que se vaya llenando, si lo quieres al revés déjalo en True)
- Ahora añade un Dispatcher abre sus propiedades--->Dispatcher--->OutEvents=(te saldrán varios desde 0 a 7) en el primero[0] pon ''Water'' (es el Tag del WaterSheet), en el segundo [1] pon "Nivel1" (el Tag del primer TriggerWaterZone) , y así con todos. Como puedes observar debajo de OutEvents hay otra propiedad llamada OutDelays= en el primero[0] pones 0 (le corresponde al WaterSheet, esto quiere decir que al darle al botón el plano se moverá instantaneamente); en los demas =1
- Ahora tienes que poner un botón que tenga en Event=Dispatcher (el Tag no cambia) si quieres que suba y baje tienes que cambiar en las propiedades del botón ->object->initialstate->TriggerToggle ahora subirá y se quedará así hasta que le vuelvas a dar al botón, que es cuando bajará.
- Ahora haz un Mover (Watersheet =plano con propiedades de agua:transparente, unlit,ZonePortal) y cambia en sus propiedades el Tag (Tag=Water , Event=None)
- Ahora solo te falta añadir un trigger (para el boton) que active al Dispatcher
- Luego si quieres añádele sonidos y ya está!
Si tenéis algun problema o creéis que hay algún fallo decídmelo, nadie es perfeto (y yo menos).
muy buena 2face!
La verdad es que te lo has currado traduciéndolo
n1 
joder face, buenisima, muchas gracias!
muy bien, gracias
#2 tradcido y mejorado .... en el tuto original ponia que solo funcionaba 1 vez (triggered once only) pero la verdad esque si cambias la propiedad delboton y lo haces que sea TriggerTogle sube y baja (lo malo es que al volver a bajar el nivel del agua, las zonas se iran transformando de waterzone a ''zona normal de abajo ariba )
5#y no se puede hacer otro triger k lo haga al reves y k sea el el k ese ejecute cuando le das a "bajar agua" ?
#6 pues mira en eso no habia pensado
(en el mapa que hice yo habia otros tres movers conectados al boton y no queria complicarlo mas)......pero supongo que si que se puede. 
ta bien el tuto face
buenissima face......gracioas!
soy novato, pregunta, alguien tiene un manual de unreal editor 2.0 o algo que se le parezca...!
#10 no creo k exista eso, aunk me parece haber visto algo en internet sobre un libro de tutos .... pero aun asi estara en ingles y sera mas gordo k la biblia ... lo siento
Si kieres aprender a Mapear bajate tutos de internet (la mayoria estan en ingles,o frances pero tambien los hay en español aunk no tantos : P ) busca en google (como hemos hecho todos)
muchas gracias face!
en el mod SilentAssassins hay un ejemplo de esto, el segundo nivel de las alcantarillas, pero solo sube el agua y se mantiene ahi
Tengo un problema, no me puedo mover en 3D por el editor, ya hice lo de BIR, BDR Y BIR+BDR pero no pasa nada.
Por que no puedo? que tengo que hacer? si me pudiese explicar se los agradeceria mucho porque me estoy volviendo loco con eso.
Tengo unas ideas para mapas que estan buenas y me gustaria hacer.