Neverwinter Nights
Menú
Gamersmafia es ahora un archivo de solo lectura.

Nuevas dotes

Bueno, ayer estaba probando de hacer nuevas clases de prestigio, bueno, consigo crearla, poner los requisitos, que el pj pueda subir niveles de esa clase, darle los dotes que gana en niveles determinados, sus tiradas de salvacion, sus skills, su ataque base etc etc. El problema es que para que una clase de prestigio sea interesante, tienen que tener algo interesante, con poner q gana unos dotes gratis pos… como q e un poco chorra, para eso subo de guerrero y ya tengo los dotes q me da a mi la gana. Bien, intento programar esas habilidades especiales (q funcione o no ya es otra cosa), como añado esos dotes al nwn? (añadir dotes al feats.2da más o menos ya se) tienen q tener algun nombre especial? en el feats.2da no he visto q haga referencia a ningún archivo. el primer dote en cuestion q intenté programar es el de disparo rapido de la clase de prestigio de cazarecompensas avispa (q es la q hice para probar) con el dote del mismo nombre q trae el nwn solo comparte eso.. el nombre. Está habilidad especial que tienen los cazarecompensas avispas es q cuando tengan una flecha preparada suman a su iniciativa un bono igual a su nivel de clase de prestigio en el primer ataque, luego vuelve a su iniciativa normal, es decir, si tenemos a tsuruchi mayako, una cazarecompensas avispa guerrera 6/ cazarecompensas avispa 4, con destreza 20 y el dote de iniciativa mejorada, tiene un bono a la iniciativa de +9, cuando ataca con el arco, el primer ataque lo hará con +13, pero luego volveria en su segundo ataque con +9 simplemente (eso puede hacer que en un combate ella sumase en total 30 y su enemigo 29. Primero ataca ella por ir antes, luego su enemigo, y el siguiente turno, como vuelve a tener su iniciativa normal (30 - 4), el enemigo iria antes, y ataca antes q ella. Logicamente la cuestion es aprobechar cuando vas ganas la iniciativa y evitar que haya un segundo turno;) ) Bien, para probarlo no me he querido complicar mucho para probar, pues ni idea de como identificar el primer ataque del resto, así q lo hice poniendo q mientras use un arco, siempre suma su nivel de clase a su iniciativa, y lo hice así: void main() {if(INVENTORY_SLOT_CWEAPON_B == BASE_ITEM_LONGBOW   BASE_ITEM_SHORTBOW ); int nIncrease; nIncrease = CLASS_TYPE_WASP; } bien, hay 3 slots de armas cweapon_b, cweapon_l, y cweapon_r, supongo q esos slots es cuando tienes un arma equipada, pero q diferencia hay entre los 3? Se puede comparar un slot con un arma para ver si tienes el arma equipada? Como se mide el nivel? Y alguien sabe q nombre tienen los dotes, o donde aparece el script? de poder ver la especialización en armas, ya podria asegurarme como se hace lo de comparar el arma, a parte q el segundo dote q tengo q hacer es de daño adicional cuando usan arcos

Ahí Ahí preguntandolo todo jejeje…

Bien, si kieres que una clase de prestigio gane cada nivel 1 dote por ejemplo, te tendrás que esperar a la versión 1.60 porque eso lo implementan.

Tan sencillo como un cls_bfeat_miclase que tiene esta apariencia:

      Bonus

0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0

hasta nivel 40…..si pones un 1 significa que ese nivel ganará una dote de la lista que le hayas puesto en el cls_feat_

Bien, sobre como saber si un pj tiene nivel 4 o 5, usa la funcion

int GetLevelByPosition(int nClassPosition, object oCreature=OBJECT_SELF)

por ejemplo y suma todas sus posiciones.

Y si kieres saber si un pj tiene tal dote, usa la función GetHasFeat donde el numero de la feat corresponde al numero que le hayas metido en el 2da.

El resto no lo acabo de entender, se un poco más preciso porque no entiendo lo que quieres decir, los archivos que dices son del tipo nw_s0_ por ejemplo. es cuestion de buscar el que toca

Veamos, en el clases.2da creo:

