The Lands of Arda Forum Index The Lands of Arda
The Greatest Neverwinter Nights Persistent World in The Lord of the Rings setting
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Important Notice: We regret to inform you that our free phpBB forum hosting service will be discontinued by the end of June 30, 2024. If you wish to migrate to our paid hosting service, please contact billing@hostonnet.com.
Keeping Arda growing - no wildgrowth though
Goto page 1, 2, 3, 4  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    The Lands of Arda Forum Index -> General Discussion
View previous topic :: View next topic  
Author Message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Fri Nov 04, 2011 12:38 pm    Post subject: Keeping Arda growing - no wildgrowth though Reply with quote

Heya,
I dont have access to the builder forum and dont see any reason why this topic shouldnt be public.

We want to keep extending Arda, but there is a file limit... meaning after some time new haks will be needed. Items, creatures etc. in haks cant be changed, so Id rather add no more haks if we can avoid it.

Things we can do to save room is:

Putting several levels or interiors of a place on one map.
No more keys (check next point).
ONE master lever script (you place a local string in the lever with the tag of the door, and the master lever script reads it out and opens the door on activation).
ONE master dropp script (works the same as above:
->you place local strings of the tags of the dropps, local ints of the number of dropps and local ints of the dropp chance on the boss and the master script reads them out on death)

I have no idea why this hasnt been used from the beginning, it would have saved much space and kept the scripts at an acceptable amount.

Anotehr thing is who will keep the master mod of Arda, doing all the small fixes like exchanging bugged priests by new onces etc.

And are there any suggestions for dropps or forges we might need? What kind of area would you like to have added? For example, I really enjoy slaying hill giant in Oulu´s area. Having huge sized mobs is something really different from the common Arda. I might have a look and check what huge sized creature models are still available and make an new area (fitting into the lotr scheme of course). AT the moment Im much more enjoying outdoor areas than dungeons or cities too (there I see a huge lack).

Any thoughts?^^
Back to top
View user's profile Send private message
oulu



Joined: 31 Jan 2007
Posts: 188
Location: Finland

PostPosted: Sat Nov 05, 2011 1:02 pm    Post subject: Reply with quote

Points are good. I just dont know how to do that sort of master script so could you please post it here or email it.

MERP books are still full of places, creatures and items to add so im all in for expanding Arda. There are not too many players regularly, but if we keep updating the module, the current players might keep interested longer and it could be used as an advertisement for the possible returning players.


My plans for the moment are:

Complete redoing of Fornost. I am going to increase the difficulty a bit, aiming to increase the possible places to visit around lvl 5-15.

Updating the Abandoned Crypt in dead marshes, for it has plenty of lore that hasn't been implemented to the module (Merp Dagorlad).



There are more of these sort of places in Arda that should be updated for people to start visiting them. And by that i mean the dungeons without a boss or dungeons without mobs etc ( tower hills in between mithlond and shire for example)


One thing im also having in mind to further edit the completely unusable items. People could start posting them here.

I will also try to get the admin rights for the forum since none of the current admins is active and the people cant register to the forums.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Sat Nov 05, 2011 7:56 pm    Post subject: Reply with quote

Good points Smile

When Im done with the script, Ill post it (wont start right now scripting though, maybe next week).

A master area transistion script should be possible too.
Back to top
View user's profile Send private message
oulu



Joined: 31 Jan 2007
Posts: 188
Location: Finland

PostPosted: Sun Nov 06, 2011 8:59 am    Post subject: Reply with quote

If you want to do a hill giant area and make it an outside area, i think there is a hill giant isle somewhere in the misty mountains. Check that book out.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Sun Nov 06, 2011 10:32 am    Post subject: Reply with quote

That would be perfect!
How is the book called and where do I get it? I once had a free download page, but lost it (or it went down).
Back to top
View user's profile Send private message
oulu



Joined: 31 Jan 2007
Posts: 188
Location: Finland

PostPosted: Sun Nov 06, 2011 2:54 pm    Post subject: Reply with quote

http://www.scribd.com/collections/2474556/my-merp

That is where i read them. I've also been a bastard and dl'd the whole set as a torrent.

I think its The Trolls of the Misty Mountains, or Goblin gate or i dont remember...
Back to top
View user's profile Send private message
Hubert



Joined: 21 Feb 2007
Posts: 90

