DysoForums Forum Index DysoForums
 
GalleryGallery   Donate to DysotopiaDonate   Dysotopia.com homepageDyso.com
SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStats   RegisterRegister 
 Login to check your private messagesLogin to check your private messages   LoginLogin 

Replacement for Tidy Badgers (kinda)

 
Post new topic   Reply to topic    DysoForums Forum Index -> Idea Mill
View previous topic :: View next topic :: Hide signatures  
Author Message
Little Teapot
Deity


Joined: 11 Sep 2002
Posts: 2332

Level: 39
XP
EXP: 31 / 160 EXP: 31 / 160 EXP: 31 / 160
 19%
PostPosted: Thu Jul 31, 2003 11:36 pm    Post subject: Replacement for Tidy Badgers (kinda) Reply with quote

I have a small idea... instead of having Tidy badgers clean up all of the trash lying around in Tuskan (and Cobar in general) couldn't we just have the monsters act as janitors and pick up their own damn trash? you could simply have a tidy badger script that executes when there are no players that it can percieve around.

AND using this you wouldn't have to make a cleaner-monster, and it would help make monster's inventory more impressively diverse (or just large)
_________________
Matthijs says:
   oh ja, ik weet het zonet nog niet
Matthijs says:
   het ziet er toch wel een beetje naar uit dat we nederlands praten
Matthijs says:
   mischien moet ik dan maar eens vaker nederlands gaan praten
Matthijs says:
   kan je me ook meteen niet op al mijn spellinsfouten wijzen
There you have it! indisputable proof Solo's a fascist!!!
Back to top
View users profile Send private message Send email AIM Address MSN Messenger
Little Teapot
Deity


Joined: 11 Sep 2002
Posts: 2332

Level: 39
XP
EXP: 31 / 160 EXP: 31 / 160 EXP: 31 / 160
 19%
PostPosted: Thu Jul 31, 2003 11:38 pm    Post subject: Reply with quote

A second thought: if we go with Tidy Badgers, couldn't we have them shunt items into a price-based inventory DB, (which we could then use for quest rewards: "oh, thank you for finding my daughter, please, take my old Glather Sword") and the next time you do said quest they could give you another juicy item from the Tidy Badger mill...
_________________
Matthijs says:
   oh ja, ik weet het zonet nog niet
Matthijs says:
   het ziet er toch wel een beetje naar uit dat we nederlands praten
Matthijs says:
   mischien moet ik dan maar eens vaker nederlands gaan praten
Matthijs says:
   kan je me ook meteen niet op al mijn spellinsfouten wijzen
There you have it! indisputable proof Solo's a fascist!!!
Back to top
View users profile Send private message Send email AIM Address MSN Messenger
Griff Inn
Ice Lolly


Joined: 10 Sep 2002
Posts: 679

Level: 23
XP
EXP: 46 / 65 EXP: 46 / 65 EXP: 46 / 65
 70%
PostPosted: Fri Aug 01, 2003 1:19 am    Post subject: Reply with quote

how about:

Code:
void main()
{
object oItem = GetModuleItemLost();
object oPC = GetModuleItemLostBy();

if (ActionPutDownItem(oItem))
  {
  ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC);
  SendMessageToPC(oPC, "Take that you Litterbug!!!");
  }

}


icon_lol.gif icon_lol.gif icon_lol.gif icon_lol.gif icon_lol.gif
_________________
Never underestimate the power of hot tea.
Back to top
View users profile Send private message
Little Teapot
PostFri 08/01/03 1:49am
nono, with mine you could set an item down (like a gold coin) and use it as bait for monsters... like luring ogres and such...  Reply with quote
 
Ultrafoo
PostFri 08/01/03 2:52am
I thought you said he wouldn't react when seeing a player?  Reply with quote
 
Little Teapot
PostFri 08/01/03 3:04am
but rogues have the hide and Move silently skill... and they can set traps..  Reply with quote
 
Ultrafoo
PostFri 08/01/03 4:21am
*gets excited and likes the idea*  Reply with quote
 
