• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Help me with suggestions to my Quest OTS.

Looks nice but i think the best way/without bugs i think to make a script
that weapons need a certain voc, and on the highscore list need a certain voc
why?

If Knight lvl 100 with skills 100/100 change to a mage then the mage still got 80/80 wich is very awesome. And a highscore that knight weapon skills only will be showed for knights you know? Or you could make it that onchange of vocation that all the skills are gone or a formula X skills = X m lvl?

The script I gave there was only from no vocation to warrior/knight.

If a sorcerer/mage changes vocation in to a warrior the magic level would be resetted. And if a knight would swap into a sorcerer his physical skills would get a reset.
 
hehe nice job then i also had this project looong ago but those were times i never could finish a map(8.2), I wanted also each voc starts on their own vocation, with loads of custom spells etc... i remember the mages city looked with that black wall and something like that and a lot dried grass spawns around the city etc. Its nice to see anyone with the same idea i wanna help you with mapping but i am not that awesome RPG mapper just oldschool mapping style, i can also script but i cant make that good scripts on advanced scripts. But it is hard too help you know my server and my secret(still have to show my sprites) you know but i wish you good luck :p
 
There are different groups of NPCs. (Suggestions for groups please...)
These groups gives you quests and missions, if you succeed these tasks you will grant access to special places only for this group.

Be careful when choosing groups, because another group might dislike you, and may occasionally do ambush attacks on you!

This happens especially if you have done any tasks which sabotages the other group!
So that means that you might make a unique "Like/Disliked System" in your NPC libs? Something like Morrowind's and Oblivion's systems?

Town 3 suggestion:
Maybe try using scarab coins?

loose big amounts of blood.
I thought of something awesome and that is to make Unique "conditions" and these are:
Cut/Wound = a wounded player will lose a very small amount of HP till wound is healed. Weapons that apply are: Swords and most of all types of Distance weapons.
Bruise = a bruised player will have lower skills for a certain amount of times or until bruise is treated. Weapons that apply are: Clubs and Stones(only blunt weapon for an archer).
Amputation = Basically it means instant death, the chance of getting this, is extremely small, 0.3% at a low skill, highest should be at 2%. Weapons that apply are: Swords and Axe, Axe having an extra chance to amputate.
Head Shot/Skull Bash = will kill instantly, destroying any helmet that player has on, same rules apply as amputation, none get an extra bonus: Weapons that apply are: Distance and Clubs.

Master Suggestion:
The War Veteran = He will be a crazy kind of fellow that has seen more than 10,000 wars in his life time and now he teaches warriors all what he has learned, he's one guy no one wants to mess with!
 
Love your ideas Shinmaru! I just continued working on this project a bit today:
Btw the server is very inspired by Fable "Every action you do has a consequence".

Secret Fishing NPC:
Hello there! Ohh you found my secret fishing spot! Please dont tell anyone about it alright? It is very important! Hey, you know what, I will give you a few gold coins to keeep your mouth shut. You can also come here and fish some, this is the best fishing spot near <Twinpass trading district.> Ohh and by the way, if you got time to <help> me, I would highly appreciate it!

twinpass trading district:
Didnt you come from twinpass trading district? The trading district is right to the east from here, there is a secret passage to it. There are many merchants there, many merchants travel between trading districts to sell their resources.

<help>
Ohh yeah, I am running out of worms, and my luck never ends here! I dont ever want to leave this spot. So if you bother, do you want to sell a few fishes and buy some worms for me?
<yes>
Alright! Thats awesome! Here are 10 fishes, sell them in the trading district and come back with 30 worms, if you are a good merchant and manage to sell fishes for a high price, you can keep the leftovers!

I created twinpass trading district and some areas around it.

Another fishman NPC at a much poorer fishing location near twinpass trading district:

poor location fisherman NPC:
I wish this twinpass to be thicker so it would be better to fish here. I heard rumours saying there should be a much better location, but I havent found it. If you happen to know anything, please tell me!

