Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

Mod arreglado de marines espaciales


  • Por favor, ingresa para responder
23 respuestas al tema

#1 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 01:57 PM

Ando haciendo un miniproyecto usando varios mods de los que tengo permiso, para meter armaduras de marines espaciales de 40k en el juego. Dichas armaduras están a tomar viento y sin marcador en el mapa, básicamente "ahí perdidas" con una explicación razonable de lo ocurrido. He añadido una nota a un cadáver de un apotecario en que se explican los motivos.

Son bastante "power gamer", pero dado que están en un sitio donde no vas a ir a mirar (ni pienso decir donde, ahí parte de la gracia), no es tan bestia. Si las obtienes, te lo has currado y MUCHO.

Los modelos son una pasada, y si puedo os postearé algún screenshot para que lo veáis.

Ahora bien, quería hacer unas cuantas virguerías de verdad con esto, y a ver si me podéis echar una mano. La número uno, es el efecto retrocohete. Muchos robots del juego flotan con una llamarada de retrorreactor. ¿Cómo podría añadir esto a un objeto?

La segunda, más compleja, es añadir el efecto de "salto" a la mochila a reacción. Mi idea es cambiar el atributo de salto del personaje mientras el objeto esté equipado. ¿Sabéis si esto se puede hacer?

He estado calibrando las armas del mod, y he de deciros que no son especialmente bestias. Son bestias si tienes un nivel bajo, pero para un nivel alto de pj (que es cuando todos salimos a explorar) es bastante normalito. Lo que si es una brutalidad es la Armadura de Exterminador de los Caballeros Grises, con sus 100 puntos de armadura (woha).

Ah, he de decir que quedan muy chulas en los maniquíes xD

¡Por el Emperador!

Edito chicos: La mochila retropropulsada ya funciona. Voy a añadir más efectos guays a un par de objetos (un estandarte que te de +1 carisma y un ojo biónico que te de +1 de percepción) y me quedaría el efecto de los cohetes. Si alguien sabe, se agradecerá.

Editado por Tte IronHanD_JusTicE, 03 November 2009 - 03:49 PM.

"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#2 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 06:02 PM

Hola chicos, necesito ayuda. Perdonad el doble posteo, pero no me aclaro.

Tengo el siguiente Script:

ScriptName saltoRetropropulsadoScript

Begin ScriptEffectUpdate
if GetIsUsedItem ArmorVault101Security
SetNumericGameSetting fJumpHeightMin 1200
con_SetGameSetting iFallLegDamageChance 0
SetNumericGameSetting fFallLegDamageMult 0
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 0
SetNumericGameSetting fJumpFallHeightMin 0
SetNumericGameSetting fJumpFallHeightMult 0
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 0
SetNumericGameSetting fJumpFallVelocityMin 0
else
SetNumericGameSetting fJumpHeightMin 64
con_SetGameSetting iFallLegDamageChance 1
SetNumericGameSetting fFallLegDamageMult 1
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 1.65
SetNumericGameSetting fJumpFallHeightMin 600
SetNumericGameSetting fJumpFallHeightMult 1
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 1
SetNumericGameSetting fJumpFallVelocityMin 2785
endif
End


Que debería dejarnos llevando un Vault101 suit hacer un salto como de 30 metros de alto. La cosa está, en que por alguna razón absurda, no me pilla el objeto. Ni este, ni ninguno. ¿Sabéis que puedo estar haciendo mal?
"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#3 Zubion

Zubion

    Carpe Noctem

  • Miembro DLAN
  • PipPipPipPipPip
  • 1814 posts

Posteado 03 November 2009 - 06:32 PM

Prueba esto:

ScriptName saltoRetropropulsadoScript
Begin ScriptEffectUpdate
if (GetIsUsedItem ArmorVault101Security
SetNumericGameSetting fJumpHeightMin 1200
con_SetGameSetting iFallLegDamageChance 0
SetNumericGameSetting fFallLegDamageMult 0
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 0
SetNumericGameSetting fJumpFallHeightMin 0
SetNumericGameSetting fJumpFallHeightMult 0
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 0
SetNumericGameSetting fJumpFallVelocityMin 0)
else
(SetNumericGameSetting fJumpHeightMin 64
con_SetGameSetting iFallLegDamageChance 1
SetNumericGameSetting fFallLegDamageMult 1
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 1.65
SetNumericGameSetting fJumpFallHeightMin 600
SetNumericGameSetting fJumpFallHeightMult 1
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 1
SetNumericGameSetting fJumpFallVelocityMin 2785)
endif
End



Creo que asi se podra.... la cosa es que tienes que poner parentesis porque sino no reconoce que termina la condicion xD Me ha pasado eso a mi con mi mod xD