PostPosted: Mon Nov 07, 2011 9:47 am    Post subject: Reply with quote

I'm all in favor for the new content.

As ideas of what could be done, are the Middle Earth Underdeeps.
There is not a lot of material for this area, but it is shortly mentioned in the Moria book, and a little bit more in the Ghost Warriors.

http://www.scribd.com/doc/25301201/ICE-8016-MERP-Ghost-Warriors

The interesting aspect here is that even ICE has made their own random dungeon generrator for the penn&paper version.
This could be a perfect place to use the Biowares Random dungeon generator for our benefit.

Allso, as the Underdeeps go trough the whole continent, we could use this allso as a traveling option.

There are supposedly many terrible things still living in there, including the Balrogs who fled Thangorodrims destruction, The King of underdeeps (A half demon / half Olog-Hai / Half Balrog, and yes thats 150% of pure badassnes).

We could put the master mod file to a general share,
and make sure that only one "developer" is working on his stuff at any given time.

After the developer is finished, the master mod is upgraded and the next developer starts his work.

My server is in your use, but I will hold all the "keys" to it.
So if you want something there, just tell me and ill add it there.

B.R Agility

P.S. Allmost forgot, but you probably would want the newest mod file,
because my few additions are there (The teleport to bind from ARD, and the Riven - MT caravan). Ill try to put it up to my server tonight, and post the address here.
_________________
Wobbits are those sneaky little devils, that steal your precious.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Mon Nov 07, 2011 1:46 pm    Post subject: Reply with quote

There is a bioware random dungeon generator?^^
How does it work, does it work in-game and create a map when player hit area transistions?

I like the idea of a the master mod. That will be used to remove bugs and improve stuff. Other builders can work on some new areas at the same time and send an erf to the builder though.

There are some things Id like to fix, among them:

-lots of priests^^
-a boss missing a local variable
-changing a monster item casting light on hit (after some time there will be an overflow of effects on the pc having hit too many of that monster)

And thank you for the great support and hosting this wonderful world Wink
Back to top
View user's profile Send private message
Hubert



Joined: 21 Feb 2007
Posts: 90

PostPosted: Tue Nov 08, 2011 6:12 am    Post subject: Reply with quote

http://nwvault.ign.com/View.php?view=modules.detail&id=4992

Havent checked the scripts for this yet, so im not sure how it works.

Edit:
I actually found this:
[img]http://nwvault.ign.com/View.php?view=Modules.Detail&id=3885[/img]
The same author as in the Biowares version, but this is free!!
_________________
Wobbits are those sneaky little devils, that steal your precious.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Tue Dec 27, 2011 3:51 pm    Post subject: Reply with quote

Heya,
I got a few days off and started a bit coding stuff. First thing I achieved is a masterdropp script (meaning only ONE script for ALL creatures):

Code:
// A creature running this on death script should have the following local variables:

// A local int "TotalDropps" indication the amount of dropps dropping at once
// (if a boss has two independant dropp lists this will be 2).

// For each dropp list a set of local ints summing up to exactly 100 (for each
// set).

// For each single dropp a local string with the resref of the dropp.

// The names of the local ints mentionned above are 1, 2, 3, 4,.... for the 1st
// dropp table, 101, 102, 103,... for the 2nd, 201, 202, 203,.. for the 3rd and
// so on. The names of the local strings are R1, R2, R3,... for the 1st dropp
// table, R101, R102, R103 for the 2nd and so on.

// The creature also has to have the local int "TotalEvents" indicating the number
// of visual events occurring on death.

// The creature needs a number equal to the value of "TotalEvents" of local ints
// indicating the events. They are named E1, E2,...





