I AM a noob who need help with how to make a Plug in...

you see it started off with me wanting to make a plug which enabled you to chose any color you wanter for your crafts. I Dl mission computer and sat down to the bible. I read like half and thought I would start with what I know. but then I came across the problem I had NO Idea what I was doing. I simply didnt understand what everything was. If help can be provided thx. Plz dont say "go search" and if you have a page which could help me understand what to do a little better Thx also...

------------------
O.

Let me give a basic explanation of how plugs and the bible works.

All the things in nova consist of resources , this is a set of data that determines how things looks , how things are etc... . Lets take the example of a ship , in this resource (called shďp for obvious reasons) , each field tells you something about the ship , for example how fast it moves , or how fast it turns , or what weapons it carries. Now you can't just start filling in random names in the fields , like if I want my ship to have a blaster I can't type "blaster" into the weapon field , no the way it works if by ID's. You see each resource has a number to indentify it , these numbers start at 128 and go up to a certain number (that bible tells you exactly how high it can go). SO say if a blaster has ID 128 , then there will be a field in the shďp resource where you can fill in 128 and then that ship will have that weapon. Also if you open for example an existing shďp and want to see what weapons it has you see the ID number , then go to the wëaps(weapons) and look up the ID number and see what weapon it belongs too.

Now you also have other fields like say turning speed , you need to enter a specific number here , say from 1 to 100 (this is an example not the real thing) wheer 1 is slow turning and 100 fast , this is different for each field somewhat.

Now what the bible does is explain what values you can put in each field (ID or other value) and what exactly that field sais about the ship (or any other resource).