tumblr_nlq9t0rS3e1qg4mf6o1_500.gif


#4 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 09:49 PM

Prueba esto:

ScriptName saltoRetropropulsadoScript
Begin ScriptEffectUpdate
if (GetIsUsedItem ArmorVault101Security
SetNumericGameSetting fJumpHeightMin 1200
con_SetGameSetting iFallLegDamageChance 0
SetNumericGameSetting fFallLegDamageMult 0
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 0
SetNumericGameSetting fJumpFallHeightMin 0
SetNumericGameSetting fJumpFallHeightMult 0
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 0
SetNumericGameSetting fJumpFallVelocityMin 0)
else
(SetNumericGameSetting fJumpHeightMin 64
con_SetGameSetting iFallLegDamageChance 1
SetNumericGameSetting fFallLegDamageMult 1
SetNumericGameSetting fCheckPositionFallDistance 0
SetNumericGameSetting fJumpFallHeightExponent 1.65
SetNumericGameSetting fJumpFallHeightMin 600
SetNumericGameSetting fJumpFallHeightMult 1
SetNumericGameSetting fJumpFallSkillBase 0
SetNumericGameSetting fJumpFallSkillMult 1
SetNumericGameSetting fJumpFallVelocityMin 2785)
endif
End



Creo que asi se podra.... la cosa es que tienes que poner parentesis porque sino no reconoce que termina la condicion xD Me ha pasado eso a mi con mi mod xD


Gracias por el consejo, pero sigue sin funcionar. Me imaginé que podía ser cosa de parentización, pero es que la cosa es que si invierto las condiciones (es decir, saltas mucho en todo caso salvo usando esa armadura en concreto), la cosa funcionaba. Es algún problema con la condición, posiblemente derivado de que no he la he escrito bien. Ahora mismo está tal que así:

ScriptName saltoRetropropulsadoScript

Begin ScriptEffectUpdate
if (GetIsUsedItem ArmorVault101Security)
{SetNumericGameSetting fJumpHeightMin 1200;
con_SetGameSetting iFallLegDamageChance 0;
SetNumericGameSetting fFallLegDamageMult 0;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 0;
SetNumericGameSetting fJumpFallHeightMin 0;
SetNumericGameSetting fJumpFallHeightMult 0;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 0;
SetNumericGameSetting fJumpFallVelocityMin 0;}
else
{SetNumericGameSetting fJumpHeightMin 64;
con_SetGameSetting iFallLegDamageChance 1;
SetNumericGameSetting fFallLegDamageMult 1;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 1.65;
SetNumericGameSetting fJumpFallHeightMin 600;
SetNumericGameSetting fJumpFallHeightMult 1;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 1;
SetNumericGameSetting fJumpFallVelocityMin 2785;}
endif
End


Es decir, parentizado, colocado sintácticamente bien y eso. Tiene todas las papeletas el "if (GetIsUsedItem ArmorVault101Security)" que no me evalúa la condición bien. ¿Sabes como se usa esa función en concreto, o bien otra que haga efecto al ponerte o quitarte un objeto (usarlo)?

¡Gracias!
"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#5 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 03 November 2009 - 10:35 PM

Pues el uso de la función es este:

Returns true if the actor is currently using the specified item. This is ONLY useful in condition functions, because the UsedItem variable is always cleared by the time scripts run, but anything called by AI (picking an Idle, saying a voice, etc) while the variable is set will be able to check it in conditions.

Esto era para Oblivion, pero supongo que no lo habrán cambiado.

Tontería que se me ocurre, que no soluciona el problema, pero igual sirve para algo. Si no llevas la armadura en cuestión el scipt no se activa ya de por sí, ¿entonces para que quieres el else?

Igual estoy metiendo la pata de mala manera, pero no estoy para pensar mucho.

Estoy buscando cosas, cuando encuentre edito.

Editado por Perci, 03 November 2009 - 10:51 PM.


#6 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 10:49 PM

Tontería que se me ocurre, que no soluciona el problema, pero igual sirve para algo. Si no llevas la armadura en cuestión el scipt no se activa ya de por sí, ¿entonces para que quieres el else?

Igual estoy metiendo la pata de mala manera, pero no estoy para pensar mucho. Igual ayuda.


No, a ver. Si ejecuto el script sin más, el problema es que en cuanto el objeto entra en juego, puedes saltar 30 metros. xDDDD .La idea es que funcione al "equipar/desequipar", para que tenga sentido una mochila a reacción. Este codigo sin condicionales, hace que saltes siempre aunque el objeto no esté en el inventario.

Pero sí, la pregunta tiene lógica. La cosa es que el script se ejecuta a cada actualización, entonces no sé como ponerlo.