void main()
{
int nTotalEvents = GetLocalInt(OBJECT_SELF,"TotalEvents");
int nEvent;
location lLocation = GetLocation(OBJECT_SELF);
effect eVisual;

int nTotalDropps = GetLocalInt(OBJECT_SELF,"TotalDropps");
int nIncrementTotal = 1;
int nDiceRoll;
int nIncrement;
int nChance;

string sDropp;


// Clear all non-drop items and creature slots
ExecuteScript("clear_nodropitem", OBJECT_SELF);


//Fireworks!
while(nIncrementTotal <= nTotalEvents)
{
    nEvent = GetLocalInt(OBJECT_SELF,"E"+IntToString(nIncrementTotal));
    eVisual = EffectVisualEffect(nEvent,FALSE);
    DelayCommand(IntToFloat(nTotalEvents)-1.000f, ApplyEffectAtLocation( DURATION_TYPE_INSTANT,
    eVisual, lLocation));
    nIncrementTotal++;

}
// this increment will be used for the next while as well
nIncrementTotal = 1;

//do the following for each dropp with its specific dropp table
while(nIncrementTotal <= nTotalDropps)
{
    nDiceRoll = d100(1);
    //nIncrement goes 1, 2, 3... for 1st dropp, 101, 102, 103... for 2nd,
    //201, 202, 203 for 3rd and so on
    nIncrement = 1+(nIncrementTotal-1)*100;

    nChance = GetLocalInt(OBJECT_SELF,IntToString(nIncrement));
    sDropp = GetLocalString(OBJECT_SELF, "R"+IntToString(nIncrement));
    // checks if dice roll is less than the sum of the dropp chances checked so far
    // when its higher, the last valid sDropp will be used to create the item
    while(nChance < nDiceRoll && nIncrement <1000 )
    {
         nIncrement++;
         sDropp = GetLocalString(OBJECT_SELF, "R"+IntToString(nIncrement));
         nChance = nChance + GetLocalInt(OBJECT_SELF,IntToString(nIncrement));

    }
    CreateItemOnObject(sDropp, OBJECT_SELF, 1);
    nIncrementTotal++;

}

}


The resrefs from the items as well as their dropp chances will be stored in local variables on the creature template. This script allows unlimited dropps at once, given by the local int TotalDropps. The creature will have an (also) unlimited number of visual effents on death, each delayed 1 sec.
The script can easily be expanded, if you feel something is missing. For example random on death spawns will be added as well. I made a screenshot with an example of a monster´s variable list. Any ideas where I can upload it for free (without registration^^)? I could email it too the interested builders, too. The time needed to enter in the variables should be even less compared to the time required to adapt the dropp script templates.
Main motivation is to make Arda less messy and save space.

The master lever script (no more keys!) and the master area transistion script can be done in the same way.
Back to top
View user's profile Send private message
Ithilsilà



Joined: 15 Feb 2007
Posts: 323
Location: Catalonia

PostPosted: Tue Dec 27, 2011 6:40 pm    Post subject: Reply with quote

nwvault is a good bet. Where we already find some of the arda haks.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Tue Dec 27, 2011 7:34 pm    Post subject: Reply with quote

I found that trying to understand a foreign script takes much longer than writing and debugging scripts myself. I´ve pretty bad feelings about adding things without understanding 100% of what we add Smile
Anyways, I did a quick research on nwvault and there is no such masterdropp script so far. So I guess Im going on coding stuff myself (to keep the overview) ^^

//Edit Stupid me^^ Or did you mean to upload the script and the screenshot?^^ In that case Im not sure if its worthy enough for nwvault. No idea if anyone is having as severe problems with space such as we have.

//Edit #2 Just made the mastertransistion script. Only few minor adjustments were needed (check the lines between [SerraAvatar] and [/SerraAvatar]. I quoted something out and replaced it. Now you need to place a WP with the Tag CS_MasterWP in your area having 5 local strings:
C where you enter the tag of the WP of the current area
N where you enter the tag of the WP of the area north
S ....
E ...
W ...

Now you can place the cs_mastertrans script in every area trans you create and no more new scripts will be needed (as long as you have the WP mentionned above in the area).

