• 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!

Selling NPC System, 100% LUA + Item Rarity System [like in DII]

Status
Not open for further replies.

Santy

Member
Joined
Aug 14, 2007
Messages
654
Reaction score
22
NPC System:

Description:
NPC System built in lua, easing the NPC making process, almost completely disregarding the need for XML and completely disregarding the need to make new lua files for each npcs, only having to make a new XML file with basic NPC information, such as Name, Outfit, Walkspeed, Access, etc, and adding the new NPC's configuration to the configuration file, which is structured as shown below:
Code:
luaSys_config = {
	john = {
		basic = { 
			farewell = "Feel free to come back and see me again if you need anything!",
			greet = "Hello |PLAYERNAME|! Would you like to know some tips? Just let me know if you need {help}.",
			walkAway = "See you later.",
			idle = "Hello? Ok... please say {hi} to me again if you need {help}.",
			appear = "Oh, hey there! Need any help?",
			closeChannel = "Hmph!"
		},
		keywords = { -- "greet" and "farewell" are reserved
			name = "My name is John.",
			job = "I rake leaves from the streets at night.",
			--[[
			quest = {"getStorageReturnMessage", {"cid", 1337, { -- cid, storage, messagesArray
				["-1"] = "I don't have any quests to send you on right now, sorry.",
				["0"] = "Hey... There has been a flying bananapenis bothering me lately. Niggercocks?"
			}}},
			]] -- equivalent to below, both are working ways to do it
			quest = function (cid)
				msg = {
					["-1"] = "I don't have any quests to send you on right now, sorry.",
					["0"] = "Hey... There has been a flying bananapenis bothering me lately. Niggercocks?"
				}
				storage = 1337
				if(msg[tostring(getPlayerStorageValue(cid, storage))]) then
					return selfSay(msg[tostring(getPlayerStorageValue(cid, storage))], cid)
				end
				return error("Player storage value wasn't in array.")
			end,
			help = "Fucking go experiment man, ain't nobody going to tell you how to live a life."
		},
		linkage = {
			greet = {"hi", "hello", "greetings"},
			farewell = {"bye", "laters", "cya"},
			help = {"support", "items plx"}
		},
		shop = {
			message = "Pretty nice, right?",
			words = {"wares", "trade"},
			endTrade = "It was a pleasure doing business with you.",
			onBuy = {
				success = "Thanks for the money!",
				needMoney = "You don't have enough money to buy that.",
				needSpace = "Sorry, but you don't have space to take it.",
				needCapacity = "I've sold some for you, but it seems you can't carry more than this. I won't take more money than necessary."
			},
			onSell = {
				success = "Here you are.",
				needItem = "No item, no deal."
			},
			items = {
				{id=2160, subType=0, buy=10000, sell=10000, name="Test1"},
				{id=2152, subType=0, buy=100, sell=100, name="Test2"},
				{id=2148, subType=0, buy=1, sell=1, name="Test3"},
				{id=2173, subType=0, buy=10000, sell=5000, name="Test4"}
			}
		}
	}
--	shop = nil
}

What does it contain:
* newSystem.lua - Code which all new npcs you make will refer to, contains all references to the NPC's functioning.
* luaSys libs - Libraries containing all functions to make the NPCs work. It also contains useful functions you'll use through the NPC making process.
* Support - Should you run into any problems using this system, I'll immediately assist you. If you've got any suggestions to the system you think would be helpful for you and other users of this system, should I approve of it, it'll be implemented to the system and updated to all the loyal customers. (System is still in development, being upgraded with every ideas/needs I run into. Working 100%, nevertheless)

Price:
15$

Item Upgrade System:

Description:
Item rarity system. Let's say you get "a scale armor". It'll be an unidentified scale armor, which you'll have to identify with a Scroll Of Identify (there are many books and shit you can use for this).

Anyway, upon identifying the item, this happens:
There are two rarity levels. So you get a "a [rarity1] scale armor [rarity2]".
For the first rarity, there's a 1/4 of a chance for it to fall on either of it's rarity levels. Depending on what level it falls, the item will be given a good/bad enhancement.
The first rarity level is this one:
Code:
		qualities = {"chipped", "flawed", "flawless", "perfect"},
                                -1        0         1        2
The second rarity level, is a bit more complex. There is a 750/2000 chance for it to fall on the rareChances, otherwise it's normalChances. The rarity level is then determined by the number on the array's third position. The system is also more oriented to this rarity level, so these ones give more enhancement to the item obtained. The values that would be changed on all the stats of the item is 2.5x times higher than what the first ones give.
Code:
	normalChances = {{"Normal", 0, 0}, {"Low Quality", -1, 1650}, {"Damaged", -2, 1850}},
	rareChances = {{"Outstanding", 1, 0}, {"Magical", 2, 603}, {"Rare", 3, 1500}, {"Unique", 4, 1900}, {"Exceptional", 5, 1998}, {"Elite", 6, 2000}}

An example of what a person would statistically commonly with those values would be:
"a chipped scale armor [Normal]"

What does it contain:
* C++ editing and .lua file - You'll hand me over your sources and I'll make the editing myself. I'll also send you the lua action file for the scroll.
* Support - Should you run into any problems using this system, I'll immediately assist you. If you've got any suggestions to the system you think would be helpful for you and other users of this system, should I approve of it, it'll be implemented to the system and updated to all the loyal customers. (System is still in development, being upgraded with every ideas/needs I run into. Working 100%, nevertheless)

Price:
25$

Combo:

Description:
Both services at 35$. Also includes my advanced quest systems, allowing you to make new quests MUCH faster.

Contact:
If you are interested or got questions regarding either of the systems contact me via PM. Feel free to post your inquiries away, though. I'll answer either way. If you are interested in privately editing the systems and you want my service, feel free to contact me.
 
Last edited:
Necessary bump, completely rebuilt thread.
 
IMHO it was necessary, since I added a lot of stuff to the post, please read thoroughly before making statements that might make you come off as ignorant or epeen needy.
 
I was seriously hoping people would be interested in buying this then maybe after some time releasing it publicly. Both systems could greatly improve any OT ;x
 
You should not sell something that you want to release later, or at least you should declare that in the offer.
It is quiet unfair to those who buy it.
 
Whether this system does have something that doesn't have jiddos?
 
@ Summ
Lol, I'm not going to. I know once it's got enough buyers, certain kinds people release it for the sake of being assholes.

@Nothxbye
Simplification for the addition of NPCs, and structured/functioning in a compact, portable way.
 
@Nothxbye
Simplification for the addition of NPCs, and structured/functioning in a compact, portable way.

So this doesn't replace the functionality (provide your own modules.lua and such)?
Red
 
Nope. It does improve it, however, by shortening processes into individual functions.
 
What's wrong these days.. in the past people just helped to build great scripts, now people only sell them.. were is that time people just help eachother
 
Status
Not open for further replies.

Similar threads

Back
Top