Lo que pretendo es "si te la pones, puedes saltar de manera guay, si te la quitas, no". Igual es mi enfoque el que está un poco "torcío".

Y bueno, aclarar también que es una mochila con retrocohetes :$

Los saltos ya los hago bien, la cosa es hacerlos solamente en determinadas circunstancias ???

Muchas gracias por contestar Perci.

Editado por Tte IronHanD_JusTicE, 03 November 2009 - 10:50 PM.

"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#7 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 03 November 2009 - 10:58 PM

Ya. A ver si así.

GetEquipped

Se usa así:

[ActorID.]GetEquipped ObjectID

Hace esto:

Returns 1 as long as the calling actor has equipped ObjectID

Obviamente sólo funciona con objetos equipables.

Pues eso. Si el objeto está equipado, la condición se evalúa como cierta, y se ejecuta la orden que sigue a la cláusula if. Si no está equipado se evalúa como falsa, y pasa a ejecutarse la orden que está después del else.

Prueba a ver si así, y a ver si puedes postear con los resultados.

Editado por Perci, 03 November 2009 - 11:04 PM.


#8 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 11:07 PM

Ya. A ver si así.

GetEquipped

Se usa así:

[ActorID.]GetEquipped ObjectID

Hace esto:

Returns 1 as long as the calling actor has equipped ObjectID

Obviamente sólo funciona con objetos equipables.

Pues eso. Si el objeto está equipado, la condición se evalúa como cierta, y se ejecuta la orden que sigue a la cláusula if. Si no está equipado se evalúa como falsa, y pasa a ejecutarse la orden que está después del else.

Prueba a ver si así, y a ver si puedes postear con los resultados.


Vale, voy a ver, ahora posteo a ver que pasa. Gracias.

Bueno, ahora se ejecuta, pero se ejecuta siempre:

ScriptName saltoRetropropulsadoScript

Begin ScriptEffectUpdate
if (player.GetEquipped zzzBRJumpPack)
{SetNumericGameSetting fJumpHeightMin 1200;
con_SetGameSetting iFallLegDamageChance 0;
SetNumericGameSetting fFallLegDamageMult 0;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 0;
SetNumericGameSetting fJumpFallHeightMin 0;
SetNumericGameSetting fJumpFallHeightMult 0;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 0;
SetNumericGameSetting fJumpFallVelocityMin 0;
}
else
{SetNumericGameSetting fJumpHeightMin 64;
con_SetGameSetting iFallLegDamageChance 1;
SetNumericGameSetting fFallLegDamageMult 1;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 1.65;
SetNumericGameSetting fJumpFallHeightMin 600;
SetNumericGameSetting fJumpFallHeightMult 1;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 1;
SetNumericGameSetting fJumpFallVelocityMin 2785;
}
Endif

End


Lo curioso es que también se me ejecute en una partida en la que no tengo la mochila a reacción en cuestión. A ver si veo donde he metido el remo...

Vale, aclarado. Se ejecutan las variables de entorno y una vez ejecutadas, no se resetean. Es decir, que no me pasa por el else, pero si funciona normal hasta que te pones la mochila ???. Eso simplificará las cosas, creo.


Muchas gracias ???

Editado por Tte IronHanD_JusTicE, 03 November 2009 - 11:24 PM.

"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#9 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 03 November 2009 - 11:21 PM

Otra opción, no sea por número. Sacada del CS, que no uso el GECK.

Scriptname ArenaRaimentScript

Begin OnEquip Player
set ICArenaMatchGateRef.WearingArmor to 1

End

Begin OnUnequip Player
set ICArenaMatchGateRef.WearingArmor to 0
set ICArenaRedRoomGateRef.WearingArmor to 0


End

Cambias el nombre del script, cambias los set adecuados. Haces que sea un script de objeto, y se lo "adjuntas" a la mochila en cuestión, que supongo que será como en el CS, y debería ir.

Editado por Perci, 03 November 2009 - 11:24 PM.


#10 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 11:26 PM

Oki, probaré eso. ???

De momento voy a ver si consigo hacer funcionar el else del infierno. Creo que voy a hacer que el script deshabilite el salto y lo rehabilite a cada vuelta, a ver si así.
"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#11 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 03 November 2009 - 11:32 PM

Oki, probaré eso. ???

De momento voy a ver si consigo hacer funcionar el else del infierno. Creo que voy a hacer que el script deshabilite el salto y lo rehabilite a cada vuelta, a ver si así.

El else no te va a funcionar, porque estás trabajando con GetEquiped. Al desequiparlo no se activa, o eso es lo que deduzco yo. Para que funcionase tendrías que poner así:

ScriptName saltoRetropropulsadoScript

