Blogia
Rol

Scripts NWN

Modififacion Script Lobo Blanco

//Txibi.
//21:45, luce el sol... olvidalo, se esta ocultando...
//Viernes, 28 de Mayo del 2004.
//script: mis_loboblanco01

void main()
{
//Inicializamos quien entra en el desencadenante.
object oLoboBlanco = GetEnteringObject();
//comprobamos si es druida o explorador... en caso afirmativo...
if (GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1
GetLevelByClass(CLASS_TYPE_RANGER) >= 1)
{
//Preparamos los efectos visuales.
effect eVisualSana = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_MAGBLUE);
effect eJugadorJodido = GetFirstEffect(oLoboBlanco);
//Miramos y disipamos efectos perjudiciales.
while (GetIsEffectValid(eJugadorJodido))
{
if (GetEffectType(eJugadorJodido) == EFFECT_TYPE_ABILITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_AC_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_ATTACK_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_BLINDNESS
GetEffectType(eJugadorJodido) == EFFECT_TYPE_CURSE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_NEGATIVELEVEL
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PARALYZE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PETRIFY
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POISON
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POLYMORPH)
{
//Remover efectos negativos.
RemoveEffect(oLoboBlanco,eJugadorJodido);
}//fin if de remover efectos negativos.
eJugadorJodido = GetNextEffect(oLoboBlanco);
}//fin while de remover efectos jodidos.

//Aplicando efectos visuales.
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualSana, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
//Aplicando sanar.
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oLoboBlanco)), oLoboBlanco);
}//fin bloque del druida explorador.

else //En caso de que no sean ni druida ni explorador, lanzar un disipar magia nivel 40.
{
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDispelMagicAll(40),oLoboBlanco);
}//fin en caso contrario.

}//fin del cuerpo principal del programa ( void main() ).

Txibi este era si te acuerdas el script del circulo druidido Lobo Blanco que sanaba a druidas y exploradores y maldecia a los demas. Me gustaria añadir que solo sane a druidas y exploradores NO MALIGNOS. Supongo que sera solo añadir una sola linea, peo ya sabes ue yo de scripts na de ná
Tambien a ser posible que en vez un script de area, fuera puesto en una roca runica del circulo...asi que supongo tambien que habria que modificar esta linea

Cita:
//Inicializamos quien entra en el desencadenante.
object oLoboBlanco = GetEnteringObject();

_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mar Ago 31, 2004 6:47 pm Asunto:

--------------------------------------------------------------------------------

te kontesto en dos post por problemas tecnicos.

cuestion A:

Código:
object oLoboBlanco = GetEnteringObject();

para ponerlo en un objeto lo cambiamos por

Código:
object jugador = GetLastUsedBy();

_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mar Ago 31, 2004 6:56 pm Asunto:

--------------------------------------------------------------------------------

Cuestion b:

modificar esto:

Código:
//Inicializamos quien entra en el desencadenante.
object oLoboBlanco = GetEnteringObject();
//comprobamos si es druida o explorador... en caso afirmativo...
if (GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1
GetLevelByClass(CLASS_TYPE_RANGER) >= 1)
{
//Preparamos los efectos visuales.

por esto:

Código:
//comprobamos si es druida o explorador... en caso afirmativo...
if ((GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1 GetLevelByClass(CLASS_TYPE_RANGER) >= 1) && GetAlignmentGoodEvil(oLoboBlanco) != ALIGNMENT_EVIL ) {
//Preparamos los efectos visuales.

_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mar Ago 31, 2004 6:59 pm Asunto:

--------------------------------------------------------------------------------

El codigo fallo un testeo debido a un error. Este es el codigo corregido y ke debes sustituir igual que el post de arriba.

//comprobamos si es druida o explorador... en caso afirmativo...
if ((GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1 GetLevelByClass(CLASS_TYPE_RANGER,oLoboBlanco) >= 1) && GetAlignmentGoodEvil(oLoboBlanco) != ALIGNMENT_EVIL ) {
//Preparamos los efectos visuales.

Espero haberte ayudado. Un saludo.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2690
Ubicación:
Publicado: Mar Ago 31, 2004 7:24 pm Asunto:

--------------------------------------------------------------------------------

Okis Reox gracias, luego lo pruebo y te digo
_________________

------------------------------

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2690
Ubicación:
Publicado: Jue Sep 02, 2004 8:08 am Asunto:

--------------------------------------------------------------------------------

Cita:
//Txibi.
//21:45, luce el sol... olvidalo, se esta ocultando...
//Viernes, 28 de Mayo del 2004.
//script: mis_loboblanco01

void main()
{
//Inicializamos quien entra en el desencadenante.
object jugador = GetLastUsedBy();;
//comprobamos si es druida o explorador... en caso afirmativo...
if ((GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1
GetLevelByClass(CLASS_TYPE_RANGER,oLoboBlanco) >= 1)
&& GetAlignmentGoodEvil(oLoboBlanco) != ALIGNMENT_EVIL ) {
//Preparamos los efectos visuales.
//Preparamos los efectos visuales.
effect eVisualSana = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_MAGBLUE);
effect eJugadorJodido = GetFirstEffect(oLoboBlanco);
//Miramos y disipamos efectos perjudiciales.
while (GetIsEffectValid(eJugadorJodido))
{
if (GetEffectType(eJugadorJodido) == EFFECT_TYPE_ABILITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_AC_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_ATTACK_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_BLINDNESS
GetEffectType(eJugadorJodido) == EFFECT_TYPE_CURSE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_NEGATIVELEVEL
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PARALYZE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PETRIFY
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POISON
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POLYMORPH)
{
//Remover efectos negativos.
RemoveEffect(oLoboBlanco,eJugadorJodido);
}//fin if de remover efectos negativos.
eJugadorJodido = GetNextEffect(oLoboBlanco);
}//fin while de remover efectos jodidos.

//Aplicando efectos visuales.
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualSana, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
//Aplicando sanar.
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oLoboBlanco)), oLoboBlanco);
}//fin bloque del druida explorador.