Now you best bet would be to open a Nova Data resource , then say copy for example the shuttle (a shďp resource) and start a new plugin paste it in there and start changing some number (look in the bible for what to change and what range of values you can use) , you could say change the speed of the shďp drastically and then save it , drop in the plugin folder and buy a shuttle and see what happens. This you can do with quite a number of resources , just look in the bible , copy one from the datafiles into a new plug (don't edit them directly) change it and see what it does. Do this to get familiar with the
entire sytem.

You also might find (url="http://"http://www.ambrosiasw.com/webboard/Forum9/HTML/005471.html#")this(/url) topic handy.

I wish you best of luck with your efforts and welcome to the boards and EV developing!! 🙂

Entarus,

------------------
"Don't wait for your life to happen , find something you are happy with and do it"
(url="http://"http://www.ariossoftware.com/products/evone/")EVONE 1.0pb2 - the plugin editor for EV/EVO/EVN(/url) -- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&urgaylol;=yes")EV Developer's Corner(/url)

(This message has been edited by Entarus (edited 08-18-2004).)

A little extra , you'll eventually run into mission/nova control bits , I once wrote a guide for them , I'll repost it here again for your convience. 🙂

Entarus,

----------------------------------
A explanation of Nova Control Bits

Here follows an explantion of nova control bits. Bits we’re also available in previous versions of EV , but in nova they became much more powerful but also more difficult. Control bits are an essential part of making things happen in Nova, so I suggest you read trough this section carefully. I use parts from the EVN bible and explain each part.

- In Nova there are 10000 Nova Control bits (nbc’s). Control bits are accessed through logical expressions that allow powerful and logical scripting. These expressions are divided into two types test and set.

Test
These are boolean expressions(Boolean means that they can be TRUE or FALSE) that are used to determine when something happens; for example, when a mission is to be offered, or when a particular ship should be made available for purchase. In general, if the logical expression defined in a given test expression field evaluates to be true (nonzero), the associated property will be activated (mission becomes available, ship appears, etc ).

Lets explain this with an example :

We have made a ship , and want to add this into our plug , but we don’t want to give it to the player right away. He must complete a difficult mission before he’s is allowed to buy the ship.

We can use nbc’s to accomplish this. We will use the Availability field of the ship resource for this. It’s a test field we enter a ceratin expression in to the field. The player will be able to purchase our type of ship when the expression evaluates to true.

We decide to use bit 4999 for this.

-In the mission’s OnSuccess field( it’s a SET field , as explained below) we enter the following : b4999

-In the Availability field in the ship resource we enter the same :
b4999

Lets see what happens : All bits are turned off as default. So we presume bit 4999 is unused and its turned off. When the player completes the mission , the Onsuccess field will be exectuted. This means that bit 4999 will be turned ON. Remember that our Availability field tested for bit 4999 to be true (ON)? So when bit 4999 is turned on the ship will appear , because all conditions are met. The ship will not appear as long as bit 4999 is false (OFF). You can use all SET fields to turn 4999 ON after a certain event.

There are several terms and operators to test. Lets have a look at them :

bxxx Lookup the value of control bit xxx. Bits are numbered from b0 to b9999.
pxxx Check if the game is registered ((P)aid for) ... evaluates to 1 if
the game is registered or is unregistered but less than xxx days have
elapsed. Evaluates to 0 only if unregistered for more than xxx days.

G Lookup the player's gender - 1 if male, 0 if female

Oxxx Returns 1 if the player has at least one of outfit item ID xxx, 0 if not

Exxx Returns 1 if the player has explored system ID xxx, 0 if not

| Logical or operator

Can be used to test if an expression is
true OR the an other expression is true.

& Logical and operator

Can be used to test if an expression is
true AND another expression is true.

! Logical negation operator

Can be used to test if an
expression is FALSE

( ) Parenthetical enclosure

The Nova evaluator is fairly primitive, it may do unpredictable
things if you give it an expression like b1 & b2 | b3 ... instead, use proper
parentheses to make it b1 & (b2 | b3) or (b1 & b2) | b3, as appropriate.

Let see this in two examples :

b13 & (b15 | !b72)

This will test if bit 13 is true , and either bit 15 is true or bit 72 is false. If both conditions are met the associated property will be activated .

!(B42 | B53) & b103

This will test if either bit 42 is false or bit 53 is false and if bit 103 is true. If both conditions are met the associated property will be activated .

Note that if you leave the field for a test expression blank, it will
evaluate to true as a default.

Also note: The Oxxx operator also considers any carried fighters that are
deployed when it examines the player's current list of outfits, although this
feature may be confused if presented with a universe that includes multiple
fighter bay weapons that launch the same ship type, or different outfits that
grant the same fighter bay ammo.
Set

We’ve briefly touched SET expressions in our first example. Now we will go into detail. The following text comes STRAIGHT from the EVN bible.

Always read the EVN bible , it’s a very important tool.

These are simpler than the test expressions... basically all you are doing here is listing what bits you want to be modified when the expression in a give field is invoked. This will happen when the player does something (completes a
mission, buys an item, etc.) as defined by the other resources. The syntax of set expressions is best illustrated by an example:

b1 b2 !b3 ^b4

In this set expression, bits 1 and 2 will be set, bit 3 will be cleared, and bit4 will be toggled to the opposite of whatever it was previously. No parentheses
are supported for set expressions. Note that if you leave a set expression
blank, no control bits will be altered.

n this set expression, bits 1 and 2 will be set, bit 3 will be cleared, and bit
4 will be toggled to the opposite of whatever it was previously. No parentheses
are supported for set expressions. Note that if you leave a set expression
blank, no control bits will be altered.

One other feature of the set expression is the ability to make random decisions.
By specifying R(<op1> <op2> ) you can make Nova randomly pick one of the two
possible choices and execute it, skipping the other one. For example:

b1 R(b2 !b3)

...this expression will set bit 1, and then either set bit 2 or clear bit 3,
but not both at once. Which operation will be picked is completely random, which
allows for the design of interesting mission strings that branch unpredictably.

There are also a number of other operators that allow you to do many interesting
things:

Axxx - if mission ID xxx is currently active, abort it.

Fxxx - if mission ID xxx is currently active, cause it to fail.

Sxxx - start mission ID xxx automatically.

Gxxx - grant one of outfit item ID xxx to the player

Dxxx - remove (Delete) one of outfit item ID xxx from the player

Mxxx - move the player to system xxx. The player will be put on top of the
first stellar in the system, or in the center of the system if no
stellars exist there.

Nxxx - move the player to system xxx. The player will remain at the same
x/y coordinates, relative to the center of the system.

Cxxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and won't be given any of the default
weapons or items that come with ship type xxx.

Exxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and will also be given all of the default
weapons and items that come with ship type xxx.

Hxxx - change the player's ship to ship type (ID) xxx. The player will lose
Any nonpersistent outfit items he previously had, but will be given all of the default weapons and items that come with ship type xxx.

Kxxx - activate rank ID xxx.

Lxxx - deactivate rank ID xxx.

Pxxx - play sound with ID xxx.

Yxxx - destroy stellar ID xxx.

Uxxx - regenerate (Un-destroy) stellar ID xxx.

Qxxx - make the player immediately leave (absquatulate) whatever stellar he's
landed on and return to space, and show a message at the bottom of the
screen. The message is randomly selected from the STR# resource with
ID xxx, and is parsed for mission text tags (e.g. <PSN> and <PRK> )
but not text-selection tags like those above (e.g. {G "he" "she"} )
(see dësc and mďsn resource descriptions for more examples)

Txxx - change the name (Title) of the player's ship to a string randomly
selected from STR# resource ID xxx. The previous ship name will be
substituted for any '*' characters which are encountered in the
new string.

Xxxx - make system ID xxx be explored.

------------------
"Don't wait for your life to happen , find something you are happy with and do it"
(url="http://"http://www.ariossoftware.com/products/evone/")EVONE 1.0pb2 - the plugin editor for EV/EVO/EVN(/url) -- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&urgaylol;=yes")EV Developer's Corner(/url)

Man I would shake your hand and give you 100 bucks but frankly we are talking thorugh comps so NO DICE. THX ALOT FOR INFO. YOU ROX

------------------
O.

Quote

Originally posted by Oly:
**you see it started off with me wanting to make a plug which enabled you to chose any color you wanter for your crafts. I Dl mission computer and sat down to the bible. I read like half and thought I would start with what I know. but then I came across the problem I had NO Idea what I was doing. I simply didnt understand what everything was. If help can be provided thx. Plz dont say "go search" and if you have a page which could help me understand what to do a little better Thx also...

**

Ok, various colors for your ship sounds like you'll want to use a plugin which adds some paint outfits. In the oütf resource, which stands for outfit, you can modify what you want the outfit to do. There is an option to make the outfit a paint outfit. You can specify which color you want the outfit to make your ship using HTML color values I believe.
If you want a really good example to use to help you, see if you can get a plugin made by ArcAngelCounterstrike, called AAC Paint Station Prime. Open it with MC and look at some of the outfits.

------------------
Play Marathon again! (url="http://"http://source.bungie.org/")Aleph One.(/url) Ask me if you have a question or need help.

what program do I use to open data recourses with?
Just go through what ever you do. open file with... save as... copy with... remeber I have mac osx

------------------
O.

(This message has been edited by Oly (edited 08-18-2004).)

Quote

Originally posted by Oly:
**what program do I use to open data recourses with?
Just go through what ever you do. open file with... save as... copy with... remeber I have mac osx

**

Mission Computer or any other plugin editor. They can open and modify any resource used in plugins. Load MC, click on Make a New Nova Plugin or Open A Plugin, and you'll see you have a window with a list of all the data resources MC can edit.
PS: Found the link for AAC Paint station prime. (url="http://"http://www.AmbrosiaSW.com/cgi-bin/vftp/show.pl?product=evn&category;=plugins&display;=downloads&file;=AACPaintStationPrime.sit.hqx")http://www.AmbrosiaS...onPrime.sit.hqx(/url)
That may or may not work, since Ambrosia file server is messed up right now.

------------------
Play Marathon again! (url="http://"http://source.bungie.org/")Aleph One.(/url) Ask me if you have a question or need help.

(This message has been edited by WraithSniper (edited 08-18-2004).)

hmm when I press on oütf or any other thing like it it just says "new" and when I press on that it says

------------------
O.

I sat down to a copy of Nova Ships 4 and then I found out I know even less than before. I dont know like 99% of what to do... if you make an example of how to make a new gun?

------------------
O.

Wraith and E. thx for help but the more you talk the less I know.

------------------
O.

Keep trying. Everyone else here has managed to figure out how plugins work without needing endless, ever-more-simple explanations from others. All it takes is some effort - compare what you're doing with existing resources, and just change small parts and see the effect. Soon enough I'm sure you'll manage to figure out what does what. You've asked a lot of questions and received a lot of answers - it might be time to rely on yourself a bit more. 🙂

------------------
-- ** (url="http://"http://www.mazca.com/")Mazca(/url)**

I am quite sure I need step by step guidance...

------------------
O.

ok, I would suggest that you download EVNEW or the nova editor first, as when you want to start making more advanced plugins you don't need to learn how to use them then. after that, you need to install the editor. first download EVNEW if you have a windows and the nova editor if you have a mac. you need to install it and I know that with EVNEW it's really easy, but I could never figure out how to do it on the mac. next you want to open the editor. this should bring a new window up. Now you need to go to the ouft. rescorse, select it and that'll bring up another blank page. now you can go the the bible for help at this point, as it would be very confusing to explain.

remember, the more you use the editor, the more you'll understand it. I started plugin making about a month ago and I'm beginning to get more adept already.

------------------

also if you need more help you can E-mail me. I usually send replies quickly.

------------------

You don't need step-by-step guidance. If you seriosuly do, you shouldn't be trying to make plug-ins. Nobody is going to baby you all the time whenever you need to make a plug-in; otherwise, you're basically asking them to do everything for you, which defeats the purpose of making them yourself.

------------------
The programmer's code of entomology: there's always another bug.
There are 10 types of people in the world: those who understand binary and those who have friends.
Windows users: stop asking for plugins. (url="http://"http://www.aznt.com/EVN/EVNEW/")Make one yourself.(/url)
(url="http://"http://www.cwssoftware.com")Sephil Saga Website(/url) | (url="http://"http://www.evula.org/infernostudios/search.html")Add-ons Search Engine(/url)

yeah I know I was being sarcastic...

------------------
O.

Just for future reference, sarcasm doesn't transfer very well over a text medium. It can be done, of course, but I've only seen a few authors that can do it successfully without going completely over-the-top.

~ SP

------------------
Fear the SpacePirate,
He made a (url="http://"http://www.evula.org/infernostudios/search.html")plug-in search page(/url)...
And he'll board your ship!
-mrxak
*** (url="http://"http://www.evula.org/infernostudios/")InfernoStudios(/url) was last updated 06 June, 2004. ***

If you're being sarcastic, use a smilie to denote it. Tones are lost in text, do we don't know when you're being sdarcastcor not. :), ;), and 😛 are good ones to use for sarcasm.

------------------
The programmer's code of entomology: there's always another bug.
There are 10 types of people in the world: those who understand binary and those who have friends.
Windows users: stop asking for plugins. (url="http://"http://www.aznt.com/EVN/EVNEW/")Make one yourself.(/url)
(url="http://"http://www.cwssoftware.com")Sephil Saga Website(/url) | (url="http://"http://www.evula.org/infernostudios/search.html")Add-ons Search Engine(/url)

:rolleyes: is good for mean sarcasm, too. 🙂

------------------
(url="http://"http://themidlands.net/"))The Midlands(/url)