Neverwinter Vault

Expand AllContract All -Site -My Profile -Features

Neverwinter Nights 2

-NWN2 Files -NWN2 Game Info -NWN2 Resources -NWN2 Community

Neverwinter Nights

-NWN Files -NWN Game Info -NWN Resources -NWN Community

Vault Network
RPG Vault
VN Boards
IGN Vault
Vault Wiki
· Age of Conan
· Anarchy Online
· Asheron's Call
· Dark Age of Camelot
· City of Heroes
· D&D
· EVE Online
· EverQuest
· EverQuest 2
· Final Fantasy
· Guild Wars
· Lineage 2
· Lord of the Rings Online
· Middle Earth
· Neverwinter Nights
· Pirates of the Burning Sea
· Rise of the Argonauts
· Star Wars Galaxies
· Tabula Rasa
· The Matrix Online
· The Witcher
· Titan Quest
· Two Worlds
· Vanguard
· Warhammer
· World of Warcraft

Planet Network
Planet Hub

IGN
Games
Cheats
Entertainment

The Web   The Site  



NWN SCRIPTS

- Jump to comments -
Title  Armaduras Pesadas
Author  Belsirk
Submitted / Updated  05-29-2004 / 11-22-2006
Category  Rulesets
Expansions  NWN-1.62
View Code  

Select All Text | View Code in separate window
Format  Module and Code
Type  Type - Other
Includes  BioWare Standard
Description
Es un nuevo sistema que a�adira una nueva desventaja a las armaduras. Debido a que estas no solo deben penalizar la capacidad de combate (Penalizacion de destreza), se a�ade tambien con este sistema una reduccion de movimiento, segun la dureza que indique el peso de la misma. Basado en el addon del REN.

Files

NameTypeSizeDownloads
ArmPesadasv4.zipArmPesadasv4.zip
Submitted: 05-29-2004 / Last Updated: 07-17-2004
zip19.46Kb272
--
SCORE OUT OF 10
10
1 votes
View Stats
Cast Your Vote!

PORTFOLIO
Add this entry to your portfolio so you can track it
Manage your existing portfolios or create a new one.
SCREENS
No Images




You Must Be Logged In to Participate.
Comments (11):

Posted by Belsirk at 2004-06-03 10:41:00    
Bueno, ya subi una correcion al script en vista que no se deja poster aqui :P

No mas que no tengo el cd del juego para probarlo pero minimo ya esta un poco mejor el sistema

Posted by Belsirk at 2004-06-02 17:01:00    
que fregaos ? el codigo se posteo mal
la parte con los ifs es distinta a como lo puso...

Posted by Belsirk at 2004-06-02 17:01:00    
que fregaos ? el codigo se posteo mal
la parte con los ifs es distinta a como lo puso...

Posted by Belsirk at 2004-06-02 16:52:00    
Se me olvidaba poner aqui el codigo
con las modficaciones que le hice

//::///////////////////////////////////////////////
//:: pesoarm_biblio
//:: Copyright (c) 2003 NwN Hispania.
//:://////////////////////////////////////////////
/*
Una copia del REN pero modifcada
para que funcione con las opcioens de equipar
y quitarse items. De esta forma ya no se toca
el heartbeat y lso efectos se mantienen hasta
que la armadura sea removida.
*/
//:://////////////////////////////////////////////
//:: Creado por Gonar.
//:: Creado en septiembre.
//:: Modificado por: Belsirk
//:://////////////////////////////////////////////
void ArmaduraPesada(object oPC)
{
// Miramos que armadura lleva puesta el pj.
object oArmadura = GetItemInSlot(INVENTORY_SLOT_CHEST ,oPC);

// Calculamos su peso.
int iPeso = GetWeight(oArmadura);

// Preparamos un nuevo efecto.
effect eMover;

// Consultamos los valores configurados por ti
// en el script ren_add_e_omload del evento
// OnModuleLoad, del evento.
int iLigero = GetLocalInt(GetModule(), "Ligero");
int iMedio = GetLocalInt(GetModule(), "Medio");
int iPesado = GetLocalInt(GetModule(), "Pesado");
int iMligero = GetLocalInt(GetModule(), "mLigero");
int iMmedio = GetLocalInt(GetModule(), "mMedio");
int iMpesado = GetLocalInt(GetModule(), "mPesado");

// String usada para definir el valor del % de reduccion.
string sCuanto = "0";

// Comenzamos a buscar concordancia del peso de la
// armadura con los valores establecidos.
// En caso de coincidencia, se declarara el efecto
// de reduccion de movimiento, segun el valor que se
// estipulara en las variables de configuracion.
if((iPeso >= iLigero) && (iPeso = iMedio) && (iPeso = iPesado)
{
eMover = SupernaturalEffect(EffectMovementSpeedDecrease(iMpesado) );
sCuanto = IntToString(iMpesado);
}


// Aplicamos el efecto.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eMover, oPC);

//Le enviamso un mensaje al jugador avisando por que se mueve lento
SendMessageToPC(oPC, "Su velocidad se ha visto afectada por el peso de la armadura " + sCuanto + " %");

}


//Para quitar el efecto dado por la armadura
void SinArmadura(object oPC, int iPeso)
{
//Esto funcioan de una forma sencilla, va a buscar un efecto
// que cause qeu tu velocidad se reduzca, al hallarlo se retira
// de este programa
effect eLoop = GetFirstEffect(oPC);

while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)== EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
{
RemoveEffect(oPC, eLoop);
SendMessageToPC(oPC, "Ya te puedes mover con libertad");
return; // Ya no necesita seguir buscando los demas efectos.
}
eLoop=GetNextEffect(oPC);
}

}