else //En caso de que no sean ni druida ni explorador, lanzar un disipar magia nivel 40.
{
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDispelMagicAll(40),oLoboBlanco);
}//fin en caso contrario.

}//fin del cuerpo principal del programa ( void main() ).

Este es el script final que me has puesto y da este error:

02/09/2004 9:12:15: Error. 'curadruidaexplor' no se ha compilado.
curadruidaexplor.nss(11): ERROR: VARIABLE DEFINIDA SIN TIPO

_________________

------------------------------

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Jue Sep 02, 2004 8:40 am Asunto: Saludos

--------------------------------------------------------------------------------

Saludos.

Un paréntesis, te falta un paréntesis derecho más.... )

Txibi.

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2690
Ubicación:
Publicado: Jue Sep 02, 2004 9:52 am Asunto:

--------------------------------------------------------------------------------

Cita:
//Txibi.
//21:45, luce el sol... olvidalo, se esta ocultando...
//Viernes, 28 de Mayo del 2004.
//script: mis_loboblanco01

void main()
{
//Inicializamos quien entra en el desencadenante.
object jugador = GetLastUsedBy();;
//comprobamos si es druida o explorador... en caso afirmativo...
if ((GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco)) >= 1
GetLevelByClass(CLASS_TYPE_RANGER,oLoboBlanco) >= 1)
&& GetAlignmentGoodEvil(oLoboBlanco) != ALIGNMENT_EVIL ) {//AKI DA ERROR
//Preparamos los efectos visuales.
//Preparamos los efectos visuales.
effect eVisualSana = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_MAGBLUE);
effect eJugadorJodido = GetFirstEffect(oLoboBlanco);
//Miramos y disipamos efectos perjudiciales.
while (GetIsEffectValid(eJugadorJodido))
{
if (GetEffectType(eJugadorJodido) == EFFECT_TYPE_ABILITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_AC_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_ATTACK_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_BLINDNESS
GetEffectType(eJugadorJodido) == EFFECT_TYPE_CURSE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_NEGATIVELEVEL
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PARALYZE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PETRIFY
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POISON
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POLYMORPH)
{
//Remover efectos negativos.
RemoveEffect(oLoboBlanco,eJugadorJodido);
}//fin if de remover efectos negativos.
eJugadorJodido = GetNextEffect(oLoboBlanco);
}//fin while de remover efectos jodidos.

//Aplicando efectos visuales.
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualSana, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
//Aplicando sanar.
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oLoboBlanco)), oLoboBlanco);
}//fin bloque del druida explorador.

else //En caso de que no sean ni druida ni explorador, lanzar un disipar magia nivel 40.
{
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDispelMagicAll(40),oLoboBlanco);
}//fin en caso contrario.

}//fin del cuerpo principal del programa ( void main() ).

Me sigue dando otro error

02/09/2004 10:55:50: Error. 'curadruidaexplor' no se ha compilado.
curadruidaexplor.nss(13): ERROR: ESTADO DESCONOCIDO EN COMPILADOR
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Jue Sep 02, 2004 12:50 pm Asunto:

--------------------------------------------------------------------------------

Te lo miro en unas horas.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Jue Sep 02, 2004 2:05 pm Asunto:

--------------------------------------------------------------------------------

Compilado con exito...

Código:

//Txibi.
//21:45, luce el sol... olvidalo, se esta ocultando...
//Viernes, 28 de Mayo del 2004.

//TutuXD (Modificacion posterior)
//15:00, esta empezando a llover... las nubes leen el corazon?
//Jueves, 2 de Septiembre del 2004.

//script: mis_loboblanco01

void main()
{
//Inicializamos quien entra en el desencadenante.
object oLoboBlanco = GetLastUsedBy();
//comprobamos si es druida o explorador... en caso afirmativo...

if ((GetLevelByClass(CLASS_TYPE_DRUID,oLoboBlanco) >= 1
GetLevelByClass(CLASS_TYPE_RANGER,oLoboBlanco) >= 1)
&& GetAlignmentGoodEvil(oLoboBlanco) != ALIGNMENT_EVIL ) {

//Preparamos los efectos visuales.
//Preparamos los efectos visuales.
effect eVisualSana = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_MAGBLUE);
effect eJugadorJodido = GetFirstEffect(oLoboBlanco);
//Miramos y disipamos efectos perjudiciales.
while (GetIsEffectValid(eJugadorJodido))
{
if (GetEffectType(eJugadorJodido) == EFFECT_TYPE_ABILITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_AC_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_ATTACK_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_BLINDNESS
GetEffectType(eJugadorJodido) == EFFECT_TYPE_CURSE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_NEGATIVELEVEL
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PARALYZE
GetEffectType(eJugadorJodido) == EFFECT_TYPE_PETRIFY
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POISON
GetEffectType(eJugadorJodido) == EFFECT_TYPE_POLYMORPH)
{
//Remover efectos negativos.
RemoveEffect(oLoboBlanco,eJugadorJodido);
}//fin if de remover efectos negativos.
eJugadorJodido = GetNextEffect(oLoboBlanco);
}//fin while de remover efectos jodidos.

//Aplicando efectos visuales.
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualSana, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
//Aplicando sanar.
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oLoboBlanco)), oLoboBlanco);
}//fin bloque del druida explorador.

else //En caso de que no sean ni druida ni explorador, lanzar un disipar magia nivel 40.
{
effect eVisualDisipa = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisualDisipa, oLoboBlanco);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDispelMagicAll(40),oLoboBlanco);
}//fin en caso contrario.

}//fin del cuerpo principal del programa ( void main() ).


_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Ositos cambia alineamientos

Bueno veamos como ya le dije a txibi hace mucho tiempo ¬¬ tengo una quest casi hecha de los druidas del lobo blanco.

