World of Gothic Archiv > NWN-Hilfe
Ich brauche mal Hilfe von erfahrenen Scriptern !!
Seite 1 von 1  1 
26.09.2002, 17:58 #1
Cobra99
Beiträge: 38
Ich brauche mal Hilfe von erfahrenen Scriptern !!
hiho all

ich brauche folgendes script :
und zwar will ich das diese selbstgebauten items die die leute sich selbst gebaut haben verschwinden, sprich removed zerstoert oder was auch immer werden.

hab schon einiges versucht aber ohne erfolg.
vieleicht weiss ja von euch einer wie man das machen koennte

many thx fuer die hilfe
ein euch sehr danlbarer Cobra
27.09.2002, 14:05 #2
DTime
Beiträge: 155

Ähm... nur mal so ne Frage! Wie willst du das denn anstellen? Und zwar geht es darum, dass vielleicht Spieler auftauchen, die in anderen Modulen Items erhalten haben, die natürlich gerne behalten würden! Du könntest ein Skript machen das alle Original Items im Inventar abfrägt (viel Spass, das sind ein paar) und alle anderen zerstört! Aber damit machst du dir sichter nicht sehr viele Freunde ;)! Ich würde folgende Vorgehensweise wählen:
Mach einen Popup Text bei OnEnter des Moduls der einen Hinweis darauf gibt, das der Spieler all seine Gegenstände in eine Truhe legt. Beim verlassen dieses Startraumes machst du ein Skript das abfrägt ob das Inventar des Spielers leer ist! Im nächsten Raum platzierst du dann Kisten die ein Starter Kit für verschiedene Charekterklassen beinhaltet. Wenn ein Spieler nun das Modul verlassen will solltest du ein Skript einbauen das ihm seine Gegenstände wieder zurückgibt, aber nur dann! Ich denke das soll wohl für ein Multiplayer Projekt sein oder? Falls es für ein Soloabenteuer ist, kannst du den Spieler ,statt ihm die Gegenstände beim verlassen des Modules zu geben, am Ende wieder in diesen Raum teleportieren, und dann beim verlassen dieses Raumes eine Endsequenz oder ähnliches einbauen!

Das sind alles nur Vorschläge, die Skripte dafür kann (und vor allem will, zumindest im Fall des zerstörens von Inventargegenständen) ich dir leider nicht machen! Aber denk mal drüber nach, denn ich wäre stinksauer wenn mir jemand meine heißgeliebten Items zerstören würde..... sofort raus aus dem Modul und löschen wäre was du bei mir (und ich denke auch bei anderen) erreichen würdest!!!!
27.09.2002, 14:17 #3
Cobra99
Beiträge: 38

hi

die problematik ist einfach erklaert
es ist ein multiplayer projekt, ich hab seit einiger zeit rund um die uhr nen server laufen, dort tummeln sich zu 95% leute die nur selbsterstellte sachen haben die so hochgezuechtet sind (aber im lvl 20 rahmen sind) das sie durchrennen ohne irgendwelche schaeden zu nehmen, ich kann die gegner so stark machen wie ich will, es hilft nichts. deswegen will ich diese items loswerden, den ich sehe keinen sinn darin das man durchrennt und nicht 1x stirbt und wenn se sterben maulen se !!
wenn denen das dann nicht passt das die items weg sind, ist es denen ihr prob !!
und wenn du jetzt meinst es geht nicht ohne cheaten hexen oder was auch immer, beweisse ich dir das gegenteil, es ist machbar bis lvl 20 items sich unverwundbar zu machen !!

so long
Cobra

ps : plot items sind schon raus
12.10.2002, 17:58 #4
The King
Beiträge: 100

Wenn du ein gutes Modul hast und rund um die uhr offen kommen die leute auch wenn du nur Serverchars zulässt, dann kan sich niemand mehr gegenstände cheaten.
17.10.2002, 12:29 #5
Shirat
Beiträge: 511

Ich versteh' zwar net so ganz den Sinn in der Sache, aber versuch's mal mit dem Script hier:

code\:

void main()
{
object oPC = GetFirstPC();
object oItem = GetFirstItemInInventory(oPC);
int nClear = GetLocalInt(oPC,"Clear");

if(nClear == 0)
{
while(oItem != OBJECT_INVALID)
{
DestroyObject(oItem);
oItem=GetNextItemInInventory(oPC);
}
oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC);
if(oItem != OBJECT_INVALID) DestroyObject(oItem);

SetLocalInt(oPC,"Clear",1);
}




___________________________

Visit:
Martins Homepage[/font]
Seite 1 von 1  1