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

Quitar un solo objeto acumulado con mismo tag y muchas mas preguntas complicadas


3 respuestas al tema

#1 Komanche

Komanche

    Humano

  • Miembro
  • Pip
  • 67 posts

Posteado 28 September 2017 - 12:50 PM

- Hola, amigos. :wave:  A ver si me podéis ayudar, tengo que entregar unos pergaminos a distintas personas, sin embargo, me quita todos  los pergaminos, en vez de uno    :(  ¿me podes ayudar?


Los pergaminos son normales: acumulados y no trama



- ¿Es posible recargar las cargas de un objeto? 



2) Mapas portátiles: He creado un pequeño sistema de mapas portátiles, a través de poder único con un sistema basado en la piedra de regreso. Consisten  en que crea wp  y me teletrasporta a un mapa   para regreso.  y   Necesitaría poner un condicional para que no se pudiera usar en determinadas zonas (que son, las zonas que son mapas) 

El encabezamiento....

 
void main()
{
object oPC;
 
if (!GetIsPC(GetItemActivatedTarget())
|| GetIsInCombat(GetItemActivator())
){
 
SendMessageToPC(GetItemActivator(), "Esto no se usa asi");
return;}
 
oPC = GetItemActivator();
 
ect..ect..ect..
 
}
 

 

Graciaaaaaaaas



 



#2 Zoraga

Zoraga

    Neonato

  • Miembro
  • PipPip
  • 201 posts

Posteado 29 September 2017 - 07:59 AM

Lo de los pergaminos creo que es por que son acumulables, y lo de las cargas de un objeto tengo entendido que si se puede, pero no he averiguado como.

 

Respecto al script, no lo tengo muy claro, pero podrías usar como condicional marcando como "superficie" las areas que quieras y "subterraneo" las que no quieras (por ejemplo), hace un tiempito armé un sistema parecido para usar una de piedra de regreso igual, con la ayuda de la gente de aquí, mira en otro post también me ayudaron con una duda sobre condicionales de área, quiza te sirva: http://www.clandlan....ndicional-nwn1/


Colaborando en:



Nombre servidor: ES) Rebelión del Submundo
Tipo de servidor: rol/acción/jvj
Jugadores: 1-25
Niveles: 1-30
Base literaria: Reinos Olvidados
IP (conectar directamente): sombrasdefaerun.no-ip.org
Foro: http://usn-rol.foroes.org/



 


#3 Txibi

Txibi

    Antediluvian

  • Miembro DLAN
  • PipPipPipPipPip
  • 4647 posts

Posteado 30 September 2017 - 10:36 AM

Saludos.

 

Es posible recargar, mismamente, en la primera expansión del nwn hay una máquina de recarga.
Cuando son acumlables los objetos, hay que restar una unidad en lugar de destruir el objeto (que destruiría todo lo acumulado)

 

Voy a mirar a ver si veo en una primera pasada.


Edición:

 

Aquí tienes un ejemplo para recargar varitas:

http://www.clandlan....rga-de-varitas/

 

Para modificar el valor de un apilamiento, usa la función:

void SetItemStackSize(object oItem, int nSize)

 

Para restar pergaminos, he probado con este script poniendolo en un recipiente en el OnClosed, al cerrar el recipiente, en mi caso una mesa, resta una unidad. A tener en cuenta, si sólo queda uno, el número mínimo es uno. Luego deberás poner un if que compruebe la cantidad antes de la resta y si es 1, en vez de resta aplicar un DestroyObject.

 

/*
script tx_resta1
30/09/2017 Txibi

Script en este ejemplo a colocar en el OnClose de un recipiente.
Al dejar dentro un pergamino con la etiqueta tx_pergaprueba, al cerrar el recipiente resta una unidad.
*/

//CUERPO PRINCIPAL
void main()
{
    //Cogemosla etiqueta del apilable a restar.
    object oPerga = GetObjectByTag("tx_pergaprueba");
    //Cogemos la cantidad de objetos apilados.
    int iCantidad = GetItemStackSize(oPerga);
    //Restamos uno, o variamos la cantidad a nuestro gusto.
    iCantidad = iCantidad - 1;
    //Aplicamos la nueva cantidad al apilable.
    SetItemStackSize(oPerga, iCantidad);
}//Fin del Cuerpo Principal.

 

Txibi.


Editado por Txibi, 30 September 2017 - 11:08 AM.


#4 Komanche

Komanche

    Humano

  • Miembro
  • Pip
  • 67 posts

Posteado 25 November 2017 - 05:20 PM

Gracias, amigo.. Perdona si tardé tanto en contestar, estuve liado...  :wave:  :wave:  ( y dándolo todo con mi caballero dragón esqueleto en O.S.II)  :salto: 

1) Si, es justo eso.. un condicional para que el screep del teleport no se ejecute en algunas zonas determinadas. 

2) Sobre los objetos, es complicado:
Si es un objeto no acumulable, por ejemplo, una espada.. solo me quita una, y si es acumulable, me quita todas...  :(

Estoy intentado diseñar un sistema de alquimia portátil, y necesito quitar unas cantidades concretas de materiales acumulables y no acumulables mediante diálogo...





Responder



  


A Bragol. Tus amigos te echan de menos.