La idea es que un niño de la ribu ha enfermado por tocar una planta venenosa y la unica planta que puede contrarrestar el efecto esta en una osera, al ser druidas cuando aceptas la mision, juras no matar o hacer daños a ninguno oso.

Entonces, quisiera que los osos tuvieran un script que cuando algun pj lo matara, marcara a dicho pj con algo, para que el druida que te da la recompensa, sepa que has matado a un oso (por ejemplo ve sangre en tus botas) y le cambiara el alineamiento 5 puntos a maligno al entregar la planta

¿Como lo veis?
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mie Jul 28, 2004 5:18 pm Asunto:

--------------------------------------------------------------------------------

Sencillo, un sistema como el de las quest. Mañana por la tarde te lo hago que hoy salgo muy muy muy tarde de trabajar.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Landtheater
Administrador

Registrado: 25 Ene 2004
Mensajes: 696
Ubicación: *Estudiando y midiendo el ojo de un animal que perdió la vida*
Publicado: Mie Jul 28, 2004 7:50 pm Asunto:

--------------------------------------------------------------------------------

A maligno... no... No hay anda maligno en defenserse de un oso hostil, a nos er qu el oso sea neutral hacia los psj y estos lo maten por mero placer entonces puntos hacia maligno...

Si quieres dar puntos de alineamiento en esa Quest mejor que sean hacía caótico por incumplir la palabra que le has dado al druida, matando a los osos. De todas formas... si se pudiera creo que lo ideal sería dar esos puntos a caótico si matas más de uno o más de dos (pero no uno), a lo mejor tu intención no era matarlo pero un crítico poco afortunado en ese momento... pues... hizo que te cobrases una victima.
_________________
Díscipulo-) Maestro, caí en el abismo. Las aguas son hondas y oscuras.
Maestro-) Recuerda esto: lo que ahoga a alguien no es la inmersión, sino el hecho de permanecer bajo el agua.

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mie Jul 28, 2004 10:00 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

mmm veamos, en el script de muerte del oso, que tome como referencia al asesino eso era... GetLastHostil o algo así....

Luego crear una variable local con un nombre + nombrepjasesino.

Finalmente en la charla de quest comprobar como anda esa variable si es igual o mayor que 2 puntos a caóticos...

A ver si mañana me animo a hacerla...

Txibi.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Vie Jul 30, 2004 10:11 am Asunto:

--------------------------------------------------------------------------------

Siento decir que no podre hacer el script debido a que me veo obligado a tomar unas vacaciones forzadas. Mis disculpas. Nos vemos en un mes si Dios quiere.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Lun Ago 23, 2004 11:12 pm Asunto:

--------------------------------------------------------------------------------

Necesitaria que se me facilitase un script de una busqueda (la de los trasgos mismo) para saber ke sistema implanto Txibi para poder terminar el codigo de los osos no vaya a ser que por asignar las variables ke a mi de la gana pegue un petardazo. Gracias.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


CeLSuM
DM

Registrado: 25 Ene 2004
Mensajes: 227
Ubicación: Lejos de Free Haven
Publicado: Mar Ago 24, 2004 10:33 am Asunto:

--------------------------------------------------------------------------------

TRASGOS

Código:

//::///////////////////////////////////////////////
//:: FileName berent06
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Celsum
//:: Modified By: Txibi
//:: Created On: 20,Febrero, 2003
//:://////////////////////////////////////////////
#include "nw_i0_tool"

int PartyHaHechoQuest(object oPC)
{
object oPartyMember = GetFirstFactionMember(oPC, TRUE);
while (GetIsObjectValid(oPartyMember) == TRUE)
{
// Comprobamos que no haya hecho la quest
if (GetLocalInt(GetModule(),"quest_documento_de_baa_completada_" + GetName(oPartyMember) + GetPCPlayerName(oPartyMember) ) == 1)
{
//Ya ha hecho la quest
return TRUE;
}
oPartyMember = GetNextFactionMember(oPartyMember, TRUE);
}//fin while
return FALSE;
}//fin int PartyHaHechoQuest(object oPC)

void MarcarGrupo(object oPC)
{
object oPartyMember = GetFirstFactionMember(oPC, TRUE);
while (GetIsObjectValid(oPartyMember) == TRUE)
{
// Comprobamos que no haya hecho la quest
SetLocalInt(GetModule(),"quest_documento_de_baa_completada_" + GetName(oPartyMember) + GetPCPlayerName(oPartyMember), 1);
oPartyMember = GetNextFactionMember(oPartyMember, TRUE);
}// fin while
}//fin MarcarGrupo(object oPC)