Worm NPC:
Twinpass trading district is very popular for their exeptional good fishes! Its so good that I decided to participate in this district to help the fishermans around here. I made this special unique cave, and filled it with lots of rotten cheese! In hope of many worms to brew in there. The idea was good and the worms kept flowing in, but suddenly! alas, the delicious cheesy smell went straight into the nose of rats! And I hate rats! Now the cave is filled with cheese eating rats! Would you help me out please?
Can you either help me gather 50 worms, or help me kill 50 rats, I am sure to give you a satisfying reward for your good deeds!

NPCs are not made yet though, working on the base maps. Remember I am not a mapper thus far from professional.

twinpassdistrict.PNG
 
Last edited:
I donno if you fixed currency in 3rd town / if anyone said but it could be

Copper Bars
Iron Bars
Silver Bars
Gold Bars
Bronze Bars etc. OR ores :p
 
Ores and minerals, sounds good for a mountain town!
 
nice scripts, bad mapping. =)
ur idead are holy though.

maybe some good ideas:
Season system. maybe something like: every week, 1 month long, the map will change to how it is suppose to be in that season. Like winter~snow. with that u should change the time of day/night, since in the winter the days are less long. also it should be real cool, that u cant buy houses with !buyhouse, but that there would be an npc for it. such would be rl kewl. =)
 
Last edited:
nice scripts, bad mapping. =)
ur idead are holy though.

maybe some good ideas:
Season system. maybe something like: every week, 1 month long, the map will change to how it is suppose to be in that season. Like winter~snow. with that u should change the time of day/night, since in the winter the days are less long. also it should be real cool, that u cant buy houses with !buyhouse, but that there would be an npc for it. such would be rl kewl. =)

NPCs for buying houses, like townkeeper npc in each town sounds great. However I am not a good mapper and I hate mapping and I will have to make several versions of my map to fit seasons, no thx. D:
 
I just learned how to use the new Jiddos NPC system (XML and LUA in one file) similar to mods. Finally ahaha. Starting on making the cool NPCs now. :)

Only Humanoids on this server will drop gold coins!
Many monsters like Stone Golen will drop stone minerals, however, these minerals are currency, and can be used as "money" in the mountain town.

I'm atm making huge NPCs with 10 - 20 interactions minimum and tons of neat quests. Not just "go kill xx monsters, come back and get a new killing monsterm ission". But much more RPG'ish, deliver, trading, adventuring chain quests. Also implementing my unique reputation system into the NPCs, so you need to gain town reputation to talk to some NPC and stuff. :) Been scripting whole day.

Hahah, I just died because I starved to death. <---- Was scripting while I was logging in, my poor tibia character starved to death after 4 tibia days without food. :p
 
Last edited:
Lets take a sneak peak at some more of my scripts. :)

Made a great sample script which is highly extendable.

Basically it can be used for anything. D:
Daily quest, repairing NPCs where you actually gotta wait for him to repair the item instead of "instant", limit so etc Senior Tutors only can broadcast 1 MSG each day to prevent spam, you name it. :p
Lua:
-- sample coded by Znote.
function onSay(cid, words, param, channel)
-- EDIT STUFF BELOW --
secondswait = 70 -- Exhausted time. [How long waiting time until you can release script again]
-- Detailed Info:
-- Support big numbers. (It will convert to minutes or even hours if very high).
-- Sample high output: 1 hour 30 minutes. Or 2 hours 1 minute. 
-- Sample mid output: 17 minutes 10 seconds. 1 minute 1 second.
-- sample low output: 15 seconds. Or: 1 second. Its smart enough to detect if it is etc second or seconds. 
-- Cancel message will say hours, minutes, seconds left etc. 

unusedstorage1 = 66666 -- Just put a random storage value your not using.
unusedstorage2 = 66667 -- Just put a random storage value your not using.