Here the script:
Code:
void main()
{
//********************//
// areatrans   v 1.1  //
//**************************************************************************************************//
//                                                                                                  //
//     This Script will allow a Player to Zone anywhere along the entire edge of an area wall.      //
//                                                                                                  //
//***********************************************************  By:  Mark Ginnetty  aka: Draxx  *****//
//**************************************************************************************************//
//                                                                                                  //
//  Special Requirements:                                                                           //
//                                                                                                  //
//  Each Zone has to be at least 3 x 3.                                                             //
//                                                                                                  //
//  Each Area must have a Waypoint created in extreme North East corner.  This Waypoint is used     //
//  to find the Area object as well as the Height and Width of the area you are moving from and to. //
//                                                                                                  //
//  Each edge of the Area that will zone players needs to have an  AreaTransiton Trigger that runs  //
//  along the edge that uses this script in the OnEnter and if you want the OnClick event.          //
//  it.  The AreaTransition Trigger should be 1/2 a section (red square) wide and right along  the  /
//  area edge.  If you want you can have multiple short transition along the small edge as long as  //
//  they are about 1/2 a section wide.                                                              //
//                                                                                                  //
//                                                                                                  //
//  Note:  Transitioning through corners is not exact and in most cases will always zone to the     //
//         North and South areas even if you really walk through the corner headed east or west     //
//                                                                                                  //
//**************************************************************************************************//
//  v 1.1  Update :   After cleaning up the code for the inital release I made a few typos that     //
//                    cause the Player to be teleport to the wrong AREA when zoning.   I have since //
//                    fixed problems and fully tested the changes.  Thanks for heads up Bamf.       //
//****************************************************************************************************


//[SerraAvatar]        27. Dec. 2011

// You must manually set all the Waypoints for the adjacent areas //
//object   oCurrentAreaWaypoint = GetObjectByTag("map3e");
//object   oNorthAreaWaypoint = GetObjectByTag("map2e");
//object   oSouthAreaWaypoint = GetObjectByTag("map4e");
//object   oEastAreaWaypoint = GetObjectByTag("map3f");
//object   oWestAreaWaypoint = GetObjectByTag("map3d");

object oMasterWP = GetNearestObjectByTag("CS_MasterWP", OBJECT_SELF, 1);
object   oCurrentAreaWaypoint = GetObjectByTag(GetLocalString(oMasterWP, "C"));
object   oNorthAreaWaypoint = GetObjectByTag(GetLocalString(oMasterWP, "N"));
object   oSouthAreaWaypoint = GetObjectByTag(GetLocalString(oMasterWP, "S"));
object   oEastAreaWaypoint = GetObjectByTag(GetLocalString(oMasterWP, "E"));
object   oWestAreaWaypoint = GetObjectByTag(GetLocalString(oMasterWP, "W"));

//[/SerraAvatar]       27. Dec. 2011


object   oPlayer = GetEnteringObject();                                 // Get the Player that is leaving the Area //
location lPlayer = GetLocation(oPlayer);                                // Get Player's location when he hit the Area boarder //
float    fPlayerFacing = GetFacingFromLocation(lPlayer);                // Get the direction the Player is facing //
vector   vPlayerVector = GetPosition(oPlayer);                          // Get the Player's X,Y,Z coordinates  //
vector   vCurrentWaypoint = GetPosition(oCurrentAreaWaypoint);          // Get the Current Area Waypoint coords to find size of Current Area //
vector   vNewVector;                                                    // Create a new Vector to store the Player's Vector in the new Area //


if ( vPlayerVector.y < 10.0 )
    { //  y < 10.0  means the player was headed South when he hit the Area Trans Trigger. Now I  have to compute    //
      //  the new player locations along the north side of the new Area.  I take the vWaypoint Y location           //
      //  to get the farthest Northern position and then take 10 away from it to have the player appear just below  //
      //  any Area Trans Triggers.     Finally I set vNewVector and call JumptoLocation to teleport the Player      //

      object oWaypoint = oSouthAreaWaypoint;
      vector vWaypoint = GetPosition(oWaypoint);
      object oNewArea = GetArea(oWaypoint);
      vNewVector = Vector(vPlayerVector.x,(vWaypoint.y-10),vPlayerVector.z);
      AssignCommand(oPlayer, JumpToLocation(Location(oNewArea,vNewVector,fPlayerFacing)));
    }

else if ( (vPlayerVector.y+10.0) > vCurrentWaypoint.y )
    { // (vPlayerVector.y10.0) > vCurrentWaypoint.y means the player has move into the Northern Area Boarder  //
      //  So just like when the player hits the Southern Boarder I computer the new Location, this time along  //
      //  the South edge of the New Northern Area and then call the JumptoLocation to teleport                          //

      object oWaypoint = oNorthAreaWaypoint;
      vector vWaypoint = GetPosition(oWaypoint);
      object oNewArea = GetArea(oWaypoint);
      vNewVector = Vector(vPlayerVector.x,10.0,vPlayerVector.z);
      AssignCommand(oPlayer, JumpToLocation(Location(oNewArea,vNewVector,fPlayerFacing)));
    }

else if  ( vPlayerVector.x < 10.0 )
    { // x < 10.0 has the Player Zoning along the West side so we have to compute the new Player position along //
      // the West side of the New Area and teleport them there.                                                 //

      object oWaypoint = oWestAreaWaypoint;
      vector vWaypoint = GetPosition(oWaypoint);
      object oNewArea = GetArea(oWaypoint);
      vNewVector = Vector((vWaypoint.x-10.0),vPlayerVector.y,vPlayerVector.z);
      AssignCommand(oPlayer, JumpToLocation(Location(oNewArea,vNewVector,fPlayerFacing)));
    }

else if ( (vPlayerVector.x+10.0) > vCurrentWaypoint.x )
    { // (vPlayerVector.x+10.0) > vCurrentWaypoint.x  has the Player Zoning along the East side so we //
      // need to move the player to the West side of the New Area.                                    //

      object oWaypoint = oEastAreaWaypoint;
      vector vWaypoint = GetPosition(oWaypoint);
      object oNewArea = GetArea(oWaypoint);
      vNewVector = Vector(10.0,vPlayerVector.y,vPlayerVector.z);
      AssignCommand(oPlayer, JumpToLocation(Location(oNewArea,vNewVector,fPlayerFacing)));
    }

else
    {   //  the script should never get down to this section, if it does then you have used this script on //
        //  a AreaTransition that isn't along the edge of a Area.                                          //
    }

}
Back to top
View user's profile Send private message
Ithilsilà



