Dos preguntas con el script en una conversación
He estado tratando de hacer unas cosas en el evento OnActionstake pero simplemente no he podido lo primero quiero que un un sujeto le de al PJ 3 monedaspor cada “caparazon” que le de. (lo que seria 3 monedas por el objeto) Deberia ser sencillo pero no he podido hacerlo. Y lo otro es algo que no he podido comprobar por falta de tiempo Tengo quests que se hacen por default (hablas con pnjs y todo ese rollo) y ya ma asegure que un pj no pueda hacer dos veces la misma quest lo que todavia no comprueba es que si el pj pueda o no pueda recibir la XP cuando acompaña a otro PJ que no ha hecho la quest todavia. Quería saber si alguien ya se ha enfrentado a eso y ha hallado alguna solucion. (Que hasta el momento use integer para quitarle posiblidades al pj de repetir la quest)
Neverwinter Nights
[b:1d46ac8822]Primero tienes que mirar si el personaje tiene el caparazon en el inventario.[/b:1d46ac8822]
int EstaObjEn(string nombre,object opj) {
int iResult;
object oItem = GetFirstItemInInventory(opj);
while ( GetIsObjectValid(oItem) == TRUE )
{
if (GetTag(oItem) == nombre) {
iResult = 1;
}
oItem = GetNextItemInInventory(opj);
}
return iResult;
}
[b:1d46ac8822]Despues seleccionarlo[/b:1d46ac8822]
object SelecObjEn(string nombre,object opj) {
object iResult;
object oItem = GetFirstItemInInventory(opj);
while ( GetIsObjectValid(oItem) == TRUE )
{
if (GetTag(oItem) == nombre) {
iResult = oItem;
}
oItem = GetNextItemInInventory(opj);
}
return iResult;
}
[b:1d46ac8822]Destruirlo[/b:1d46ac8822]
DestroyObject(SelectObjEn(“caparazon”,oPj);
[b:1d46ac8822]Darle la recompensa[/b:1d46ac8822]
CreateItemOnInvetory….
Gracias por decirme los pasos, ya con eso me hago cargo yp.
Entonces, nadie sabe como asegurarse de que el pj ya no reciba dos veces experiencia de una misma quest?