-- The below values are used for cancel message. 
-- If thing = quest and action = do then result will be:
-- "You still have to wait |*timeleft*| before you can ---> do <--- this ---> quest <--- again."
-- (Without the stupid arrows). 
-- 2nd SAMPLE: If action = LOL and thing = NOOB then result will be:
-- "You still have to wait |*timeleft*| before you can LOL this NOOB again.

-- Etc: "do", "say", "redo", "talk to"
action = "do"

-- Etc: "quest", "mission", "magic", "npc"
thing = "quest"

function yourscript()
	-- This is where you should place your own script(s)!
	-- place your script here, scripts inside here can only be
	-- used one time each (configured) seconds. 
	--(depends on what you configured at top).
	doBroadcastMessage("The date is: "..os.date()..".")
	-- Just to test if sample work, run this without any modifications.
	return true
end
-- ALRIGHT YOUR DONE EDITING, SCRIPT READY TO USE! --

-- Dont touch the rest here. Its the "engine". Not supposed to be modified unless you know what your doing.
	timee = getPlayerStorageValue(cid,unusedstorage2) -- will store current time after first run of script.
	if getPlayerStorageValue(cid,unusedstorage1) == -1 then
		addEvent(yourscript,0)
		setPlayerStorageValue(cid,unusedstorage2,(os.time()+secondswait))
		setPlayerStorageValue(cid,unusedstorage1,1)
		return true
	end
	if os.time() >= timee then
		addEvent(yourscript,0)
		setPlayerStorageValue(cid,unusedstorage2,(os.time()+secondswait))
	else
-- calculations
difference = timee - os.time()

hours = (difference / 3600) -- shows double value in hours
h1 = math.floor(hours) --- shows hours in int (etc 2.5 hours = 2 hours)
m1 = ((hours - h1) * 60) -- Sample 2.5 - 2 = 0.5, 0.5 * 60 = result xx mins (calculations from hours)
m2 = (math.floor(m1)) -- int value of minutes

minutes = (difference / 60) -- double value of minutes.
m3 = (math.floor(minutes)) -- int value of minutes
s1 = ((minutes - m2) * 60) -- seconds left, calculations from minutes.
s2 = math.floor(s1) -- int value of s1 calculations.

-- just using definition: difference value as seconds. No calculations needed.
-- /calculations
-- engine depending on calculations


	if difference > 3600 then
--		HOUR CALCULATIONS		--
		if h1 > 1 then
			if m2 > 1 then
				doPlayerSendCancel(cid, "You still have to wait "..h1.." hours "..m2.." minutes before you can "..action.." this "..thing.." again.")
			else
				doPlayerSendCancel(cid, "You still have to wait "..h1.." hours "..m2.." minute before you can "..action.." this "..thing.." again.")
			end
		else
			if m2 > 1 then
				doPlayerSendCancel(cid, "You still have to wait "..h1.." hour "..m2.." minutes before you can "..action.." this "..thing.." again.")
			else
				doPlayerSendCancel(cid, "You still have to wait "..h1.." hour "..m2.." minute before you can "..action.." this "..thing.." again.")
			end
		end
----------------------------------
	else
		if difference > 60 then
--		MINUTE CALCULATIONS		--
			if m3 > 1 then
					if s2 > 1 then
						doPlayerSendCancel(cid, "You still have to wait "..m3.." minutes "..s2.." seconds before you can "..action.." this "..thing.." again.")
					else
						doPlayerSendCancel(cid, "You still have to wait "..m3.." minutes "..s2.." second before you can "..action.." this "..thing.." again.")
					end
				else
					if s2 > 1 then
						doPlayerSendCancel(cid, "You still have to wait "..m3.." minute "..s2.." seconds before you can "..action.." this "..thing.." again.")
					else
						doPlayerSendCancel(cid, "You still have to wait "..m3.." minute "..s2.." second before you can "..action.." this "..thing.." again.")
					end
				end
