Recent Posts

Pages: 1 ... 5 6 [7] 8 9 10
61
TextTileWorker / SAILMAKING
« Last post by Molly on November 15, 2015, 12:52:47 pm »
For SAILMAKING, you need to be in a Sailmaker’s Workshop, where there is a large enough working table and a vat for impregnating the cloth.

Sailmaking is a rather complex profession, and you can make several types of both sails and tents. The choice of whether to make a sail or a tent is yours, but what actually comes out of it as an end product will depend on your skill level. (I will say no more about this now, just that some of the end products are really useful, and will probably interest both yourself and other players).

There are step-by-step instructions of what to do in the Workshop, both on signs and on the working table.

The first step is to IMPREGNATE the cloth to turn it into wind- and waterproof SAILCLOTH. You use either linen or cotton cloth, and add a lump of RESIN to the water in the vat, before putting the cloth into it. (The resin can be tapped from the trunk of a fir tree).

Next you need to CUT the sailcloth into strips of the correct length and shape, using the patterns already drawn on the floor, for either a sail or a tent. You WIELD a SCISSOR, HOLD the roll of SAILCLOTH and CUT SAIL or CUT TENT.

After this it’s time to PUT the pieces of sailcloth into the working table, where it must stay during the entire procedure. Taking it out too early might ruin all the work you already put down on it.

The TOOLS you use as a Sailmaker vary with the stage of production. Generally you WIELD the primary tool and HOLD the secondary one.

To SEW the seams, you need to WIELD an IRON NEEDLE, threaded with HEMP TWINE, and WEAR a SAILMAKER'S PALM to help pressing the needle through all the layers of cloth. Sometimes, if the needle gets stuck, you may also need a pair of TWEEZERS to PULL the needle through.
 
When the seams are done, you WIELD a SEAM-RUBBER to RUB them down,

For ROPELINING, which is the final step, you first need to WIELD a MARLIN SPIKE to PRICK the holes through thick seams around the edges. Then you WIELD the threaded needle again, and HOLD a THINROPE, to ropeline the sail or tent.
62
TextTileWorker / ENHANCEMENTS - (EMBROIDERY AND LACEMAKING)
« Last post by Molly on November 15, 2015, 12:38:06 pm »
For both these professions you will find the tools and material in workshop belonging to the Nunnery of the Little Sisters east of Olde Yorke.
For EMBROIDERY you need an embroidery frame, a gold needle, threaded with silk or metal thread, and a gold thimble.
There are 3 kinds of Embroidered Edgings that you can make, depending on whether you use SILK, GOLD or SILVER THREAD. Each has different properties, which they will pass on to the garment you enhance them with. The silk thread you can produce yourself, the gold and silver thread is produced by Metalworkers. Until some Metalworkers establish themselves in Olde Yorke, you might be lucky enough to find some thread with some goldsmith somewhere.
To embroider, you first THREAD the gold needle with the thread of your choice, then WIELD the needle, WEAR the thimble on your finger and HOLD the frame.
The command is EMBROIDER.
You can also make PEARLSTITCHED EDGINGS. For this you first need to PUT 10 pearls into the Embroidery Frame. The size and colour of the pearls doesn't matter.
The command then is PEARLSTITCH.
For LACEMAKING you need a LACEMAKERS PILLOW, some BOBBINS, and a skein of LINEN THREAD.
You WIELD the bobbins, HOLD the pillow and have the extra thread in INVENTORY.
The command is LACEMAKE.
In the long run all these products are meant to ENHANCE the garment that you’ll be able to make yourself later. For now however, there are some clothes shops that will buy both embroideries and lace for TP
63
TextTileWorker / TEXTILE PRODUCTS AND BUYERS
« Last post by Molly on November 15, 2015, 12:26:52 pm »
There are several shops and other traders all over the Realms that will buy your crafted products for TP or Tokens.
A sign in the room will show their preferences and prices.
Below is a list of the Traders.
 ---------------------------------------------------------------
