Dink's World
I'm working on a D-mod that has not really an end. The idea is that you have beside some quests, totally free control of what to do. Just train a bit, raise money for better weapons. Explore new areas and make yourself ready for a quest. I'm only not that good with graphics...
Give some comments if you like...
** Dink's World is just the bèta name **
Give some comments if you like...
** Dink's World is just the bèta name **
You don't realy need to be good with graphics, in fact, some graphics in the dink folder have harly ever been used! After making a few subquest you may decide one or more can expand into something big. That the great thing about dink is that you can make whatever you want

That's the cool point
, I start making a dmod that should be short and a month later I'm cursing the dink engine for having a limit on the screens you make :/, the best improvments to the enigine should be, more screens and a easier graphics system, caus e it took many time to understand dink.ini (also, here I don't like limits too I just wanted too start a dmod containing all creatures that ever appaered in a dmod
)


WINDMERED!!
the ugly one: "Ah! my global variable count and screne limit"
the ugly one: "Ah! my global variable count and screne limit"
I've got a big problem with empty graphic space... So, I've been thinking which creatures do you think should really excist in a dmod with as many creatures ever appeared in a dmod?
ok, I've made graphics of the forum submit button for the funquest with Tal. (If you find the DN-city...). I'm wondering how this game will be at the ending...
The quest where you have to kill the leader of the evil posters is finished. One question for it, who do you want to be the leader. So, name a dinker...
hmm, i don't have the goblin women graphics... where can I get them? Or are there other votes?
"Wonders what illusivefing is up to now??" (must want something?)
>^..^<
>^..^<
I'd like to see such a free world where there's not really a point. There would have to be enough unique areas and weapons/items/magic to keep things interested though.
And you should keep expansions to the world in mind unless you want people to start over each time you expand the world.
And you should keep expansions to the world in mind unless you want people to start over each time you expand the world.
I want to keep it as much a free world, but it contains some stupid quest, as idiot as me
. But how do you create a good expansion on the map without forcing someone to restart?

Hmmm, I think your biggest problem is the variable limit (at least with the current version of the engine). As tracking quests is usually done with global variables.
Seeing as how there is a limit on the total number of variables (248 I think) per screen and all active scripts for that screen - you could try using the concept of "supervariables" - so that you only need one variable for each 3 quests... working along the lines of each quest has maximum of 100 possible plot points:
&quest = ...
Quest 1 uses values 0 to 99
Quest 2 uses values 1000 to 99000
Quest 3 uses values 100000 to 9900000
etc
And I'd recommned using redink.exe ver 0.04 as it supports extra math functios which make tracking these numbers a little easier.
So plot points for Quest 1 are
0, 1, 2, 3, 4, 5, 6, 7.... up to 99
Plot points for Quest 2 are (units of 100)
100, 200, 300, 400, 500 up to 9,900
Plot points for Quest 3 are (units of 10,000)
10,000; 20,000; 30,000; 40,000; up to 990,000
So if &quest equals:
49,856
Then
Quest 1 is at plot point 56
Quest 2 is at plot point 98
Quest 3 is at plot point 4
Quest 3 advances one story plot point and &quest becomes
59,856
Quest 1 advances one story plot point and &quest becomes
59,857
Quest 2 then advances one story plot point and finishes so &quest becomes
59,957
Of course you don't need to use all 0-99 plot points, but I think having only 10 (which would mean more quests per supervariable) may be too restrictive.
Seeing as how there is a limit on the total number of variables (248 I think) per screen and all active scripts for that screen - you could try using the concept of "supervariables" - so that you only need one variable for each 3 quests... working along the lines of each quest has maximum of 100 possible plot points:
&quest = ...
Quest 1 uses values 0 to 99
Quest 2 uses values 1000 to 99000
Quest 3 uses values 100000 to 9900000
etc
And I'd recommned using redink.exe ver 0.04 as it supports extra math functios which make tracking these numbers a little easier.
So plot points for Quest 1 are
0, 1, 2, 3, 4, 5, 6, 7.... up to 99
Plot points for Quest 2 are (units of 100)
100, 200, 300, 400, 500 up to 9,900
Plot points for Quest 3 are (units of 10,000)
10,000; 20,000; 30,000; 40,000; up to 990,000
So if &quest equals:
49,856
Then
Quest 1 is at plot point 56
Quest 2 is at plot point 98
Quest 3 is at plot point 4
Quest 3 advances one story plot point and &quest becomes
59,856
Quest 1 advances one story plot point and &quest becomes
59,857
Quest 2 then advances one story plot point and finishes so &quest becomes
59,957
Of course you don't need to use all 0-99 plot points, but I think having only 10 (which would mean more quests per supervariable) may be too restrictive.
I use redink and I have been looking good at other scripts, but in quests I most times just use if (&q1 == 2) etc, how do I change that variable, or can the dink engine handle string so that I can say the last 2 numbers?
I think the question is 'how can I check a part of a variable?'
So.. the variable &quest is 12345 - how can I check if the last part is 45?
So.. the variable &quest is 12345 - how can I check if the last part is 45?
int &quest = 12345;
int &crap = ?
&crap / 100;
&crap * 100;
int &brap = ?
&brap -= &crap;
&brap is now 45
The trick is that Dink loses the fraction when dividing, so 12345/100 will give 123 and not 123.45.
Multiply 123 by 100, and you'll get 12300, substract 12300 from 12345, and you'll end up having 45.
EDIT: This works in the original Dink, I don't know what other math functions reDink might have that could make this easier for you.
int &crap = ?
&crap / 100;
&crap * 100;
int &brap = ?
&brap -= &crap;
&brap is now 45
The trick is that Dink loses the fraction when dividing, so 12345/100 will give 123 and not 123.45.
Multiply 123 by 100, and you'll get 12300, substract 12300 from 12345, and you'll end up having 45.
EDIT: This works in the original Dink, I don't know what other math functions reDink might have that could make this easier for you.
So if I'm correct it's:
if &quest is 12345
for 45:
int &crap = ?
&crap / 100;
&crap * 100;
int &brap = ?
&brap -= &crap;
for 23:
int &crap = ?
&crap / 100;
int &brap = &crap;
&crap / 100;
&crap * 100;
&brap -= &crap;
for 01:
int &crap = ?
&crap / 10000;
int &brap = &crap;
if &quest is 12345
for 45:
int &crap = ?
&crap / 100;
&crap * 100;
int &brap = ?
&brap -= &crap;
for 23:
int &crap = ?
&crap / 100;
int &brap = &crap;
&crap / 100;
&crap * 100;
&brap -= &crap;
for 01:
int &crap = ?
&crap / 10000;
int &brap = &crap;