Joined: 15 Feb 2007
Posts: 323
Location: Catalonia

PostPosted: Tue Dec 27, 2011 9:01 pm    Post subject: Reply with quote

I meant to upload it there. There is much worse than this script Smile.
Back to top
View user's profile Send private message
SerraAvatar
Site Admin


Joined: 29 Jan 2007
Posts: 573

PostPosted: Thu Dec 29, 2011 6:14 pm    Post subject: Reply with quote

Good to know that there are worse than my scripts =)

Just finished the cs_masterlever - script:

Code:
       /*   Script generated by
Lilac Soul's NWN Script Generator, v. 1.2

For download info, please visit:
http://www.angelfire.com/space/lilacsoul    */

//Put this OnUsed

//changed by SerraAvatar 29. Dec. 2011

void main()
{
object oPC = GetLastUsedBy();
int nIncrement = 1;
string sTarget = GetLocalString(OBJECT_SELF,IntToString(nIncrement));
object oTarget;


if (!GetIsPC(oPC)) return;

 SetLocalInt(OBJECT_SELF, "m_bActivated", TRUE);
 PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
     /*Add your door opening script here*/


 while(sTarget != "")
 {
     oTarget = GetObjectByTag(sTarget);
     SetLocked(oTarget, FALSE);
     AssignCommand(oTarget, ActionUnlockObject(oTarget));
     DelayCommand(2.0,AssignCommand(oTarget, ActionOpenDoor(oTarget)));
     nIncrement++;
     sTarget = GetLocalString(OBJECT_SELF,IntToString(nIncrement));
 }


 PlaySound("as_cv_ropepully2");
 SetLocalInt(OBJECT_SELF, "m_bActivated", FALSE);
 DelayCommand(6.0,PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
     /*The door closing script here*/
}


It unlocks and opens an unlimted number of doors whose tags you have to store in the local string with the variable names 1,2,3,4.... on the lever.
For now, the sound played is always the same. If you want others, no other script will be needed though. I could add some lines reading out the sound from another local string, and use the old sound if no such local string is found. The same for visual effects. Im going to code all add-ons for the master scripts in such a manner that require no changes in the sets of local variables of already existing placables/doors.
Back to top
View user's profile Send private message
Ithilsilà



Joined: 15 Feb 2007
Posts: 323
Location: Catalonia

PostPosted: Thu Dec 29, 2011 7:47 pm    Post subject: Reply with quote

Huge job ahead of you then. Good luck and thanks.

@Hubert: it was mean to tease us with a server Wink.
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    The Lands of Arda Forum Index -> General Discussion All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

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 © 2001 phpBB Group
Web Hosting Directory
Chronicles phpBB2 theme by Jakob Persson (http://www.eddingschronicles.com). Stone textures by Patty Herford.


Start Your Own Video Sharing Site

Free Web Hosting | Free Forum Hosting | FlashWebHost.com | Image Hosting | Photo Gallery | FreeMarriage.com

Powered by PhpBBweb.com, setup your forum now!
For Support, visit Forums.BizHat.com