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

The Forgotten Server v0.3 (alpha 2)

Status
Not open for further replies.

I'm pretty sure saving with SQLite isn't working yet, I would recommend using TFS 0.2 until 0.3 has an official release. If not use MySQL, you don't have to use xampp, you can just use MySQL (which is what I do).

@off-topic
I've had this release running for roughly 73 hours, :).

Jo3
 
imagemlg7.jpg


please next update tfs 0.3. trades in lootype do god for 266 (tfs 0.2)
 
please Talaturen next update npc arena please please

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

-- OTServ event handling functions start
function onCreatureAppear(cid) npcHandler:eek:nCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:eek:nCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:eek:nCreatureSay(cid, type, msg) end
function onThink() npcHandler:eek:nThink() end
-- OTServ event handling functions end

function creatureSayCallback(cid, type, msg)
-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
if(npcHandler.focus ~= cid) then
return false
end

if msgcontains(msg, 'arena') then
selfSay('For 1000 gp i may give you permission to Greenhorn level. For 5000 gp i give you permission to Scrapper level. Warlord level is for 10000 gp.')
elseif msgcontains(msg, 'greenhorn') then
selfSay('Do you want permission to Greenhorn level for 1000 gp?')
talk_state = 1
elseif msgcontains(msg, 'scrapper') then
selfSay('Do you want permission to Scrapper level for 5000 gp?')
talk_state = 2
elseif msgcontains(msg, 'warlord') then
selfSay('Do you want permission to Warlord level for 10000 gp?')
talk_state = 3
-- --------------------------------- confirm yes ----------------------
elseif msgcontains(msg, 'yes') then
if talk_state == 1 then
doPlayerRemoveMoney(cid,1000)
setPlayerStorageValue(cid, 5029, 1)
selfSay('Here you go.')
elseif talk_state == 2 then
doPlayerRemoveMoney(cid,5000)
setPlayerStorageValue(cid, 5029, 2)
selfSay('Here you go.')
elseif talk_state == 3 then
doPlayerRemoveMoney(cid,10000)
setPlayerStorageValue(cid, 5029, 3)
selfSay('Here you go.')
end
-- -----------------------------------confirm no ---------------------------
elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 34) then
selfSay('Ok than.')
talk_state = 0
end
-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
@up:

Next time it would be better if you say whats the problem so peoples may help you faster! Example: NPC doesnt talk!

change:
Code:
if(npcHandler.focus ~= cid) then
return false
end


with:
Code:
    if(not npcHandler:isFocused(cid)) then
        return FALSE
    end
 
What the differece between Gui version and console version?
 
So is it stable yet? Or still not?
Not yet, that's why it's alpha.
Where i Download The Server? Pliz
In the first post, at the bottom of the post you'll see it as an attachment.
What the differece between Gui version and console version?
Console only allows you to start and stop the server, GUI you can start, stop, open/close server, reload files, broadcast, kick/ban players, and more.

Jo3
 
Sweet..
I think it's wrong ^^
Code:
<monster name="[COLOR=Red]Kee[/COLOR]bosh the Exile" file="Arena/scrapper/[COLOR=Red]kree[/COLOR]bosh the exile.xml"/>
<monster name="[COLOR=Red]D[/COLOR]he Hag" file="Arena/scrapper/[COLOR=Red]t[/COLOR]he hag.xml"/>
and this..
Code:
<rune name="Avalanche" id="2274" allowfaruse="1" charges="4" lvl="30" maglv="4" exhaustion="2000" script="attack/avalanche.lua"/>
should be..
Code:
<rune name="Avalanche" id="2274" allowfaruse="1" charges="4" lvl="30" maglv="4" exhaustion="2000" [COLOR=Red]blocktype="solid"[/COLOR] script="attack/avalanche.lua"/>

Waiting for 8.3 support =]
 
Nice work =]
Btw.
Anyone knows how to use this marriage system from TFS 0.3? :p

@edit
Thx for help =]
 
Last edited:
Proposal

Do you see any beta?

Let me say for him: NO :)
Btw is it posible to build functions to check and reduce skills?
Like:

onSkillAdvance()
getPlayerSkill(cid, skill) (returns the amount of the skill)
doPlayerSetSkill(cid,skill,num)

Its important to reduce the skill without any crashes! Example(Fist):
To check if the amount of a skill is allowed:

Code:
onSkillAdvance()
     maxSkill = getPlayerStorage(cid,num)
     fist = getPlayerSkill(cid,0)
     if fist > maxSkill then
          newfist = fist-1
          doPlayerSetSkill(cid,0,newfist)
     end
end

Another Idea is to add in config:
loseBackpackPercent
loseExpPercent
loseSkillPercent

What do you think about it?
 
onSkillAdvance()
CreatureEvent onAdvance(args)
getPlayerSkill(cid, skill) (returns the amount of the skill)
Already there.
doPlayerSetSkill(cid,skill,num)
doPlayerAddSkillTries exists?
Another Idea is to add in config:
loseBackpackPercent
loseExpPercent
loseSkillPercent
You can set it in database for each player, fields: loss_skill, loss_exp, loss_item, loss_something.
 
CreatureEvent onAdvance(args)

Already there.

doPlayerAddSkillTries exists?

You can set it in database for each player, fields: loss_skill, loss_exp, loss_item, loss_something.

1. doPlayerAddSkillTries: if you try to reduce skill with this, the server crashes.

2. What funktions are used to set loss_skill, loss_exp, loss_item inGame?

3. loss_item = 0%: you still lose your backpack!

Thx
Virgel
 
o.0, Really, backpacks drop is 100% ;] There is no loss_backpack;D
 
Status
Not open for further replies.
Back
Top