Posted by Belsirk at 2004-06-02 16:46:00    
YA termine el script anti magia (o al menos ya solo me falta darle persistencia) asi qeu antse de seguirle a ese termianre este, y acabo de hallar un posible motivo del fallo
que no vi cuando lo subi, los ifs no estan bien solo tienen un signo de igual y eso no es correcto en los ifs.

Supongo qeu tu intencion era >=, con eso ya deberia de jalar pero inteligentemente no me traje mi cd del NWN y hasta mañana no lo tendre asi qeu no lo puedo verificar ahorita.

Aunque si siempre nso daba un 27 de penalidad tons hay un fallo adicional por ahi...

Posted by Gonar at 2004-06-01 13:35:00    Voted 10.00 on 05/31/04
Yo lo he vuelto a ojear asi por encima y no veo a priori el error, no se.

Como odio tener 40 cosas que hacer no consigo centrarme en ninguna, me tendre que dejar la fiesta una temporada y ponerme al dia en esto de nuevo :P

Posted by Belsirk at 2004-05-31 22:47:00    
Enga, no toque el script por que me quede trabado en otor script de anti-magia que ando desarollando y debido a un bug que no esperaba de CopyObject and CopyItem en un ciclo pues se me fue todo el dia en este script...

Juro que en esta semana corrijo las fallas y actualizo esta mejora :P

Posted by spider661 at 2004-05-31 01:53:00    
english traclation please?

Posted by Gonar at 2004-05-31 01:13:00    Voted 10.00 on 05/31/04
^^ acabo de postear, y se me ocurrio una nueva modificacion para la biblioteca :P

Haber, resulta que si te pones ropas (osea armadura con peso menor de iLigero) te muestra el msg sin especificar valor en el %, y por lo tanto es logico que intenta aplicar el efecto pero no posee valor de reduccion. Voy a probar si este es el problema y por lo tanto la posible solucion.

De todas maneras solucione o no el tema, es una mejora bonita para la funcion de ponerse armadura, pues tiene en cuenta las armaduas (bueno ropas) que pesen menos de iLigero con las cuales antes no se contaba.


//::///////////////////////////////////////////////
//:: pesoarm_biblio
//:: Copyright (c) 2003 NwN Hispania.
//:://////////////////////////////////////////////
/*
Nueva biblioteca para el sistema de armaduras
pesadas creado originalmente por Gonar y
mejorado por Belsirk para los nuevos eventos
de modulo.
*/
//:://////////////////////////////////////////////
//:: Creado por Belsirk y Gonar.
//:: Creado en septiembre 2003
//:: Modificado en mayo 2004
//:://////////////////////////////////////////////
void ArmaduraPesada(object oPC);
void SinArmadura(object oPC, int iPeso);