----------------------------------
			else
				if difference > 1 then
--		SECOND CALCULATIONS 	--
					doPlayerSendCancel(cid, "You still have to wait "..difference.." seconds before you can "..action.." this "..thing.." again.")
				else
					doPlayerSendCancel(cid, "You still have to wait "..difference.." second before you can "..action.." this "..thing.." again.")
				end
----------------------------------
			end -- end second
		end -- end minute
	end -- end hour
end -- Wohoo! This means im done! :D

Also I'll leak this NPC, with help by master-M. Will make tons of NPCs similar way, takes long time! D:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!--Scripted by Znote & Master-M -->
<npc name="Noldus Fiskar" floorchange="0" walkinterval="4000">
	<health now="150" max="150"/>
	<look type="130" head="57" body="116" legs="100" feet="119" addons="0"/>

  <interaction range="3" idletime="30">

    <interact keywords="hi" focus="1">
      <!--These are the keywords will trigger this interaction-->
      <keywords>hello</keywords>
      <keywords>greet</keywords>

      <response>
        <action name="script">
			if getPlayerStorageValue(cid,1230) == -1 then
				selfSay('Hello there! Ohh you found my secret fishing spot! Please dont tell anyone about it alright? It is very important! Hey, you know what, I will give you a few gold coins to keeep your mouth shut. You can also come here and fish some, this is the best fishing spot near {Twinpass trading camp}. Ohh and by the way, if you got time to {help} me, I would highly appreciate it!', cid)
				setPlayerStorageValue(cid,1230,1)
			
			elseif getPlayerStorageValue(cid,1230) == 0 then
				selfSay('Hello there! Ohh you found my secret fishing spot! Please dont tell anyone about it alright? It is very important! Hey, you know what, I will give you a few gold coins to keeep your mouth shut. You can also come here and fish some, this is the best fishing spot near {Twinpass trading camp}. Ohh and by the way, if you got time to {help} me, I would highly appreciate it!', cid)
				setPlayerStorageValue(cid,1230,1)	
			
			elseif getPlayerStorageValue(cid,1230) == 1 then
				selfSay('Ohh its you, did you come to {help} me?', cid)
			else
				selfSay('ERROR CODE X3D fishman1. Please report this to GM.', cid)
			end	
        </action>
      </response>
  </interact>
  
  <interact keywords="twinpass">
  <keywords>trading</keywords>
  <keywords>camp</keywords>
	<response>
		<action name="script">
			selfSay('Didnt you come from twinpass trading camp? The trading camp is right to the {east from here}, there is a secret passage to it. There are many merchants there, many merchants travel between trading camps to sell their resources.', cid)
        </action>
	</response>
   </interact>
   
   <interact keywords="east">
  <keywords>from</keywords>
	<response>
		<action name="script">
			selfSay('I come from twinpass trading camp, follow the path to the east, go pass the narrow mountain. Please dont make much of a sound, as soon as you get out of the narrow mountain pass you get to the trading camp.', cid)
        </action>
	</response>
   </interact>
   
   <interact keywords="help">
	<response>
		<action name="script">
			if getPlayerStorageValue(cid,1234) == -1 then
				selfSay('Ohh yeah, I am running out of worms, and my luck never ends here! I dont ever want to leave this spot. So if you bother, do you want to get some worms for me? {Alright?}', cid)
			
			elseif getPlayerStorageValue(cid,1234) == 0 then
				selfSay('Ohh yeah, I am running out of worms, and my luck never ends here! I dont ever want to leave this spot. So if you bother, do you want to get some worms for me? {Alright?}', cid)
			else
				selfSay('Did you come to bring me some {worms}?', cid)
			end
        </action>
		<action name="topic" value="1"/>
	</response>
   </interact>
   
   <interact keywords="yes" topic="1">
   <keywords>alright</keywords>
   <keywords>worms</keywords>
	<response>
		<action name="script">
			if getPlayerStorageValue(cid,1234) == 1 then
				if(getPlayerItemCount(cid, 3976) >= 30) then
					doPlayerRemoveItem(cid, 3976, 30)
					doPlayerAddItem(cid, 2148,10)
					setPlayerStorageValue(cid,1234,2)
					selfSay('Thanks, you are truly one trustworthy player! I will make sure to tell about your good deeds to other merchants! If you want, keep delivering worms to me, and I have a {special bonus} for you!', cid)	
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have gained 10 golden coins.')
				else	
					selfSay('Huh? This was not the deal, please come back with 30 worms!')
				end	
			else
				if(getPlayerItemCount(cid, 3976) >= 30) then
					doPlayerRemoveItem(cid, 3976, 30)
					doPlayerAddItem(cid, 2148,10)
					setPlayerStorageValue(cid,1234,(getPlayerStorageValue(cid,1234)+1))
					selfSay('Thank you! As always, here are your 10 gold coins!', cid)	
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have gained 10 golden coins.')
				else	
					selfSay('You can get worms from NPCs in twinpass trading camp. Feel free to come back anytime and deliver {30 worms} to me, and you will be paid 10 gold coins! Hey! If you deliver 30 worms to me 5 times, I have a {special bonus} for you!', cid)
				end	
				
			end
        </action>
	</response>
   </interact>
   
   <interact keywords="special">
   <keywords>bonus</keywords>
	<response>
		<action name="script">
		if getPlayerStorageValue(cid,1234) == 4 then
				doPlayerRemoveItem(cid, 3976, 30)
				doPlayerAddItem(cid, 2580,1)
				setPlayerStorageValue(cid,1234,0)
				selfSay('Fantastic! Here take this fishing rod! Its a big pleasure doing business with you, feel free to continue work with me as much as you want! This is fantastic!', cid)
		elseif getPlayerStorageValue(cid,1234) > 4 then
				doPlayerAddItem(cid, 2580,1)
				setPlayerStorageValue(cid,1234,(getPlayerStorageValue(cid,1234)-5))
				selfSay('Fantastic! Here take this fishing rod! Its a big pleasure doing business with you, feel free to continue work with me as much as you want! This is fantastic!', cid)
		else
			selfSay('Yes you heard right! Deliver worms to me 5 times, and obtain a {special bonus}! Just to... Show my appreciation. ^^', cid)
		end
        </action>
	</response>
   </interact>
	
	<interact keywords="bye" focus="0">
      <keywords>farewell</keywords>
		<response>
			<action name="script">
				selfSay('Aight, see you later!', cid)
			</action>
		</response>
    </interact>
  