Label:Wasp
Name:84424
Plural:84425
Lower:84426
Description:84427
Icon:IR_ARCHER
HitDie:8
AttackBonusTable:CLS_ATK_1
FeatsTable:CLS_FEAT_WASP
SavingThrowTable:CLS_SAVTHR_FIGHT
SkillsTable:CLS_SKILL_WASP
SkillPointBase:4
SpellGainTable:**
SpellKnownTable:
**
PlayerClass:1
SpellCaster:0
Str:12
Dex:16
Con:14
Wis:8
Int:14
Cha:12
PrimaryAbil:DEX
AlignRestrict:0x00
AlignRstrctType:0x0
InvertRestrict:0
Constant:CLASS_TYPE_WASP
EffCRLvl01:1
EffCRLvl02:2
…
EffCRLvl19:19
EffCRLvl20:20
PreReqTable:CLS_PRES_WASP
MaxLevel:10
XPPenalty:0
Package:**

Bien, eso nos dice que su lista de dotes está en cls_feat_wasp.2da

en ese 2da pongo los dotes q gana cada nivel, con eso consigo que el pj, cuando es nivel X de la clase de prestigio, tenga todos los dotes que aparecen en su lista hasta ese nivel, queda muy bonito mirar en la lista de dotes del pj, y ver todos los que tiene, incluso mirar la descripcio y tal, la cuestion es q en el feats.2da no he encontrado ninguna columna que haga referencia al script del dote, es decir, puedo darle un nombre, ponerle un incono, una descripcion, unos requisitos, si el dote se acumula etc etc, pero no veo donde se vincula a un script q es el q dice q es lo q realmente hace el dote.

Dices que los dotes son del tipo nw_s0_, miraré a ver si veo el de especialización en un arma, pues a nivel 4 de la clase de prestigio, ganan un dote que lo que hace es q cuando usen un arco suman al daño +1d8, como la especialización en arco hace q cuando usas el arco sumas al daño +2, hacer ese dote seria poco mas que copiar y pegar.

PD: gracias

No se si el script lo hago mal, o esq sigo sin poder vincularlo.
He vinculado el dote a un spell, y el conjuro al script nw_s1_wasp1.nss
pero no hace nada esto
el script en si es el siguiente

void main()
{ int nBonus = GetLevelByClass(CLASS_TYPE_WASP);
int nInc;
nInc = nBonus + nBonus;
//para aumentar la iniciativa en un valor igual al nivel de la clase de prestigio, como no encontraba ningun EffectInitiativeIncrease ni nada similar, y supongo q no se puede inventar, aumento la destreza lo suficiente como para q de un bono igual al del nivel//

while(INVENTORY_SLOT_RIGHTHAND == BASE_ITEM_LONGBOW || BASE_ITEM_SHORTBOW)
{
effect eDex = EffectAbilityIncrease(ABILITY_DEXTERITY, nInc);
//aumento la destreza para dar el bono a la iniciativa, y decremento la AC, el ataque y la salvacion por destreza para compensar//
effect eAttack = EffectAttackDecrease(nInc);
effect eAC = EffectACDecrease (nInc);
effect eSave = EffectSavingThrowDecrease(SAVING_THROW_REFLEX, nInc);
}
}

De funcionar, tendria q hacer algo para q la CA no baje por debajo de lo q tenia antes de aplicar el bono de destreza

No no no no no, las dotes estilo, knockdown, o flecha arcana, tienen un script para su funcionamiento,

peeeeeeeeeeeeero las dotes estilo weapon focus, es na más que un +1 a la arma elegida, con lo que eso lo metes en el onenter del modulo, tipo si tiene tal dote, dale un +1 en ataque en el caso que tenga la arma equipada que toca.

Hola he visto que haces clases de prestigio, y encima del clan avispa no se si sera del la leyenda de los 5 anillos si es asi y tienes modulo en red dame la ip que tengo un colega fascinado con Rokuan.
Aun así mi intención es preguntarte si me puedes explicar paso a paso (como a un tontito) porque no tengo apenas idea, de cómo se hace esas clases de prestigio.
Gracias .

Los más activos en Scripting