M_v_M

01/05/2007 20:08:32

Otra duda para Althor o quien se precie xD Esta no supone quebraderos de cabeza, lo tenéis aquí calcado, me parece...

Al entrar al servidor, se da la bolsa de dados y la guía del módulo...¿Cómo se hace? *Voz de niño que no entiende*

He estado haciendo chapuzas, y he acabado con el inventario lleno de bolsas de dados :roll:

kowalevskaya

02/05/2007 00:07:10

[quote:8e0e034702="M_v_M"]He estado haciendo chapuzas, y he acabado con el inventario lleno de bolsas de dados :roll:[/quote:8e0e034702] :lol: :lol: :lol: serás vicioso... nada más que dados y más dados... no se te puede dejar suelto.

Prueba con esto... en el OnClientEnter del módulo...
[code:1:8e0e034702]int IsInInventory(object oContainer, string sItemTag)
{
object oItem;
if (GetHasInventory(oContainer))
{
oItem = GetFirstItemInInventory(oContainer);
while ( OBJECT_INVALID != oItem )
{
if (GetTag(oItem) == sItemTag)
{ return TRUE; }
oItem = GetNextItemInInventory(oContainer);
}
}
return FALSE;
} //esto te define una función básica de buscar en el inventario...
#include "nw_i0_plot"
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;

if (!IsInInventory(oPC, "tag de la bolsa de dados"))
CreateItemOnObject("tag de la bolsa de dados", oPC);
//añade el resto del script
}[/code:1:8e0e034702]

AlthorDeMalavir

02/05/2007 01:11:00

¡¡Yo señorita yo!!! puedo hacerlo mas corto xD

Añade esto al script que tengas en el OnClientEnter

[code:1:cb5d533d94]
#include "nw_i0_plot"


void main()
{
object oPlayer = GetEnteringObject();

if(!HasItem(oPlayer, "Etiqueta del objeto a dar")) CreateItemOnObject("ResRef del objeto a dar", oPlayer, 1);
}
[/code:1:cb5d533d94]

Cuidado que en uno va la etiqueta y en la otra funcion el resref, espero que te aclares para añadir esto a tu script, basicamente es meter la primera linea y luego añadir el if(!HasItem(oPlayer, "Etiqueta del objeto a dar")) CreateItemOnObject("ResRef del objeto a dar", oPlayer, 1); al final del script, el void main y tal no se vuelve a poner.