</interaction>
</npc>

Why are people so silent? Come with replies! :D
 
Last edited:
Why 'mod-like' in npc system. who implented that? If people would like that function they would have used the mods system. But they didn't.

This is towards the forgotten server developers.


@znote,

keep up the good work:)
 
Some new ideas. :)

Game1v1 (i whats the english name for it? D:)
- you place a bet between 100gp - 10 crystal coins
- you place a bet, you have 50% chance of doubling your value.

Game1v2 (like v1 but its chained)
- You place a bet between 100gp - 10 crystal coins
-- First round 30% chance of winning.
-- 2nd round 40% chance of winning.
-- 3rd round 50% chance of winning.
-- 4th round 60% chance of winning.
-- 5th round 70% chance of winning.
-- 6th round 80% chance of winning.
-- 7th round 90% chance of winning.
-- if you win all 7 rounds, you will not double your money, you will get 50x in return! Also if your starting bet was 1 crystal coin, you will complete the gambling quest and get hat addon for your noble outfit.
--- Sounds like a nice game, if you manage the first 3 rounds it keeps getting more and more exiting and you see your winning chance rapidly grow. :)
You can anytime during a round give up. Each round will give you 70% more money if you dont want to follow all the rounds.

Challenge game2: The NPC got some tasks which he think you cant beat. Like killing 30 goblins 20 trolls within 20 minutes. You can bet against him for etc 5K. If you success you get 10K, if you fail you loose everything.
There will be lots of challenge quests.