Begin ScriptEffectUpdate
if (player.GetEquipped zzzBRJumpPack)
{SetNumericGameSetting fJumpHeightMin 1200;
con_SetGameSetting iFallLegDamageChance 0;
SetNumericGameSetting fFallLegDamageMult 0;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 0;
SetNumericGameSetting fJumpFallHeightMin 0;
SetNumericGameSetting fJumpFallHeightMult 0;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 0;
SetNumericGameSetting fJumpFallVelocityMin 0;
}
end if
if(player.GetUnEquipped zzzBRJumpPack)
{SetNumericGameSetting fJumpHeightMin 64;
con_SetGameSetting iFallLegDamageChance 1;
SetNumericGameSetting fFallLegDamageMult 1;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 1.65;
SetNumericGameSetting fJumpFallHeightMin 600;
SetNumericGameSetting fJumpFallHeightMult 1;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 1;
SetNumericGameSetting fJumpFallVelocityMin 2785;
}
Endif

End

sin else ni nada, pero no veo que exista la funcion getUnequipped...jajaja

Saludos

Editado por Perci, 03 November 2009 - 11:36 PM.


#12 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 11:36 PM

Muchas gracias ???

Bueno, voy a ver que puedo hacer con esto. Al menos me reconoce el objeto ya, muchísimas gracias.

Un saludo

Pd: Que sepas que pondré tu ayuda en los créditos del mod ???
"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#13 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 03 November 2009 - 11:41 PM

Muchas gracias ???

Bueno, voy a ver que puedo hacer con esto. Al menos me reconoce el objeto ya, muchísimas gracias.

Un saludo

Pd: Que sepas que pondré tu ayuda en los créditos del mod ???


Pues de nada. Jeje. Prueba la solución que te puse en el post creado a las 23:21. Creo que puede funcionar bien. No sé. Y si puedes postea con los resultados de esa prueba, que estoy ansioso de ver si va.

Saludos

#14 Tte IronHanD_JusTicE

Tte IronHanD_JusTicE

    Neonato

  • Miembro
  • PipPip
  • 136 posts

Posteado 03 November 2009 - 11:53 PM

Muchas gracias ???

Bueno, voy a ver que puedo hacer con esto. Al menos me reconoce el objeto ya, muchísimas gracias.

Un saludo

Pd: Que sepas que pondré tu ayuda en los créditos del mod ???


Pues de nada. Jeje. Prueba la solución que te puse en el post creado a las 23:21. Creo que puede funcionar bien. No sé. Y si puedes postea con los resultados de esa prueba, que estoy ansioso de ver si va.

Saludos



Hum... es que el tema es que estoy jugando con variables de entorno. Resulta que si uso lo de onEquip y todo esto, deja de funcionar por alguna razón rara. Quizá como soy nuevo en este tipo de scripting estoy diciendo una barbaridad, pero no me hace nada en principio. Se queda con las variables normales:

ScriptName saltoRetropropulsadoScript
Begin OnEquip player
{

{SetNumericGameSetting fJumpHeightMin 1200;
con_SetGameSetting iFallLegDamageChance 0;
SetNumericGameSetting fFallLegDamageMult 0;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 0;
SetNumericGameSetting fJumpFallHeightMin 0;
SetNumericGameSetting fJumpFallHeightMult 0;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 0;
SetNumericGameSetting fJumpFallVelocityMin 0;
}


}
End
Begin OnUnequip player
{
{SetNumericGameSetting fJumpHeightMin 64;
con_SetGameSetting iFallLegDamageChance 1;
SetNumericGameSetting fFallLegDamageMult 1;
SetNumericGameSetting fCheckPositionFallDistance 0;
SetNumericGameSetting fJumpFallHeightExponent 1.65;
SetNumericGameSetting fJumpFallHeightMin 600;
SetNumericGameSetting fJumpFallHeightMult 1;
SetNumericGameSetting fJumpFallSkillBase 0;
SetNumericGameSetting fJumpFallSkillMult 1;
SetNumericGameSetting fJumpFallVelocityMin 2785;
}

}
End


"Forged like the saber in the fires of death"
Vode an


"Una pequeña traducción para un hombre, una gran aportación para la comunidad"

#15 Perci

Perci

    Ancillae

  • Miembro DLAN
  • PipPipPip
  • 419 posts

Posteado 04 November 2009 - 12:02 AM

Pues yo de scripting 0.0

Lo que he ido vienod. Pues no sé, a tanto ya no llego. Si se pasase R3D te podría ayudar más, pero creo que hace tiempo que no se pasa, y menos por el foro de Fallout.

A ver si encuentras el problema.




A Bragol. Tus amigos te echan de menos.