Griff Inn
Ice Lolly


Joined: 10 Sep 2002
Posts: 679

Level: 23
XP
EXP: 46 / 65 EXP: 46 / 65 EXP: 46 / 65
 70%
PostPosted: Fri Aug 01, 2003 1:25 pm    Post subject: Reply with quote

I put that script up as a joke initially, but then I gave it some second thought. What if, when a player drops an item on the floor for the first time, they get a caution and are asked to put their junk inside the bins provided. [Timeout] Bins have been made and they work exactly the same as Dyso's pools of destruction except they don't use hb scripts and the destroy effect is instant, not delayed.[/Timeout] If they drop another item on the ground, then they get an amount of damage applied to them and are warned again to stop clogging the server with junk. If they drop for a third time, they are killed outright. 2 warnings, and if the the person is so damn well ignorant to them they get punished.
_________________
Never underestimate the power of hot tea.
Back to top
View users profile Send private message
Sep
Elder


Joined: 22 Apr 2003
Posts: 899

Level: 26
XP
EXP: 60 / 78 EXP: 60 / 78 EXP: 60 / 78
 76%
PostPosted: Fri Aug 01, 2003 1:30 pm    Post subject: Reply with quote

What if a person kills something and loots the corpse, but the weight is too heavy, and they have no choice but to drop the item right there due to encumberence?
_________________
"Here comes Halfling death!"
Back to top
View users profile Send private message
Griff Inn
PostFri 08/01/03 6:01pm
That would count as your first warning wouldn't it?  Reply with quote
 
Sep
PostFri 08/01/03 6:05pm
Yeah, I suppose so, although I think its a load of crap, honestly.  Reply with quote
 
Balkur
Adept


Joined: 05 Oct 2002
Posts: 86

Level: 8
XP
EXP: 5 / 19 EXP: 5 / 19 EXP: 5 / 19
 26%
PostPosted: Fri Aug 01, 2003 6:07 pm    Post subject: Reply with quote

If i remember correctly GetModuleItemLost() only applies to things dropped on the ground. If you're really fast and put it back in the remains before the corpse disappears this event won't fire.
Back to top
View users profile Send private message
Balkur
Adept


Joined: 05 Oct 2002
Posts: 86

Level: 8
XP
EXP: 5 / 19 EXP: 5 / 19 EXP: 5 / 19
 26%
PostPosted: Fri Aug 01, 2003 6:09 pm    Post subject: Reply with quote

Probably better if you just destroy the object and charge a "littering" tax on the litterbug icon_smile.gif
Back to top
View users profile Send private message
Griff Inn
Ice Lolly


Joined: 10 Sep 2002
Posts: 679

Level: 23
XP
EXP: 46 / 65 EXP: 46 / 65 EXP: 46 / 65
 70%
PostPosted: Fri Aug 01, 2003 6:19 pm    Post subject: Reply with quote

Yeah forgot to put a destroy command in there. Littering tax sounds good too icon_biggrin.gif. Sep, at the moment it's just an idea. It's nothing definite. If it ever did get implemented you'd get a lot more warnings and the penalty wouldn't be as harsh.
_________________
Never underestimate the power of hot tea.
Back to top
View users profile Send private message
Griff Inn
Ice Lolly


Joined: 10 Sep 2002
Posts: 679

Level: 23
XP
EXP: 46 / 65 EXP: 46 / 65 EXP: 46 / 65
 70%
PostPosted: Sat Sep 13, 2003 9:51 pm    Post subject: Reply with quote

Just to keep you all updated on the item dropping issue, if you drop an item on the floor, and no one picks it up after 60 seconds, it is destroyed. Is that fair enough?
_________________
Never underestimate the power of hot tea.
Back to top
View users profile Send private message
GorbGuy
Guest




Level: 51
XP
EXP: 189 / 280 EXP: 189 / 280 EXP: 189 / 280
 67%
PostPosted: Sat Sep 13, 2003 9:55 pm    Post subject: Reply with quote