General about gambling npcs:
There should be at least 3 or 4 gambling npcs in-game, they have different games they gamble with, some uses card games, like blackjack, some uses dices. These gambling NPCs does NOT have unlimited money. If you are lucky, you can bankrupt gambling NPCs. Making them unable to work as a gambler for a week. If you do this you will acquire the bankrupting a gambler quest. (Need reward suggestion for this). But you will get lots of experience.

Players with high merchant reputation can own their own store.
Two ways of obtaining a store:
1. Buy it.
2. Bankrupt it, then take over it.

The NPC in the store will start working for you, it will still sell the items its suppose to, but you can decide to higher the price, lower the price. Money the store earns goes to you!
Some NPCs will also allow you to give them items other than what they are suppose to sell, and they will sell it for you.

You can own: Regular stores and boats for now. You can also hire beggar NPCs to stay in town and repeat the message you tell them to repeat for some money.
Beggar NPCs will have no specific owner, the one who pays the most is his owner.
If Beggar earns to much money he might drop being a beggar and become a gambler or even a noble.

Yes, stores will be for sale, and you can buy NPCs for those stores.
Poor looking NPCs will be cheap (20k/week). However you can rent NPC workers up to 200k/week.
-- You can add items to store, and NPC will sell them for whatever you decide to sell them for. BUT <--- the NPC will also buy items it sells for 0.5x the price.
 
I lost my creativity <.< need more suggestions.

Ok so here's a single quest/dungeon idea which could possibly prove to be useful:

Back story:
Three explorers are traveling through a dark dry village with collapsed buildings, dead trees and withered old bodies. The explorers continue to walk through the village. They find nothing at first but after searching through the city a second time they find an old man seemed to appear out of thin air. The old man speaks barely louder than a whisper and tells the explorers that he's been awaiting their arrival to help him bring life back to his village.

The explorers ask what happened to the village and why the old man is still alive. The explorers listen carefully to the old man and learn that he survived because he spent most of his youth in caves which built up an immunity to the curse deep beneath the surface. His parents would warn him and forbid him to go back into the caves but he ignored their pleads. They warned him that all who go into the caves would be cursed and die a horrible death.

The old man explained that while he was exploring the caves he had found skeletons of men, women, children and animals so he became very cautious. He explored the caves a little at a time but one day be got careless. He was traveling down a path which suddenly plummeted down 2 meters. When he hit the ground a dull pungent odor hit his nose and his sight began to blur. He feinted and awoke with a bloody nose and a terrible headache. He never made that mistake again. He found that he could challenge his body each week by staying within the caves and becoming immune to the curse. Slowly but surely he was able to travel deeper and deeper into the caves.

Four decades ago, the old man sadly tells the explorers, he came across an iron box deep within a cave. He proudly brought the box back to his village and gathered his people to share his treasure. The old man continues to tell the explorers that when he opened the box with his neighbors, he found no treasure.. but found a strange glowing rock. The old man did not recognize the rock; however he did recognize the odor. Usually the odor from such a small rock would be minute but in this case there was something very wrong with this rock. The dull pungent odor hit his senses harder than he'd ever experienced.

In that very moment, the old man explained, he immediately knew that it was a terrible mistake to bring this box back to the village. As the old man began to lose conscientiousness, he saw his fellow friends, neighbors and family bleed from their noses and collapse. The curse quickly moved throughout the village and killed all life within it's reach.

Mission:

The old man tells the explorers that he is in need of the enchanted vial of Kal'athon<or randomname>. He explains that it no longer exists but will undo the horrible curse which was cast over his village. The enchanted vial of Kal'athon, the old man explains, is said to grant a single wish to any resident born and blessed in the hands of a Kal'athon Priest.