// Script que se aplicara en cuanto un personaje se ponga una armadura.
// Dependiendo del peso de esta se aplicaran unos u otro modificadores,
// o incluso ningun modificador.
void ArmaduraPesada(object oPC)
{
// Miramos que armadura lleva puesta el pj.
object oArmadura = GetItemInSlot(INVENTORY_SLOT_CHEST ,oPC);
// Calculamos su peso.
int iPeso = GetWeight(oArmadura);
// Preparamos un nuevo efecto.
effect eMover;
// Consultamos los valores configurados por ti en el script pesoarm_onload
// del evento OnModuleLoad.
int iLigero = GetLocalInt(GetModule(), "Ligero");
int iMedio = GetLocalInt(GetModule(), "Medio");
int iPesado = GetLocalInt(GetModule(), "Pesado");
int iMligero = GetLocalInt(GetModule(), "mLigero");
int iMmedio = GetLocalInt(GetModule(), "mMedio");
int iMpesado = GetLocalInt(GetModule(), "mPesado");
// String usada para definir el valor del % de reduccion.
string sCuanto;
// Comenzamos a buscar concordancia del peso de la armadura con los valores
// establecidos.
// En caso de coincidencia, se declarara el efecto de reduccion de movimiento,
// segun el valor que se
// estipulara en las variables de configuracion.
if(iPeso = iLigero))
{
eMover = EffectMovementSpeedDecrease(iMligero);
sCuanto = IntToString(iMligero);
}
if((iPeso = iMedio))
{
eMover = EffectMovementSpeedDecrease(iMmedio);
sCuanto = IntToString(iMmedio);
}
if(iPeso >= iPesado)
{
eMover = EffectMovementSpeedDecrease(iMpesado);
sCuanto = IntToString(iMpesado);
}
// Aplicamos el efecto, si es preciso.
if(sCuanto != "0")
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eMover, oPC);
// Le enviamso un mensaje al jugador avisando por que se mueve lento.
SendMessageToPC(oPC, "Su velocidad se ha visto afectada por el peso de la armadura " + sCuanto + " %");
}

// Cuando el jugador se quite la armadura, se eliminaran los efectos que esta
// imponia sobre el mismo.
void SinArmadura(object oPC, int iPeso)
{
//Esto funciona de una forma sencilla, va a buscar un efecto que cause que tu
// velocidad se reduzca, al hallarlo lo retira del personaje.
effect eLoop = GetFirstEffect(oPC);
while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)== EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
{
RemoveEffect(oPC, eLoop);
SendMessageToPC(oPC, "Ya te puedes mover con libertad");
return; // Ya no necesita seguir buscando los demas efectos.
}
eLoop=GetNextEffect(oPC);
}
}


Nada, lo sigue haciendo y no se por que, pero ahora al menos tiene en cuenta las ropas como fuera de los valores configurados de peso.

Posted by Gonar at 2004-05-31 00:54:46    Voted 10.00 on 05/31/04

Posted by Gonar at 2004-05-31 00:54:00    Voted 10.00 on 05/31/04
Primero agradecer a Belsirk que halla adaptado el sistema a los nuevos eventos ^^ genial idea.

Lo he estado probando y localize (o por lo menos a mi me pasa), que aplica el mismo modificador de velocidad tanto si te pones una armadura ligera como una media o pesada.

Como no sabia si era por que me rallaba o si era asi, modifique la biblioteca para que en el sendmessagetopc mostrara el % de modificacion, asi pues comprobe que siempre aplicaba un 27 % independientemente de la armadura.

He mirado por encima la biblioteca y los scripts y no localizo el error (supongo que ya viene de antes, en el Onhear tambien fallaria), Belsirk te copio aqui la nueva biblioteca, bueno es poca la modificacion que hize, pero supongo que te servira.