Sounds good here. Be nice to not walk into someplace and have 50 piles of remains on the floor from a few hours before. icon_smile.gif
Back to top
Norrec
Hero


Joined: 20 Mar 2003
Posts: 663

Level: 23
XP
EXP: 30 / 65 EXP: 30 / 65 EXP: 30 / 65
 46%
PostPosted: Sun Sep 14, 2003 12:55 am    Post subject: Reply with quote

Is that if you drop a item say from you inventory? Or if a monster drops it on death? For on monster death I would say maybe make it 3 min, incase someone needs to rearange inventory so it will fit, or drop something so it will fit, or think about if they even want to pick it up. Plus 3 min gives a good solid time for travlers to come and pick it up and use it themselves.
_________________
Courage is not the absence of fear, but the presence of fear yet the will to go on.
Back to top
View users profile Send private message Send email MSN Messenger
Darkshadow666
Grandmaster


Joined: 31 Jan 2003
Posts: 297

Level: 16
XP
EXP: 5 / 39 EXP: 5 / 39 EXP: 5 / 39
 12%
PostPosted: Sun Sep 14, 2003 12:55 am    Post subject: Reply with quote

I've tested these scripts and they work well. After 30 seconds of a map being "void" of a player character this script runs and cleans the area of dropped treasures and placeables.
For any "Boss" items affix the _Boss to the tag of the item.

AreaCleanup Script
void debug(string dstring)
{
int isdebug = 0;
if (isdebug == 1)
SendMessageToPC(GetFirstPC(), dstring);
}



void TrashObject(object oObject)
{
debug(GetTag(oObject) + " is in trashobject");
if (GetObjectType(oObject) == OBJECT_TYPE_PLACEABLE) {
object oItem = GetFirstItemInInventory(oObject);
while (GetIsObjectValid(oItem))
{
debug(GetTag(oItem) + " is in trashobject");
TrashObject(oItem);
oItem = GetNextItemInInventory(oObject);
}
}
else
debug(GetTag(oObject) + " failed to pass as inventory type placeable is getting destroyed");
AssignCommand(oObject, SetIsDestroyable(TRUE, FALSE, FALSE));
DestroyObject(oObject);
}

void main()
{
object oPC;
oPC = GetFirstPC();
object tPC = oPC;
debug("We're starting area cleanup");
while (oPC != OBJECT_INVALID)
{
if (OBJECT_SELF == GetArea(oPC))
return;
else oPC = GetNextPC();
}
object oObject = GetFirstObjectInArea(OBJECT_SELF);
while (oObject != OBJECT_INVALID)
{
debug(GetTag(oObject));
if (GetIsEncounterCreature(oObject) && FindSubString(GetTag(oObject), "_BOSS") > -1)
DestroyObject(oObject);
int iObjectType = GetObjectType(oObject);
switch (iObjectType) {
case OBJECT_TYPE_PLACEABLE:
if (GetTag(oObject) != "BodyBag") {
break; }
case OBJECT_TYPE_ITEM:
TrashObject(oObject); }
oObject = GetNextObjectInArea(OBJECT_SELF);
}
}



her_onexit script
And put this script in the OnExit of the map!

void main()
{
float cleanupdelay = 30.0; //if you change this it alters how long before
// the area cleans up, if you do change it INCLUDE THE DECIMAL, or it won't
// work
if(!GetIsPC(GetExitingObject()) ) {
return; }
object oPC = GetExitingObject();
if (!GetIsPC(oPC))
return;
oPC = GetFirstPC();
while (oPC != OBJECT_INVALID)
{
if (OBJECT_SELF == GetArea(oPC))
return;
else oPC = GetNextPC();
}
DelayCommand(cleanupdelay, ExecuteScript("areacleanup", OBJECT_SELF));
}
Back to top
View users profile Send private message Send email Visit posters website
Display posts from previous:   
Post new topic   Reply to topic    DysoForums Forum Index -> Idea Mill All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB 2.0.2 © 2001, 2002 phpBB Group