TWINE, ROPE, SAILCLOTH
Sail Maker                                (Crete)       
Ship's Merchant                       (Crete)
Ship's Wharf                            (Crete)
A Small Shipyard                      (Astypalea)
A Ships' Chandlery                  (Carpathos)
--------------------------------------------------
THREAD, TWINE, CLOTH, THINROPE, SACKS, OIL
Gordon's General Store          (Olde Yorke)   
Hayholt's General Store          (Osten Ard)
General Stores                        (Rip in Time)
Grumville General Store          (Dragon Island)
Grom'lok's General Supplies    (Necromunda)
General Store                          (Mount Winter)
The General Store                   (Elven Metropolis)
General Store                          (Dodge City)
The General Store                   (Dry Gulch)
The General Store                  (Sutter's Fort)
Brannan's General Store         (California Trails)
(The OldWest stores will also be buying tents).
----------------------------------------------------
THREAD, CLOTH,GARMENTS AND ENHANCEMENTS
Silk And Satin Clothes Shop     (Olde Yorke
The Ladies' Choice                  (Osten Ard)
The Millinary Shop                   (Dry Gulch)
Millie's Dress Shop                  (Dry Gulch)
 Ribbons And Lace                  (Victorian London)
----------------------------------------------------
GARMENTS ONLY
Finest Fashion Boutique          (Utopia)
My Fair Lady Bridal Shoppe      (Utopia)
The Gentlemen's Emporium     (Utopia)
Tailor Shop                              (Rip In Time)
-----------------------------------------------------
ORGANIC OIL
Weaponsmiths               (Prehistoric and Medieval)
-----------------------------------------------------
LINSEED CAKES
Farmers                                  (OldWest)
64
Scripting Board / Re: What are arrays, and why should we use them?
« Last post by erwin on October 27, 2015, 11:44:43 am »
Yeah, it would be nice to have our own wiki.

I like the reference as a basis reference, but there are some 4D unique functions (dg_letter, mod, etc) which aren't there, nor 4D specific fields (helper, hero, etc).
65
Scripting Board / Re: What are arrays, and why should we use them?
« Last post by rynald on October 26, 2015, 02:36:05 pm »
There aren't many commands that aren't mentioned in the help files or in the reference at http://old.tbamud.com/Oasis_DG_pages/. Having our own wiki would be nice though.
66
Scripting Board / Re: What are arrays, and why should we use them?
« Last post by erwin on October 25, 2015, 10:41:59 pm »
on second thought, is there a nice page / link / helpfile / command to show all such DG functions / fields?
67
Scripting Board / Re: What are arrays, and why should we use them?
« Last post by erwin on October 25, 2015, 10:39:28 pm »
rynald you are the best :)
68
Scripting Board / Re: What are arrays, and why should we use them?
« Last post by rynald on October 25, 2015, 05:28:10 pm »
After the next update you can do

Code: [Select]
eval s some words
insert_word just 1 s
%echo% %s%
replace_word three 2 s
%echo% %s%
%echo% %s.word_count%
%echo% %s.wordat(3)%

which gives:

just some words
just three words
3
words

(wordat already exists)
69
Scripting Board / What are arrays, and why should we use them?
« Last post by erwin on October 24, 2015, 02:40:34 am »
Molly asked!

The easiest way to think of arrays (in a non coding context) is to think of sentences. For example, most variables are set to "one word / one number / one character" values.

PS. I'm not sure if they exist, but are there dg "replace" code which replaces items / characters in an array/string, as well as dg_code to find the length of the array? If yes, could any coders give the syntax, much appreciated! If not, would it be possible to code it in? Thanks!

PPS. Hashsets in DG?

Code: [Select]
* Disclaimer: These are not real quest variables, but how things could be
robinhooddagger: done
killedgreenie: 1
highscore: 12345
gotvoucher1: yes
gotvoucher2: yes
gotvoucher3: yes
gotvoucher4: yes
gotvoucher5: yes

But variables with "one word / one number / one character" entries give too much clutter - eg type vstat player virisin. One solution would be to store arrays as variables, and make the array as intuitive sounding as possible.

For example, here are some variables as arrays. Which one do you think is more intuitive?

Code: [Select]
helpervoucher: to be or not to be
helpervoucher: 1 0 0 1 1
helpervoucher: yes yes no no yes
helpervoucher: found found notfound found notfound


So here are two ways how to use arrays, for simple quests.

One way is to store items found on one variable. Eg, you might have a quest that wanted you to find five items.
Code: [Select]
*Do something to trigger the quest
set myfirstquest notfound notfound notfound notfound notfound incomplete
remote myfirstquest %actor.id%

* This gives a variable that looks like this
myfirstquest: notfound notfound notfound notfound notfound incomplete

Now, we simply change the appropriate "word" in the variable. If the player finds the third item, then we just change the third notfound to found. If the player has completed this quest at least once, then we change the incomplete to complete.


A second way that arrays can be used is to store things on a trigger. For example, you might have a quest that wants you to give the mob some grapes. But there are lots of grapes. One possible trigger could be:
Code: [Select]
if (%object.vnum == 10) || (%object.vnum == 11) || (%object.vnum% == 12)
  do something
endif

However, this becomes clunky if there are lots of possible objects. Furthermore, there's a max number of characters per line. Here's a cleaner way
Code: [Select]
set correctobjects 10 11 12

* Technically, don't need numobjects unless you want to be fancy
* Could always set numobjects = 3 manually below
set numobjects 3


set j 0
while %j% < %numobjects%
  eval j %j% + 1
  * This extracts the jth number of correctobjects.
  * If j is 1, it will get the number 10. If j = 2, it will get the number 11. If j = 3, it will get 12
  extract objecttocheck %j% %correctobjects%
  if %objecttocheck% == %object.vnum%
    %echo% Correct object, hooray
    set gotcorrect 1
  endif
done

if !%gotcorrect%
  %echo% We didn't get a correct object.
endif

You might say: "Hey, this actually results in a more lines." Yes, you're right, it does. But there are three advantages to this.

First advantage - You only need to edit the variables numobjects and correctobjects. For example, if you added a new vnum 12345 you just need
Code: [Select]
set correctobjects 10 11 12 12345
set numobjects 4
compared to
Code: [Select]
if (%object.vnum == 10) || (%object.vnum == 11) || (%object.vnum% == 12) || (%object.vnum% == 12345)
There's fewer chances of mistakes, even though it's just changing one line. Furthermore, some clients have terrible wrapping, and you might get
Code: [Select]
if (%object.vnum == 10) || (%object.vnum == 11) || (%object.vnum%
 == 12) || (%object.vnum% == 12345)
which screws up the code.

Second advantage: There's only a maximum number of characters per line. It's harder to go over the limit using arrays.

Third advantage: If the quest wasn't just to give grapes, but to give grapes, nuts, clothes, gems, etc, then you'd be repeating a lot of code. Take a look at http://4dimensions.org/forum/index.php/topic,682.msg6927.html#msg6927

It's just easier to edit the first part - everything else follows automatically from the code. For example:
Code: [Select]
Note Number:   9
       From:  Tor
    Subject:  Quest doesn't work
     Posted:  Tue Oct 21 03:23:42 2015
         To:  imm
=================================================

The questmob wanted a list of items.
1. An emerald
2. A ruby
3. A garnet
4. An onyx

However, I gave the mob some items, such as
emerald from Thandar, Arabian Desert, Flying Fortress
ruby from Dragon Island ...
garnet from ....
onyx from ...

If you've received this note, and the builder didn't use arrays you could edit the trigger, which would take extremely long - because you want to search through the script to find where the if statements occur, find the syntax the builder used, and add them in.

Or, if the builder just used an array like the trigger of the day, all you need to do is to just
Code: [Select]
set questitem1 123 153 167 14678 21563
set questitem2 642 7434 2359 4928 9872
set questitem3 6982 7939 1765 53

and it's fixed!
70
Scripting Board / Re: Card Game Functions
« Last post by Diandra on October 24, 2015, 02:17:45 am »
Rynald recently looked it up:

The trigger size limit is 24576 bytes (or characters).
Pages: 1 ... 5 6 [7] 8 9 10