• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Scripter Looking for a scripter to buy a creaturescript

Athenuz

Owlz!
Joined
Oct 1, 2015
Messages
234
Reaction score
27
Location
México
Hello,

I'm thinking on a kind of CreatureScript.

It's something easy i guess, i will pay for it... (PayPal)

I need a good/clean scripter, thanks.

Regards
 
Oh damn, sorry, my bad...

Can please someone move or i can delete my own post to make again on the right area?
 
What creaturescript are you wanting? Pm me the details and tfs version
 
You don't need to pay anyone anything, just go to resources > requests and ask for someone to make the script for you in there.. people do it all the time.
 
You don't need to pay anyone anything, just go to resources > requests and ask for someone to make the script for you in there.. people do it all the time.

I guess that's right...

But i'd like to also give a little as payment to this forum members since I'm not a great scripter, mapper or something... And it's hard for me to payback to this forum the help i receive, all i can do is help the people with the errors/problems i've had before and give them the solution i know..

Anyways, if you want to do it, let's talk by PM, i dunno the prices but just give a reasonable number :P

Thanks for your reply
 
Just mark this thread as 'Solved' and open a thread in the other section.
There's at least 50 people on here who will do pretty much anything for free.
There is no need to pay. We are a community, not a company.

Just include your TFS version and a detailed outline of what you want the script to do, and most likely someone will pop out some code for you. :p

Note: This doesn't mean you shouldn't try to figure it out on your own, in time, but I'm saying it's a perfectly valid option.

-- Edit.. Seems the thread has been moved while I was typing.
Just post here some information regarding the script. :P
 
Okay :P

Bonus skill onlogin per vocation:

Knights get +1 shielding skill, mages +1ml, paladin +1 dist... etc

That's enough? @Xikini

Im using the last commit of tfs (1.x)
 
Is this a permanent gain or just a boost while online? Do they gain it again each login or does it only happen on first login?
 
Is this a permanent gain or just a boost while online? Do they gain it again each login or does it only happen on first login?

Permanent Gain i guess, as wearing a focus robe...
Edit ^ : I guess is not "permanent gain" :P my bad, maybe as kind of "boost while online"

Sample: Create Character > Choose Sorcerer (or w/e) > login and the script applies the bonus for being sorcerer... (it has to work as bonus because if he changes his vocation or promotes the bonus will change)

Sample 2: Sorcerer promotes to Master Sorcerer, now his bonus is not the magic level +1, now his bonus is "+20 shielding" or the Sorcerer changes his vocation to Paladin, now his bonus is +1 distance instead of +1 magic level...
 
Sooo, perhaps something like this:
put this section at the top of login.lua, above the function declaration:
Code:
local bonuses = {
    [1] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- sorcerer
    [2] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- druid
    [3] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {1}}, -- paladin
    [4] = {bonus = {CONDITION_PARAM_SKILL_MELEE}, value = {10}}, -- knight
    [5] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- master sorcerer
    [6] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- elder druid
    [7] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {2}}, -- royal paladin
    [8] = {bonus = {CONDITION_PARAM_SKILL_MELEE, CONDITION_PARAM_SKILL_SHIELD}, value = {2, 2}}, -- elite knight
}
add this within login.lua, below the first login section (after player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr))
Code:
local b = bonuses[player:getVocation():getId()]
for i = 1, #b do
    local condition = Condition(CONDITION_ATTRIBUTES)
    condition:setParameter(b.bonus[i], b.value[i])
    condition:setParameter(CONDITION_PARAM_TICKS, -1)
    condition:setParameter(CONDITION_PARAM_SUBID, 200)
    player:addCondition(condition)
end
I believe this should work, but I didn't test it :p
 
Sooo, perhaps something like this:
put this section at the top of login.lua, above the function declaration:
Code:
local bonuses = {
    [1] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- sorcerer
    [2] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- druid
    [3] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {1}}, -- paladin
    [4] = {bonus = {CONDITION_PARAM_SKILL_MELEE}, value = {10}}, -- knight
    [5] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- master sorcerer
    [6] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- elder druid
    [7] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {2}}, -- royal paladin
    [8] = {bonus = {CONDITION_PARAM_SKILL_MELEE, CONDITION_PARAM_SKILL_SHIELD}, value = {2, 2}}, -- elite knight
}
add this within login.lua, below the first login section (after player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr))
Code:
local b = bonuses[player:getVocation():getId()]
for i = 1, #b do
    local condition = Condition(CONDITION_ATTRIBUTES)
    condition:setParameter(b.bonus[i], b.value[i])
    condition:setParameter(CONDITION_PARAM_TICKS, -1)
    condition:setParameter(CONDITION_PARAM_SUBID, 200)
    player:addCondition(condition)
