I support this idea. In my opinion revscriptsys is better than the current one.
Revscriptsys? Humm. It seems to be easier, but now every script must be rewritten and Lua scripters must learn this system, 'cause they must rewrite their scripts :<
It's actually going to be really easy but time consuming, that's why we want people to actually start learning revscriptsys so we can get all the scripts done faster.
Here's conjure arrow:
Code:local conjure_arrows = Spell:new("Conjure Arrows") conjure_arrows.words = "exevo con" conjure_arrows.vocation = "any" conjure_arrows.level = 8 conjure_arrows.mana = 30 conjure_arrows.health = 3 conjure_arrows.effect = CONST_ME_MAGIC_BLUE conjure_arrows.product.id = 2544 conjure_arrows.product.count = 15 conjure_arrows:register()
See? very simple.
local A_Old_Man = NPC:new("A Old Man")
A_Old_Man.outfit = { type = 153, head = 38, body =114, legs = 39, feet = 39}
A_Old_Man.greeting = "Hello there!"
A_Old_Man.farewell = "Good bye my friend."
A_Old_Man.dialog = {
["travel"] = "I have been traveling for a very long time.";
["war"] = "I have fought in many wars but now I can barely stand.";
["friends"] = "I don't got many friends anymore, most of them died when the orcs attacked the village.";
["edna"] = "Edna is a very old friend of mine.";
["orcs"] = "The orcs killed my family, I wish I could avenge them..";
["avenge"] = "I'm too old to avenge anyone.";
["help"] = function(self)
local player = self.focus
if player.getStorageValue(3399) == 1 and Player.getStorageValue(3401) ~= 1 then
self:say("Welcome back!, so.. did you kill him?")
-- 1886 = orc trophy
if containsAgreement(self:listen()) and Player.getInventoryItem(1886) >= 1 then
self.focus:removeitem(1886, 0, 1)
self:say("Thank you! Finally I'll be able to sleep at night, I don't got anything to give you but tell Edna in Xenia that I sent you for the Arhkul.")
-- to get the reward at Edna ^^
player.setStorageValue(3400, 1)
player.setStorageValue(3401, 1)
else
self:say("I want the head as proof!")
end if
-----------------------------------------------------------------------------------
else
local LEVEL_REQ = 50
self:say("Would you like to help me avenge my family?")
if player.getLevel() >= LEVEL_REQ and containsAgreement(self:listen()) then
self:say("Ok, the orcs live to the north east in the mountains, the one that killed my family is called Ok'rur. Are you sure you want to do this?")
if containsAgreement(self:listen()) then
self:say("Ok, head to the north east into the mountains, he lives on the top. Bring hes head back as proof. Take care."
player.setStorageValue(3399, 1)
end if
else
self:say("Sorry but you are too young, come back when you have growed up.")
end if
end;
}
local Edna = NPC:new("Edna")
Edna.outfit = { type = 153, head = 0, body =58, legs = 20, feet = 39}
Edna.greeting = "Hello there!"
Edna.farewell = "Goodbye."
Edna.dialog = {
["magic"] = "I used to own mighty powers but the gods took them away.";
["gods"] = "I have 2 gods, Arhes and Aculpus.";
["xenia"] = "This is a little town surounded by the sea.";
["old man"] = "A old man?.. ah you must be talking about Henry, he was a great man but I haven't heard of him on a while.";
["orcs"] = "The orcs live in the mountains north east of here, they attacked our village years ago, a lot of people died.";
["attack"] = "The orcs killed almost everyone in the village, I was lucky to survive as I had Henry I don't know what I would have done without him."
["gift"] = function(self)
local player = self.focus
if player.getStorageValue(3400) == 1 then
self:say("So henry sent you to get a reward.. would you like to have it now?")
if containsAgreement(self:listen()) then
self:say("Here is your reward, I've been saving this..")
-- give the player a fire sword
player:addItem(createItem(2392))
player.setStorageValue(3400, 0)
else
self:say("Ok, you can come and get it at any time.")
end if
elseif player.getStorageValue(3401) == 1 then
self:say("You already got your reward.")
else
self:say("A gift? I don't even know who you are.")
end if
end;
}
Maybe Talaturen would be so PWNAGE and make a backwards compatibility.
That will not happen
Why do you even need backward compatibility? Stick with 8.42 until you have all your scripts updated to the new system.. I don't see the problem![]()
-- NPC TYPE : Food
-- Written in Revscriptsys
-- Author: Zisly
local Thaldo = NPC:new("Thaldo")
Thaldo.outfit = { type = 273, head = 124, body = 114, legs = 114, feet = 114}
Thaldo.greeting = "Hello $name , I offer meat and freashly baked bread."
Thaldo.farewell = "Goodbye $name , hope you come back."
Thaldo.dialog = {
["offer"] = "I offer food and freashly baked bread.";
["demon|demons"] = "Demons are big evil things who live deep under earth.";
["bread"] = "The bread is always fresh here.";
}
Thaldo.trade = {
{"Meat", id=2666, buy=5};
{"Ham", id=2671, buy=8};
{"Bread", id=2689, buy=4};
}
-- NPC TYPE : Smith
-- Written in Revscriptsys
-- Author: Zisly
local Smich = NPC:new("Smich")
Smich.outfit = { type = 128, head = 58, body = 69, legs = 50, feet = 58}
-- NOTE -- Might need outfit change
Smich.greeting = "Hello there $name"
Smich.farewell = "Good bye $name"
Smich.dialog = {
["offer"] = "I sell and buy weapons and equipment.";
["saraker"] = "I've heard stories about Saraker, the leader of the demonic aliance. We all hope he doesn't decide to attack us.";
["demonic aliance"] = "The demonic aliance is the most feared thing here on earth, they could kill all of us if they decided to attack.";
-- NOTE -- QUEST SHOULD BE ADDED
}
Smich.trade = {
-- The items are sorted by time and if they are shitty items or not
-- So it's easy to remove the shitty items ^^
-- Swords (Good -- Bad items)
{'giant sword', id=2393, sell=17000};
{'ice rapier', id=2396, sell=1000};
{'fire sword', id=2392, sell=4000};
{'bright sword', id=2407, sell=10000};
--
{"sword", id=2398, buy=75, sell=25};
{'two handed sword', id=2377, sell=500};
{'sabre', id=2385, sell=10};
{'katana', id=2412, sell=30};
{'longsword', id=2397, sell=55};
{'scimitar', id=2419, sell=80};
{'serpent sword', id=2409, sell=200};
{'spike sword', id=2383, sell=700};
{'broad sword', id=2413, sell=200};
-- Axes (Good -- Bad items)
{'dragon lance', id=2414, sell=9000};
{'fire axe', id=2432, sell=8000};
{'guardian halberd', id=2427, sell=10000};
{'naginata', id=2426, sell=1000};
{'obsidian lance', id=2425, sell=500};
{'knight axe', id=2430, sell=4000};
--
{'double axe', id=2387, sell=300};
{'battle axe', id=2378, sell=150};
{'halberd', id=2381, sell=500};
{'axe', id=2386, sell=10};
{'barbarian axe', id=2429, sell=200};
{'orcish axe', id=2428, sell=100};
{'hatchet', id=2388, sell=25};
-- Clubs (Good -- Bad items)
{'war hammer', id=2391, sell=1200};
{'skull staff', id=2436, sell=6000};
{'dragon hammer', id=2434, sell=2000};
--
{'clerical mace', id=2423, sell=200};
{'battle hammer', id=2417, sell=150};
{'morning star', id=2394, sell=120};
{'staff', id=2401, sell=100};
{"mace", id=2398, buy=90, sell=30};
-- Helmets (Good -- Bad items)
{'amazon helmet', id=2499, sell=29000};
{'royal helmet', id=2498, sell=30000};
{'warrior helmet', id=2475, sell=5000};
{'crown helmet', id=2491, sell=2500};
{'devil helmet', id=2462, sell=1000};
--
{'strange helmet', id=2479, sell=500};
{'mystic turban', id=2663, sell=500};
{'dark helmet', id=2490, sell=300};
{'chain helmet', id=2458, sell=25};
{'iron helmet', id=2459, sell=150};
{'soldier helmet', id=2481, sell=60};
{'steel helmet', id=2457, sell=300};
{'viking helmet', id=2473, sell=40};
{'brass helmet', 'hots', id=2460, sell=30};
{'legion helmet', id=2480, sell=20};
-- Armors (Good -- Bad items)
{'dragon scale mail|dsm', id=2492, sell=40000};
{'magic plate armor|mpa', id=2472, sell=70000};
{'amazon armor', id=2500, sell=12000};
{'golden armor', id=2466, sell=15000};
{'crown armor', id=2487, sell=12000};
{'knight armor', id=2476, sell=5000};
{'blue robe', id=2656, sell=15000};
--
{'dark armor', id=2489, sell=1000};
{'plate armor', id=2463, sell=600};
{'brass armor', id=2465, sell=100};
{'studded armor', id=2484, sell=30};
{'scale armor', id=2483, sell=150};
{'chain armor', id=2464, sell=70};
-- Boots (Good -- Bad items)
{'steel boots', id=2645, sell=40000};
{'boots of haste|boh', id=2195, sell=30000};
--
{'leather boots', id=2643, sell=10};
-- Legs (Good -- Bad items)
{'crown legs', id=2488, sell=12000};
{'golden legs', id=2470, sell=50000};
{'knight legs', id=2477, sell=5000};
--
{'plate legs', id=2647, sell=800};
{'brass legs', id=2478, sell=100};
{'chain legs', id=2648, sell=50};
{'studded legs', id=2468, sell=20};
-- Shields (Good -- Bad items)
{'demon shield', id=2520, sell=25000};
{'vampire shield', id=2534, sell=15000};
{'medusa shield', id=2536, sell=9000};
{'crown shield', id=2519, sell=8000};
{'tower shield', id=2528, sell=8000};
{'dragon shield', id=2516, sell=4000};
{'guardian shield', id=2515, sell=2000};
{'beholder shield', id=2518, sell=1000};
{'amazon shield', id=2537, sell=15000};
{'mastermind shield|mms', id=2514, sell=50000};
--
{'battle shield', id=2513, sell=100};
{'dwarven shield', id=2525, sell=150};
{'plate shield', id=2510, sell=30};
{'brass shield', id=2511, sell=10};
{'copper shield', id=2530, sell=50};
{'steel shield', id=2509, sell=70};
-- Amulets
{'platinum amulet', id=2171, sell=3000};
{'ruby necklace', id=2133, sell=3000};
-- Rings
{'golden ring', id=2179, sell=1500};
{'ring of the sky', id=2123, sell=30000};
} -- END TRADE
-- NPC TYPE : Quest
-- Written in Revscriptsys
-- Author: Zisly
local A_Old_Man = NPC:new("A Old Man")
A_Old_Man.outfit = { type = 153, head = 38, body =114, legs = 39, feet = 39}
A_Old_Man.greeting = "Hello there!"
A_Old_Man.farewell = "Good bye my friend."
A_Old_Man.dialog = {
["travel"] = "I have been traveling for a very long time.";
["war"] = "I have fought in many wars but now I can barely stand.";
["friends"] = "I don't got many friends anymore, most of them died when the orcs attacked the village.";
["edna"] = "Edna is a very old friend of mine.";
["orcs"] = "The orcs killed my family, I wish I could avenge them..";
["avenge"] = "I'm too old to avenge anyone.";
["help"] = function(self)
local player = self.focus
if player.getStorageValue(3399) == 1 and Player.getStorageValue(3401) ~= 1 then
self:say("Welcome back!, so.. did you kill him?")
-- NOTE -- 1886 = orc trophy, SHOULD BE CHANGED TO A CUSTOM ITEM ID
if containsAgreement(self:listen()) and Player.getInventoryItem(1886) >= 1 then
self.focus:removeitem(1886, 0, 1)
self:say("Thank you! Finally I'll be able to sleep at night, I don't got anything to give you but tell Edna in Xenia that I sent you for the Arhkul.")
-- To be used with Edna
player.setStorageValue(3400, 1)
player.setStorageValue(3401, 1)
else
self:say("I want the head as proof!")
end
-----------------------------------------------------------------------------------
else
local LEVEL_REQ = 50
self:say("Would you like to help me avenge my family?")
if player.getLevel() >= LEVEL_REQ and containsAgreement(self:listen()) then
self:say("Ok, the orcs live to the north east in the mountains, the one that killed my family is called Ok'rur. Are you sure you want to do this?")
if containsAgreement(self:listen()) then
self:say("Ok, head to the north east into the mountains, he lives on the top. Bring hes head back as proof. Take care."
player.setStorageValue(3399, 1)
end
else
self:say("Sorry but you are too young, come back when you have growed up.")
end
end;
}
-- NPC TYPE : Quest & Food
-- Written in Revscriptsys
-- Author: Zisly
local Edna = NPC:new("Edna")
Edna.outfit = { type = 142, head = 114, body = 0, legs = 95, feet = 114}
Edna.greeting = "Hello there!"
Edna.farewell = "Goodbye."
Edna.dialog = {
["magic"] = "I used to own mighty powers but the gods took them away.";
["gods"] = "I have 2 gods, Arhes and Aculpus.";
["xenia"] = "This is a little town surounded by the sea.";
["old man"] = "A old man?.. ah you must be talking about Henry, he was a great man but I haven't heard of him on a while.";
["orcs"] = "The orcs live in the mountains north east of here, they attacked our village years ago, a lot of people died.";
["attack"] = "The orcs killed almost everyone in the village, I was lucky to survive as I had Henry I don't know what I would have done without him."
["gift"] = function(self)
local player = self.focus
if player.getStorageValue(3400) == 1 then
self:say("So henry sent you to get a reward.. would you like to have it now?")
if containsAgreement(self:listen()) then
self:say("Here is your reward, I've been saving this..")
-- NOTE -- give the player a fire sword, CHANGE TO A BETTER FITTING ITEM
player:addItem(createItem(2392))
player.setStorageValue(3400, 0)
else
self:say("Ok, you can come and get it at any time.")
end
elseif player.getStorageValue(3401) == 1 then
self:say("You already got your reward.")
else
self:say("A gift? I don't even know who you are.")
end
end;
}
Edna.trade = {
{"Meat", id=2666, buy=5};
{"Ham", id=2671, buy=8};
{"Bread", id=2689, buy=4};
}