void main()
{
object oJugador = GetLastSpeaker ();
object oItemToTake=GetItemPossessedBy(oJugador,"Documento_de_Baa");
if(GetIsObjectValid(oItemToTake)!=0)
{
DestroyObject(oItemToTake);
//Comprobamos si los jugadores han hecho la quest
if (!PartyHaHechoQuest(oJugador))
{
//Damos puntos de xp a todo el grupo y oro al poseedor del documento.
MarcarGrupo(oJugador);

//Dar un poco de oro al jugador que habla con el montaraz.
int iOroCarisma = GetAbilityModifier(ABILITY_CHARISMA, GetPCSpeaker());
//Cogemos el bono del carisma y lo multiplicamos * 10
iOroCarisma = iOroCarisma * 10;
//Luego le sumamos la cantida prometida.
iOroCarisma = iOroCarisma + 200;
//Damos ese oro al hablante.
GiveGoldToCreature(GetPCSpeaker(), iOroCarisma);

//Dar un poco de XP
object oPC=GetLastSpeaker();
object oPartyMember = GetFirstFactionMember(oPC, TRUE);
int nNivelPJ = GetHitDice(oPartyMember);
while (GetIsObjectValid(oPartyMember) == TRUE)
{
//Reparto de XP.
//Comprobamos su inteligencia para dar bono/malus de xp.
int iEsaINT = GetAbilityModifier(ABILITY_INTELLIGENCE, oPartyMember);
//Comprobamos su sabidura para dar un bonus o malus de xp.
int iEsaSAB = GetAbilityModifier(ABILITY_WISDOM, oPartyMember);
//Se hace la media... de ambas bonus/malus.
int iBonoXP = ((iEsaINT + iEsaSAB) * 5 );
//Damos la xp segun nivel y bono/malus
int iTotal = 0;

if (nNivelPJ

Hacer aparecer objetos

No entiendo porque no me funciona algo tan simple como esto:

Código:
void main(){
location lLoc=GetLocation(GetWaypointByTag("puntoHistoriador"));
CreateObject(OBJECT_TYPE_PLACEABLE,"Muecodepracticas",lLoc);
}

Haber si alguien me lo puede mirar, el objetivo es hacer aparecer un muñeco de esos para entrenar. Gracias.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mar Ago 31, 2004 9:56 pm Asunto: Saludos...

--------------------------------------------------------------------------------

Saludos... a ojo ... no se puede crear directamente, ahora te lo pongo.

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mar Ago 31, 2004 10:25 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

Hecho y testado... el script es:

Código:
/*
Txibi.
Pruebas de generacion espontanea de cofres al caminar.
23:17 del 31 de Agosto del 2004.
Script: tx_aparece
*/

//Subprograma Crear Cofre.
void CrearCofre(location locCofreDelTesoro)
{
CreateObject(OBJECT_TYPE_PLACEABLE, "tx_cofreoro", locCofreDelTesoro);
}//fin subprograma CrearCofre

void main()
{
location locCofreDelTesoro = GetLocation(GetWaypointByTag("tx_aqui"));
effect eVisual = EffectVisualEffect(VFX_IMP_POLYMORPH);
ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, locCofreDelTesoro, 3.0));
ActionDoCommand(CrearCofre(locCofreDelTesoro));
}//fin del cuerpo principal del programa.

Aparentemente segun lei de los bioware y de un tutorial de un programador llamado Richard Conner, traducido por NightShade de nwnhispania. CreateObject devuelve un objeto y no se puede usar directamente conjunta la acción ActionDoCommand.

Luego primero debes de hacer un subprograma void CrearCofre que cree el cofre en si, para llamarlo en el void main, o meterlo en un script aparte y llamarlo con un #include.

Personalmente prefiero la opción subprograma para no liarse mucho, pero cualquiera de los dos sirve.

Espero que te sirva, yo lo he probado en un desencadenante generico, en el OnEnter, cuando entran en el desencadenante se dispara el "efecto".

Útil para hacer trampas y revelar objetos secretos tambien

Txibi.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mar Ago 31, 2004 10:41 pm Asunto:

--------------------------------------------------------------------------------

Gracias, el problema era que no pense que habia que dar un rodeo dado que las criaturas las puedo generar directamente.

Lo que estoy construyendo es un generador de blancos de entrenamiento para un modulo personal que construyo para desarrollar algunas ideas de scripts que se me ocurren.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Mar Ago 31, 2004 10:50 pm Asunto:

--------------------------------------------------------------------------------

Txibi... me podias decir donde ver o bajar ese tutorial? pk el k yo mire... esta bien... pero es bastante superficial... asi que me gustaria mirarme ese si puede ser...

Gracias

Luis
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mar Ago 31, 2004 10:57 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

Ya en ninguna parte, Paus, NWNHispania se fue al garete, quedo tocada de muerte cuando el servidor que los alojaba dejo de ofrecer servicios a la subcontrata española y se quedaron sin copias de seguridad, hiciero un amago de recuperación pero no funciono.

Pero como era un nulo y cansa leer de pantalla, imprimí todo lo que llego a mis manos referente a scripts, de hecho una cosa que hago muy a menudo es imprimir los scripts de la campaña del neverwinter para tenerlos en papel y poder mirarlos con calma.

Txibi.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mar Ago 31, 2004 11:06 pm Asunto:

--------------------------------------------------------------------------------

Nota aclaratoria: Usando la impresora de su casa, en ningun caso la de la empresa. Ningun español seria capaz de semejante acción.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Mie Sep 01, 2004 12:08 am Asunto:

--------------------------------------------------------------------------------

Cita:
Nota aclaratoria: Usando la impresora de su casa, en ningun caso la de la empresa. Ningun español seria capaz de semejante acción.

Tienes razon... "NINGUN2 español lo haria...(menos mal que no les digo que imprimi un pezao manual de java en la impresora de la oficina... como solo trabajaba en verano... ah... y el de c++ y el de visual... y creo k unas hojas de linux... pero nada mas... una impresora que saca hoja tras hoja y hace 13000 impresiones por cartucho... pues creo k no se notaran 1000 paginillas de nada ^^ ) Jejeje es broma... la empresa es de mi padre e imprimi 2000 paginas jajajaajajja

Pues una pena... si alguien los tuviese guardados (las paginas... jejeje)

Por cierto... os mirasteis eel tutorial en videos que os di? son muy divertidos auque estan en ingles jejejeje : )
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Mie Sep 01, 2004 10:02 am Asunto:

--------------------------------------------------------------------------------

Pues no, ayer volvi de mis malditas vacaciones y desde el trabajo como que no es plan de ponerse a verlos... ningun español lo haria. XDD.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Libro parlanchin

Hola,
Escribo aqui, para ver si me podeis explicar como hacer que un objeto al usarlo, te salga un texto, es decir, algo asi como el libro de acciones(o emociones o ese verde ^^) que hay en enroth... que cuando lo utilizas, te sale un cuadro de dialogo... su utilidad, podria ser algun libro largo de varias paginas de texto que quiero que aparezca como si fuese lo del libro de emociones pero con mi texto

Muchas gracias por todo

Un saludo

Luis
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Devil
DM

Registrado: 22 Ene 2004
Mensajes: 891
Ubicación: El Claustro
Publicado: Sab Ago 28, 2004 12:56 pm Asunto:

--------------------------------------------------------------------------------

Wolas; no estoy muy seguro si el siguiente guion hace que aparezca ese texto, o bien hace k aparezca solamente un texto flotante en la pantalla:

Cita:

void main()
{
object oPc = GetEnteringObject();
SendMessageToPC(oPc,"En este espacio entre las comillas escribes el texto que quieras que aparezca");
}

De todas formas ese guion actua al entrar en un desencadenante; supongo que para la opcion que buscas habria que midificar lo de GetEnteringObject() por otra funcion diferente.

No tengo a penas idea de esto de los scripts, pero espero k te pueda servir de algo si sabes de esto un pokillo mas k yo

Un saludete!
_________________
No consiguo entender por qué la gente lucha y mata por la religión, pues además, ni siqueira soy capaz de certificar que Dios no existe.



____________________

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Sab Ago 28, 2004 2:25 pm Asunto: Saludos....jejeje tela...

--------------------------------------------------------------------------------

Saludos....

jeje, una buena noticia y una mala.

La buena es que sí, que ahora te lo contamos.

La mala es que no es "un script" sino un conjunto de parte de script general de modulo, un objeto específico y una conversación asociada. Como mínimo.

Por partes.

Primero tienes por ahí en propiedades del módulo una pestaña que es:

OnActivatedItem.

Si, ahí es, adentro. Si no has estado nunca estará vacía, si has estado debes aclopar el siguiente código ahí.

En ese código se meten TODOS los objetos del módulo activables, así que tendrás que ser ordenado y separarlos, pongamos un ejemplo de dos libros, el libro de sendero y el libro de habilidades.

Código:

//Ejemplo simple de codigo en el guion OnActivatedItem de propiedades del modulo.

void main()
{
object oActivador=GetItemActivator(); //Pillamos quien activa el objeto.
object oArtefacto = GetItemActivated(); //Pillamos el objeto que se activa.

//Libro Magico del Sendero Rojo. Inicio.
if(GetTag(oArtefacto)=="tx_lib_aprendiz")
{
//Si la etiqueta del objeto que se activa es == tx_lib_aprendiz
//Activar la conversacion: tx_lib_aprendiz
AssignCommand(oActivador, ActionStartConversation(oActivador, "tx_libroaprendiz", TRUE));
return;
}//Fin Libro Magico del Sendero Rojo.

//-------------------------------------------------------->>

//Libro de Emociones.
if(GetTag(oArtefacto) == "tx_librohab_1")
{
//Si la etiqueta del objeto que se activa es == tx_librohab_1
//Activar la conversacion: tx_librohab_1
AssignCommand(oActivador, ActionStartConversation (oActivador, "tx_librohab_1", TRUE));
return;
}//fin de Libro de Emociones

//-------------------------------------------------------->>

//Y otro bloque...

//-------------------------------------------------------->>

// Etc...

}//fin cuerpo principal.


Bien, creas el objeto y le pones como propiedad: Lanzar conjuro: Poder único para sí (sin limite de usos/día).

Se aconseja que la resref y la etiqueta del objeto sean idénticas, te evitará muchos quebraderos de cabeza, el never no pone muy claro cuando te pide la etiqueta o cuando te pide la resref. Normalmente resref para crear y etiqueta para seleccionar.

Vale, ahora atar una conversación, pues creas la conversación como siempre. Eso sí, se aconseja que el nombre de la conversación sea idéntico al de la etiqueta del objeto para que sea todo más claro.

Y ya esta. Lo pones en un acceso rápido y cuando cliquees en el saldrá la conversación.

Esto si sólo quieres que salga una conversación claro, si quieres que haga más cosas mete más conversaciones y scripts encadenados....

Por ejemplo el libro de habilidades son 36 scripts encadenados a una conversación tocha, ya que cada línea de conversación dispara su propio script...

Nos vemos.

Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Sab Ago 28, 2004 9:43 pm Asunto:

--------------------------------------------------------------------------------

Muchisimas gracias a los dos... me pondre ahora mismo a mirarlo con calma ^^ : )
_________________
Las fiestas, cuantos más mejor!

Al fin, pu--*censurado*-- esta listo. Tablon de Anuncios.

Saludos.

Mirando scripts por el modulo de nordock 1.70 ese que anda para descargar por el vault, he aislado, traducido y reescrito el tablon de anuncios.

http://www.txibi.com/Descargas/Tablon.zip

Tiene persistencia de mensajes.

Se crean 3 archivos en la carpeta database los archivos son enroth_mb aunque por supuesto puedes especificar el nombre que te salga de tus partes. las extensiones son las típicas de la persistencia oficial neverwinter. O sea: .CDX .DBF .FPT. Tendrás un ENROTH_DB.CDX, ENROTH_DB.DBF y ENROTH_DB.FPT .

Para reinicializar la base se borran estas 3 variables y punto.

Los que entiendan de bases de datos, podran actualizarlas al gusto supongo. (Se recuerda que mis conocimientos de bases de datos son muy escasos).

Funcionamiento del Tablón:

Hablas al escriba, y te pedira que le digas un título. Escribes el título y le das al enter, tal como si hablaras con un jugador. Una vez hecho le das a Listo.

Luego te pide el mensaje en sí. Más de lo mismo. Escribes el mensaje y enter, como si se lo hablaras a un jugador. Luego selecciona la opción de Terminado.

Te creará un objeto en el inventario que es el mensaje.

Llevalo al tablón de anuncios.

Pulsa en el tablón de anuncios, saldrá una conversación, y te dará la opción de publicar tu mensaje.

Hecho.

Ahora un detalle importante, para poder recoger tu mensaje el script de atencion del escriba esta en el OnHeartBeat, con lo cual cada 6 segundos el ordenador recoge TODO lo que se habla en su área de influencia.

Así que evitar hablar en el área del escriba para no liar los datos que escucha y no sobrecargar de lag.

Mi sugerencia es, ya que escriba y tablón no tienen que estar en el mismo sitio, es que el tablón este en un sitio público, taberna, posada, plaza del pueblo, etc... y el escriba en una área diminuta, (2x2) en plan despacho y en silencio para que ni chupe recursos ni se lien con los gritos de pnjs y pjs que no vienen a dar mensajes.

Si veis errores postearlos...

Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Vie Ago 27, 2004 7:36 pm Asunto:

--------------------------------------------------------------------------------

Porque no meteis al escriba en un sitio continuo a la biblioteca??? suele estar bastante vacia y en una habitacion contigua, de 2x2 lo puedes meter... un sito adecuado y bastante decente... creo yo ^^
_________________
Las fiestas, cuantos más mejor!

SubRazas: SubRaza Trasgo Finiquitada.

Saludos.

Listo proyecto beta de subrazas, creada y testeada raza trasgo.

Primero crear una piel de criatura. Para un trasgo hemos creado.

tx_pieltrasgoide

Visión en la oscuridad.
Bono contra venenos +4.

Requisito: Ser Mediano.

Creamos una estatua, dios trasgo, uno que pasaba por ahí, etc, para atarle la conversación.

En la opción de charla pnj (el saludo del pnj) enganchamos este script en la pestaña "Acciones emprendidas".

Código:
/*
Script: tx_borrapiel
Txibi. 15:08 a 28-08-2004.
Destruye pieles raciales, previo a crear una piel racial.
*/
void main()
{
object oJugador = GetPCSpeaker();
object oPiel = GetItemInSlot(INVENTORY_SLOT_CARMOUR,oJugador);
DestroyObject(oPiel);
SendMessageToPC(oJugador, "Se te ha removido tu piel racial como paso previo.");
}

y en la confirmación por parte del jugador de la elección racial (en este caso trasgo) colocamos este otro script en "Acciones emprendidas".

Código:
/*
Script: tx_razagoblin
Txibi, 13:32 del 28-08-2004
El PJ toma la apariencia de un trasgo.

Tipo de constantes.

APPEARANCE_TYPE_GOBLIN_A -> Goblin normal de pantano.
APPEARANCE_TYPE_GOBLIN_B -> Goblin normal de colina.
APPEARANCE_TYPE_GOBLIN_CHIEF_A -> Cacique goblin de pantano.
APPEARANCE_TYPE_GOBLIN_CHIEF_B -> Cacique goblin de colina.
APPEARANCE_TYPE_GOBLIN_SHAMAN_A -> Shaman goblin de pantano.
APPEARANCE_TYPE_GOBLIN_SHAMAN_B -> Shaman goblin de colina.

Convierte a la subraza trasgo si se es un mediano.

*/
void main()
{
object oJugador = GetPCSpeaker();
int iRazaPrimaria = GetRacialType(oJugador);
if (iRazaPrimaria==RACIAL_TYPE_HALFLING)
{
SetSubRace(oJugador, "Trasgo");
SendMessageToPC(oJugador, "Tu raza ha cambiado, a partir de ahora eres un trasgo");
object oPielTrasgoide = CreateItemOnObject("tx_pieltrasgoide", GetPCSpeaker(),1);
AssignCommand(oJugador, ActionEquipItem(oPielTrasgoide, INVENTORY_SLOT_CARMOUR));
SendMessageToPC(oJugador, "Tu piel toma la apariencia de un trasgo");
SetCreatureAppearanceType(oJugador, APPEARANCE_TYPE_GOBLIN_CHIEF_B);
}
}//fin cuerpo principal.

Y ya hay un goblin jugador dando vueltas por el mundo.

Hasta otra.

Txibi.

Tutorial Ayudantes

Saludos, traspaso aquí el tutorial de ayudantes por si le sirviera a alguién.
----------------------------------------------------------------------------------------------

Saludos, en formato de texto con colores y tal vez más visible está aquí:
http://www.txibi.com/Descargas/Conversa.rtf

BIEN, VAMOS A INICIAR UN TUTORIAL DE CREACCIÓN DE UN GUARDAESPALDAS.

PRIMERO:

Inicializamos una facción nueva, plantilla Defensor y la llamaremos mercenario.

Creamos el guardaespaldas propiamente dicho, nueva criatura, humano, guerrero de nivel 3 y le asignaremos facción: mercenario. De nombre (¡IMPORTANTE!) tx_merc_01, apellido en blanco. PNJs, humanos. Inicia las propiedades de criatura y ponle un nombre más amigable, por ejemplo Fidel.

Lo realmente importante es que al llamarlo inicialmente tx_merc_01 su etiqueta y Resref tiene ese nombre tx_merc_01 que es lo que nos interesa para tenerlo controlado.

Punto de ruta, que es donde aparecerá nuestro mercenario. Lo llamaremos por ejemplo:tx_aqui_mercenario.

Ya lo tenemos, vamos a crear un intermediario con el que tendrás que hablar para alquilarlo.

Creamos el intermediario.
Criaturas => Paleta Estándar => PNJs => Humano => Tendero.
Ponlo cerca del punto de ruta que hemos creado.
Botón derecho => propiedades => básico => conversación.
Creamos una conversación que llamaremos tx_vendedor

[DUEÑO]¡Saludos, amigo mío! ¿Quieres alquilar uno de los excelentes mercenarios del Garrote Vil? ¡Por sólo 100 monedas de oro, estará contigo una temporada protegiéndote de los peligros con su vida!
Sí, porque no.

No gracias.

Bien, la frase Sí, porque no. Sólo saldrá si no se tiene un mercenario ya de antes. En la conversación, en esa línea tenemos dos pestañas, que son respectivamente “El texto aparece cuando...” y otra que es “Acciones emprendidas.”

Bien en “El texto aparece cuando...” vamos a colocar el siguiente script. tx_haymercenario

Código:

//Script tx_haymercenario

int StartingConditional()
{
if (GetHenchman(GetPCSpeaker())==OBJECT_INVALID)
return TRUE;
else
return FALSE;
}


Y en la pestaña “Acciones emprendidas.” Vamos a colocar este otro script:
Código:

//Script: tx_mercenario

#include "NW_I0_PLOT"

void main()
{
int nObjectType = OBJECT_TYPE_CREATURE;
if (HasGold(100, GetPCSpeaker())) // Se comprueba que hay 100 p. de oro.
{
string strTemplate = "tx_merc_01"; // resref del diseño.
location locLocation= GetLocation(GetObjectByTag("tx_aqui_mercenario"));
// Arriba dice en que punto del mapa (punto de ruta) aparecerá.
int bUseAppearAnimation = TRUE;
CreateObject (nObjectType, strTemplate, locLocation, bUseAppearAnimation);
// La línea de arriba crea el mercenario.
TakeGold(100,GetPCSpeaker()); // Y retira el oro, 100 monedas.
SetCustomToken(101, "Hecho, dile algo al Mercenario para que te siga");
}
else
{
SetCustomToken(101, "Lo siento créeme, no trabajamos gratis.");
}
}


Bien, ahora sólo nos falta la conversación del mercenario. Vamos a criaturas personalizadas, a nuestro amigo Fidel. El que tenemos con la etiqueta tx_merc_01.
Creamos una conversación que llamaremos tx_mercenario

Y esta conversación controlará el mercenario es un conjunto de scripts, te harán falta el siguiente, el resto son genéricos del neverwinter y no tendremos que crearlos, son los que empiezan por las siglas nw_ como imaginabas.
Código:

//Script tx_tienemaster

int StartingConditional()
{
if (GetMaster() == OBJECT_INVALID)
return TRUE;
else
return FALSE;
}


Cita:
conversación tx_mercenario

Cita:

[DUEÑO] Este guardaespaldas te observa con suspicacia.
... Acercarte al Guardaespaldas.
......[DUEÑO] El guardaespaldas comprueba que eres su patrón.
.........Sígueme![FINALIZAR DIALOGO]
......[DUEÑO] El mercenario te ignora.
......... Dejadlo e irte. [FINALIZAR DIALOGO]
... Alejarte.
[DUEÑO]El Guardaespaldas se gira hacia ti, esperando tus ordenes.
...Quiero cambiar tus tácticas.
......[DUEÑO]¡Tu mandas! ¿Que es lo que quieres cambiar?
.........Lánzate al combate cuerpo a cuerpo y olvídate de atacar desde la distancia.
............[DUEÑO]¿Seguro? ¡Cómo desees!.
...............[FINALIZAR DIALOGO]
.........No entres cuerpo a cuerpo a no ser que sea necesario.
............[DUEÑO]¡De acuerdo! ¡Yo recurrir a conjuros y armas a distancia!
...............[FINALIZAR DIALOGO]
.........Tenemos que cambiar la distancia que nos separa en formación.
............[DUEÑO]¿A qué distancia quieres que te siga?
...............Ponte cerca. [FINALIZAR DIALOGO]
...............A media distancia. [FINALIZAR DIALOGO]
...............Alejado de mí. [FINALIZAR DIALOGO]
.........Ayúdame si no puedo abrir una puerta cerrada.
............[DUEÑO]¡Sí! ¡Eso haré!
...............[FINALIZAR DIALOGO]
.........No me ayudes con las puertas y arcones cerrados si no puedo abrirlos.
............[DUEÑO]Cómo quieras.
...............[FINALIZAR DIALOGO]
.........Muévete lo más sigilosamente posible.
............[DUEÑO] ¡De Acuerdo! Yo iré lo más sigiloso que pueda.
...............[FINALIZAR DIALOGO]
.........No intentes ocultarte en ningún momento.
............[DUEÑO]¡Así me gusta! ¡Que sepan quienes somos! ¡¡¡¡jajajajajajaa!!!!
...............[FINALIZAR DIALOGO]
.........Mejor dicho, no quiero cambiar nada.
............[DUEÑO] El guardaespaldas te mira extrañado, luego sigue a lo suyo.
...............[FINALIZAR DIALOGO]

...Bien, me has servido lo suficiente, no te necesitare más de momento, quédate por aquí.
......[DUEÑO]¿Seguro? ¿Espero aquí? ¿Estás seguro? Mi contrato me obliga a irme con cualquiera que requiera mi presencia si me liberas de la tuya.
.........Sí, Márchate.
............[DUEÑO]Entonces me quedaré por aquí, es decir, si no me reclaman, ¡Adiós!
...............[FINALIZAR DIALOGO]
.........No, quédate.
............[DUEÑO]De acuerdo, tú mandas.
...............[FINALIZAR DIALOGO]

...No importa, olvida lo que iba decirte.
......[DUEÑO]De acuerdo.
.........[FINALIZAR DIALOGO]


CONJUNTOS DE SCRIPTS A COLOCAR EN LAS SIGUIENTES OPCIONES DE TEXTO.

Este guardaespaldas te observa con suspicacia.
El texto aparece cuando... nw_ch_ac_st_01
Acciones Emprendidas. Ningún Script.

Sígueme![FINALIZAR DIALOGO]
El texto aparece cuando... tx_tienemaster
Acciones Emprendidas. nw_ch_join

El Guardaespaldas se gira hacia ti, esperando tus ordenes.
El texto aparece cudno... nw_ch_ac_st_02
Acciones Emprendidas. Ningún Script.

Lánzate al combate cuerpo a cuerpo y olvídate de atacar desde la distancia.
El texto aparece cuando... nw_ch_comrange
Acciones Emprendidas. nw_ch_gomelee

No entres cuerpo a cuerpo a no ser que sea necesario.
El texto aparece cuando... nw_ch_commelee
Acciones Emprendidas. nw_ch_goranged

Ponte cerca. [FINALIZAR DIALOGO]
El texto aparece cuando... vacío, no se pone nada.
Acciones Emprendidas. nw_ch_dist_6

A media distancia. [FINALIZAR DIALOGO]
El texto aparece cuando... vacío, no se pone nada.
Acciones Emprendidas. nw_ch_dist_12

Alejado de mí. [FINALIZAR DIALOGO]
El texto aparece cuando... vacío, no se pone nada.
Acciones Emprendidas. nw_ch_dist_18

Ayúdame si no puedo abrir una puerta cerrada.
El texto aparece cuando... nw_ch_no_locks
Acciones Emprendidas. nw_ch_lock_on

No me ayudes con las puertas y arcones cerrados si no puedo abrirlos.
El texto aparece cuando... nw_ch_yes_locks
Acciones Emprendidas. nw_ch_lock_off

Muévete lo más sigilosamente posible.
El texto aparece cuando... nw_ch_no_stlth
Acciones Emprendidas. nw_ch_stlth_on

No intentes ocultarte en ningún momento.
El texto aparece cuando... nw_ch_yes_stlth
Acciones Emprendidas. nw_ch_stlth_off

[DUEÑO]Entonces me quedaré un rato aleteando por aquí, es decir, si no me reclaman, ¡Adiós!
El texto aparece cuando... vacío, no se pone nada.
Acciones Emprendidas. nw_ch_remove

Pues eso es todo amigos...

Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Jue Ago 26, 2004 4:08 pm Asunto:

--------------------------------------------------------------------------------

Txibi, chapo el tutorial jejejejeje

porcierto, miraste los tutoriales que te dije? esos que son con videos? (un poco elementales pero para empezar jejejeje)
_________________
Las fiestas, cuantos más mejor!


Volver arriba

Invisibilidad

Hola, como ya sabreis, llevo poco tiempo con esto de los scripts, y estoy dresgranando unas ideas en mi cabeza, pero para ellos, preciso un pelin de ayuda para enterarme de todo....

Por ejemplo, si yo quiero que un pj aparezca en un punto tras realizar una accion, k instruccion usaria? ya se que hay que recurrir a las varibles... y hacer que compruebe la variable, pero para que esa variable active la invisibilidad de un pnj o la no invisibilidad???

Hay algun sitio donde pueda encontrar una pequeña lista con las funciones de aurora y su explicacion (por eso de hacer más rapido el proceso...

Bueno, segun vaya necesitando, ire poniendo...

Gracias por adelantado y un saludo

Is-lu-is
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Sab Ago 14, 2004 4:02 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

Que aparezca en un punto mandandolo desde una conversación es relativamente facil, pero sospecho que quieres decir que si conjura invisibilidad, por ejemplo, aparezca en la carcel.

mmm sería algo así como descomentar la percepción de los guardias y si detecta el conjuro de invisibilidad (un número de la lista de spell.2da) actuar.

Mirare algo...

Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Sab Ago 14, 2004 4:16 pm Asunto:

--------------------------------------------------------------------------------

La cuestion es, que tu tengas a un individuo que no aparezca o no se vea con el contador de la variable a 0, y en cuanto cambias el valor de la variable, que se haga visible...

Muchas gracias por la atencion ^^
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Sab Ago 14, 2004 4:22 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

Veamos, ¿quieres que un pnj este invisible o viceversa y si un PJ hace una acción se invierta su situación? Detalles, detalles...

Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Sab Ago 14, 2004 4:33 pm Asunto:

--------------------------------------------------------------------------------

Que rapidez

A ver, lo que quiero esk por ejemplo en un ubicado haya un pnj y tu, hablas con ese pnj y se activa una variable, una vez que esa variable esta activada, quiero que aparezca otro justo a su lado... seria algo asi,
y al igual que se puede hacer eso, que se pueda hacer lo contrario, es decir, que desaparezca...

muchas gracias

Paus
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1415
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Sab Ago 14, 2004 5:02 pm Asunto: Saludos.

--------------------------------------------------------------------------------

Saludos.

Me tengo que ir, pero te dejo la mitad del trabajo hecho...

Código:
//script tx_crear.
//Txibi, 18:19, 14-08-2004.
//
//Colocarlo en un guion de conversacion en: "el texto aparece cuando..."
//
//Al escoger la opcion de conversacion adecuada aparece un pnj en el punto.
// marcado para ello.

void main()
{
object oJugador = GetLastSpeaker();
string sNombreJugador = GetName(oJugador);

//Variable local para que sea accesible desde todo el modulo.
SetLocalInt(oJugador, sNombreJugador+"_activo", 1);

//Tipo de aparicion, si es criatura, ubicable, objeto, etc...
int nObjectType = OBJECT_TYPE_CREATURE;
// resref del diseño.
string strTemplate = "tx_chica";
// En que punto del mapa (punto de ruta) aparecera.
location locLocation= GetLocation(GetObjectByTag("tx_sal_aqui"));
//Animacion fuera para que simule que sale de la nada.
int bUseAppearAnimation = FALSE;

//Creamos la criatura.
CreateObject (nObjectType, strTemplate, locLocation, bUseAppearAnimation);
}


Txibi.

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Sab Ago 14, 2004 5:05 pm Asunto:

--------------------------------------------------------------------------------

Ok asias, le echo un ojo y miro que puedo fedellar(modificar y manipuolar) en ella ^^

Gracias
Paus
_________________
Las fiestas, cuantos más mejor!


Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 528
Ubicación: La Luna Roja
Publicado: Lun Ago 23, 2004 9:26 pm Asunto:

--------------------------------------------------------------------------------

Pues... veo ke esto ya esta contestado.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Paus Tanner
Gigante de fuego de Izhar

Registrado: 02 May 2004
Mensajes: 510
Ubicación: Vagando por los senderos de mi destino
Publicado: Lun Ago 23, 2004 10:18 pm Asunto:

--------------------------------------------------------------------------------

Sip, asias a los dos! ^^ sobretodo a txibi k me lo subio...

Otra cosa, estoy haciendo un area, k me gustaria ver si se le pueden poner scripts... y cosas asi (estilo activar una fuente al acercarte y caralladas asi...) es una zona mas que nada de descanso... muy relajante y eso... ^^

Un saludo

Luis
_________________
Las fiestas, cuantos más mejor!