end
I believe this should work, but I didn't test it :p

Thank you sir! I will test and tell you how it goes!

--Edit:

Sorry, It don't works :C @RazorBlade
 
Last edited:
Sooo, perhaps something like this:
put this section at the top of login.lua, above the function declaration:
Code:
local bonuses = {
    [1] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- sorcerer
    [2] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- druid
    [3] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {1}}, -- paladin
    [4] = {bonus = {CONDITION_PARAM_SKILL_MELEE}, value = {10}}, -- knight
    [5] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- master sorcerer
    [6] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- elder druid
    [7] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {2}}, -- royal paladin
    [8] = {bonus = {CONDITION_PARAM_SKILL_MELEE, CONDITION_PARAM_SKILL_SHIELD}, value = {2, 2}}, -- elite knight
}
add this within login.lua, below the first login section (after player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr))
Code:
local b = bonuses[player:getVocation():getId()]
for i = 1, #b do
    local condition = Condition(CONDITION_ATTRIBUTES)
    condition:setParameter(b.bonus[i], b.value[i])
    condition:setParameter(CONDITION_PARAM_TICKS, -1)
    condition:setParameter(CONDITION_PARAM_SUBID, 200)
    player:addCondition(condition)
end
I believe this should work, but I didn't test it :p
wth is that? >.>
You will confuse the users who want to modify this.
 
Post the error(s) if you had some.

I didn't see any errors... :c

Here's my login.lua:

Code:
local bonuses = {
    [1] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- sorcerer
    [2] = {bonus = {CONDITION_PARAM_STAT_MAGICPOINTS}, value = {1}}, -- druid
    [3] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {1}}, -- paladin
    [4] = {bonus = {CONDITION_PARAM_SKILL_MELEE}, value = {10}}, -- knight
    [5] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- master sorcerer
    [6] = {bonus = {CONDITION_PARAM_SKILL_SHIELD}, value = {20}}, -- elder druid
    [7] = {bonus = {CONDITION_PARAM_SKILL_DISTANCE}, value = {2}}, -- royal paladin
    [8] = {bonus = {CONDITION_PARAM_SKILL_MELEE, CONDITION_PARAM_SKILL_SHIELD}, value = {2, 2}}, -- elite knight
}

function onLogin(player)
   
    -- Free bless
    freeBless = {
        level = 200,
        blesses = {1, 2, 3, 4, 5}
    }

    local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. " Please choose your outfit."
        player:sendOutfitWindow()
    else
        if loginStr ~= "" then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end
       
    local b = bonuses[player:getVocation():getId()]
        for i = 1, #b do
            local condition = Condition(CONDITION_ATTRIBUTES)
                condition:setParameter(b.bonus[i], b.value[i])
                condition:setParameter(CONDITION_PARAM_TICKS, -1)
                condition:setParameter(CONDITION_PARAM_SUBID, 200)
                player:addCondition(condition)
    end

        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
   
    if player:getLevel() <= freeBless.level then
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received the free blessings available untill level 200.")
        for i=1,#freeBless.blesses do
            player:addBlessing(freeBless.blesses[i])
        end
    end

    -- Stamina
    nextUseStaminaTime[player.uid] = 0

    -- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    if player:isPremium() then
        local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
        if not promotion and value ~= 1 then
            player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
        elseif value == 1 then
            player:setVocation(promotion)
        end
    elseif not promotion then
        player:setVocation(vocation:getDemotion())
    end

    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("DropLoot")
    return true
end
 
Anyways, maybe I'm not a scripter but i'm trying to use my logic and find what's wrong :P

Even if the script RazorBlade made for me doesn't works, it's a big start, i'll try to work with that and see if i can fix ^^

Thanks everyone for your replies :D
 
Just a misplacement of the second part
this
Code:
local b = bonuses[player:getVocation():getId()]
for i = 1, #b do
local condition = Condition(CONDITION_ATTRIBUTES)
condition:setParameter(b.bonus[i], b.value[i])
condition:setParameter(CONDITION_PARAM_TICKS, -1)
condition:setParameter(CONDITION_PARAM_SUBID, 200)
player:addCondition(condition)
end
should be after this
Code:
loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
end
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
I didn't realize that last line there existed elsewhere, it's just not working because it's calling the code only for first login.
@whitevo tits or gtfo, don't be a twat.
 
Back
Top