• 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!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Customia Scripts

Zisly

Intermediate OT User
Joined
Jun 9, 2008
Messages
7,338
Reaction score
120
I will release the scripts I make for Customia here :)
These scripts are written in revscriptsys.
I'm not 100% that they all work as I haven't had a chance to test them as I can't manage to compile revscriptsys

NPC's
  • Edna (Food & Quest)
    LUA:
    -- 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};
    }

  • An Old Man (Quest)
    LUA:
    -- NPC TYPE : Quest
    -- Written in Revscriptsys
    -- Author: Zisly
    
    local A_Old_Man = NPC:new("An 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;
    }
  • Smich (Smith)
    LUA:
    -- 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


Actions
 
Last edited:
wow cool :), but if you want the npc to have an addon, from first, second and both? (:

+ rep!
 
Just do:
Edna.outfit = { type = 142, head = 114, body = 0, legs = 95, feet = 114, addons = 1}

Not sure if it's addon or addons, but it's most likely addons.

I really love this system, no more stupid XML files :D
 
Just do:
Edna.outfit = { type = 142, head = 114, body = 0, legs = 95, feet = 114, addons = 1}

Not sure if it's addon or addons, but it's most likely addons.

I really love this system, no more stupid XML files :D

but like yalahari addon, if you write "addons = 2}, dosnt both addons come on the npc then? if i just want one? like first addon= good, second= evil.

i love this system too =)
 
but like yalahari addon, if you write "addons = 2}, dosnt both addons come on the npc then? if i just want one? like first addon= good, second= evil.

i love this system too =)

If you only want the first one = 1 should do it, but if you want just the second one then I don't have a idea :p


Well I've made some more functions but I'm not sure if they'll work, I'm waiting for REMERE at OTFans to answer me but as OTFans is down again! I guess I'll have to wait until tomorrow >.<

New functions:
Ultimate healing rune and spell
Light healing spell
health to mana spell (removes 65% of your health and adds x mana(65% health * 1.7)
Annihilator script
 
an old man for fuck sake.

NOT A OLD MAN, wtf is wrong with you?!
Just because OTFans is down and you are hysterical you are attacking me?
Go out and get some air idiot.
 
Last edited:
Moved thread to Monsters, NPC & Raids category since the thread contains only NPCs. Please use the actions board to release the actions.
 
how do they work? ;o

You cant use them with TFS and not with OTServ either atm, I'm getting stupid mysql errors when I'm trying to compile revscriptsys2 with OTServ :/
 
WTF!
Got rep with the comment "roxness i need ssex in my ass ok?"
 
Back
Top