The old man tells the explorers that the only way he can foresee finding it is to search the surrounding forest and mountains for the wisdom to visit the past and present.

Once there, the explorers have to find and obtain the enchanted vial of Kal'athon from the powerful and dangerous Grand Duke Random'name'of'a'douchbag'here. He is heavily guarded in the fortress north of the village.

Once the vial is obtained, the explorers are to find the younger version of the old man and explain to him that he must change the fate of the village by using the enchanted vial to remove the iron box and deadly rock out of existence. The younger version of the old man will agree to do the task and upon removing the box and stone, he will return to the village and advise the explorers that his task is complete.

Upon completion, the explorers will use the wisdom to visit the present to return to normal time. Upon arrival the explorers will immediately see that their mission was a success. The village is prospering and the towns people are alive and kicking.

The explorers find the old man and he rewards them with something special, maybe bj? maybe the village wench?idk you decide

Quest in a nut shell:

Three players who are in a party walk through a gateway with special tiles; if storageid = unstarted quest, teleport players to 'present' time map with ruined buildings and a beggar npc. Talk to the npc and learn about his past, the village and the time travel scroll/thing. Travel into a forest/mountain and find a chest with two scrolls. Stand on some special tile and click the scroll of the past and get tpd to another map, same forest/mountain but un'ruined' village so it has the appearance of the 'past'. The explorers fight their way to the fortress and slay the evil duke guy, get the vial and go find the young noob who screwed the village. Explain to the noob that he screws the village and the only way to stop that from happening is for him to take the vial and go delete the box. The npc gives each player a watch and will return at a precise time. The npc disappears and after 3 mins or so the npc reappears and says he completed his task. The npc tells them that if they want to get back to the future they must use the scroll of the present in the center of the village on some special tile. Players get tpd to a third map of the village where the buildings are a tad 'advanced', the ground is dirtier and the npcs are all there. The young npc is now an old man and he gives some nice reward.

if a player returns to the gate and crosses the special tiles and their storageid = quest complete.. they go to the 3rd map.. if the storageid = quest accepted but incomplete..player gets tpd to the 1st map so he/she can redo the mission by retalking to the npc and saying shit! i messed up! or some rpg thing..

Anyways I'm tired of writing this and I'm getting sloppy :/ lol Hope it helps!


Yours,
Kes
 
Last edited:
Thanks x.x I hope it's useful.. my bf thinks I'm crazy for writing it lollolol

Cool ideas Znote! Keep it up!
 
Awesome idea kessykins! I love your creativity. :) <3

Feel free to come up with more ideas. I will definitely make a story based on yours! I also plan to make a Kessykins NPC in-game on this adventure. As some sort of tip npc, like a shaman who can see slightly in the future to guide players who are stuck during the adventure or something. This NPC should be placed when the town is bloming and NPCs are there.

Also I consider basing this on global storage values as well, so etc quest can only be completed once every 4 days by a team. If a team success the quest map will remain with npcs for 4 days, if a team fail the quest map will be old, half ruined without npcs for 4 days etc. :)

And you should learn the backstory by other NPCs and people in the server. And the old npc should only be interested in talking to the "smart people of knowledge".

I plan to make this village the one. (Its designed so its easy to make a ruined version of it).
Still suck at mapping. :p But a quick map render makes it easier to focus on the NPCs and scripts.

Btw this is the "happy future" version. Havent started on the opposite version yet.
karmavillage.png


Edit: Done with the ruined version. To make cool darkness effect I placed it below ground floor so you need to either put high ambient~ light or use torch etc. :) Extremely cool effect in-game since when you walk to it you dont see that your being teleported or anything, just when you walk toward the town suddenly it gets dark and a message pops up "your entering the darkness..."
karmavillage2.png
 
Last edited:
Back
Top