//::///////////////////////////////////////////////
//:: pesoarm_biblio
//:: Copyright (c) 2003 NwN Hispania.
//:://////////////////////////////////////////////
/*
Una copia del REN pero modifcada
para que funcione con las opcioens de equipar
y quitarse items. De esta forma ya no se toca
el heartbeat y lso efectos se mantienen hasta
que la armadura sea removida.
*/
//:://////////////////////////////////////////////
//:: Creado por Gonar.
//:: Creado en septiembre.
//:: Modificado por: Belsirk
//:://////////////////////////////////////////////
void ArmaduraPesada(object oPC)
{
// Miramos que armadura lleva puesta el pj.
object oArmadura = GetItemInSlot(INVENTORY_SLOT_CHEST ,oPC);

// Calculamos su peso.
int iPeso = GetWeight(oArmadura);

// Preparamos un nuevo efecto.
effect eMover;

// Consultamos los valores configurados por ti
// en el script ren_add_e_omload del evento
// OnModuleLoad, del evento.
int iLigero = GetLocalInt(GetModule(), "Ligero");
int iMedio = GetLocalInt(GetModule(), "Medio");
int iPesado = GetLocalInt(GetModule(), "Pesado");
int iMligero = GetLocalInt(GetModule(), "mLigero");
int iMmedio = GetLocalInt(GetModule(), "mMedio");
int iMpesado = GetLocalInt(GetModule(), "mPesado");

// String usada para definir el valor del % de reduccion.
string sCuanto;

// Comenzamos a buscar concordancia del peso de la
// armadura con los valores establecidos.
// En caso de coincidencia, se declarara el efecto
// de reduccion de movimiento, segun el valor que se
// estipulara en las variables de configuracion.
if((iPeso = iLigero))
{
eMover = EffectMovementSpeedDecrease(iMligero);
sCuanto = IntToString(iMligero);
}
if((iPeso = iMedio))
{
eMover = EffectMovementSpeedDecrease(iMmedio);
sCuanto = IntToString(iMmedio);
}
if(iPeso >= iPesado)
{
eMover = EffectMovementSpeedDecrease(iMpesado);
sCuanto = IntToString(iMpesado);
}

// Aplicamos el efecto.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eMover, oPC);

//Le enviamso un mensaje al jugador avisando pro que se mueve lento
SendMessageToPC(oPC, "Su velocidad se ha visto afectada por el peso de la armadura " + sCuanto + " %");

}


//Para quitar el efecto dado por la armadura
void SinArmadura(object oPC, int iPeso)
{
//Esto funcioan de una forma sencilla, va a buscar un efecto
// que cause qeu tu velocidad se reduzca, al hallarlo se retira
// de este programa
effect eLoop = GetFirstEffect(oPC);

while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)== EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
{
RemoveEffect(oPC, eLoop);
SendMessageToPC(oPC, "Ya te puedes mover con libertad");
return; // Ya no necesita seguir buscando los demas efectos.
}
eLoop=GetNextEffect(oPC);
}

}

You must be Logged In to post comments in this section.

 
Most recent posts on the MMO General Boards
Analyst: Star Wars: The Old Republic Could...Analyst: Star Wars: The Old Republic Could Sell 3M: more numbers
- last reply by Acao on Aug 15, 2011 06:15 PM
which class will your first character be
- last reply by Blisteringballs on Aug 15, 2011 05:50 PM
New Community Content!
- posted by Vault_News on Aug 15, 2011 05:00 PM
New Community Content!
- posted by Vault_News on Aug 15, 2011 04:00 PM
NWN Idea Database Update
- posted by Vault_News on Aug 15, 2011 03:46 PM
Missing Votes for NWN2 Hall of Fame
- posted by Vault_News on Aug 15, 2011 03:40 PM
Missing Votes for NWN Hall of Fame
- posted by Vault_News on Aug 15, 2011 03:39 PM
Random Questions and game altering suggest...Random Questions and game altering suggestions!!!
- last reply by ArkadyTepes on Aug 15, 2011 03:22 PM
State of the game?
- last reply by LyricOpera on Aug 15, 2011 01:37 PM
Yesterday streaming, now demanding downloa...Yesterday streaming, now demanding download :(
- last reply by Sinane-tk on Aug 15, 2011 10:23 AM
 

   


IGN Entertainment
By continuing past this page, and by your continued use of this site, you agree to be bound by and abide by the User Agreement.
Copyright 1996-2011, IGN Entertainment, Inc. | Support | Privacy Policy | User Agreement | RSS Feeds
IGN’s enterprise databases running Oracle, SQL and MySQL are professionally monitored and managed by Pythian Remote DBA.


NWN2 Hall of Fame

HOF NWN2 Tools


View all Hall of Fame entries


Neverwinter Nights 2

TOP NWN2 Modules

NEW Modules

NEW Reviews

NEW INTL. Modules

TOP Hakpaks

TOP Gameworlds

TOP Tutorials

TOP Prefab:Areas

TOP Blueprints

TOP Plugins

TOP UI

TOP Other

TOP Visual Effects

TOP Scripts

TOP Tools

TOP Movies

TOP Models

TOP Characters





Hall of Fame

HOF NWN Modules


View all Hall of Fame entries


TOP NWN Modules

NEW NWN Modules

NEW Reviews

TOP Intl. Modules

TOP NWN Hakpaks

TOP NWN Gameworlds

TOP NWN Models

TOP NWN Portraits

TOP NWN Scripts

TOP NWN Prefabs

TOP NWN Other

TOP NWN Movies

TOP Sounds

TOP NWN Textures

TOP NWN Creatures

TOP NWN Characters