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

I need help with reset system 7.92

Azzouks

New Member
Joined
Apr 8, 2014
Messages
10
Reaction score
0
I have a OtServer 7.92, and i want create a reset system but I don't have the functions necessary to create the system,I need a programmer to pass the functions of a 8.6 for my 7.92..

i have one script of 8.6
Code:
--[[Script made 100% by Nogard and Night Wolf.
  You can feel free to edit anything you want, but don't remove the credits]]


local config = {
minlevel = 450, --- minimum level to reset
price = 1000000, --- money to reset
newlevel = 20, ---level after the reset
priceByReset = 1000000, --- preço acrescentado por reset
mlnew = 20, --- playerml +20 by reset
skillnew = 25 --- player skill + 25(axe, club, sword, shield, distance)
}


function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid, 378378, resets+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
------------------------------------ MUDE AQUI A % DE VIDA QUE GANHA AO RESETAR ---------------------
local hp = getCreatureMaxHealth(cid)
local resethp = hp*0.25
setCreatureMaxHealth(cid, resethp)
local differencehp = (hp - resethp)
doCreatureAddHealth(cid, -differencehp)
local mana = getCreatureMaxMana(cid)
local resetmana = mana*0.25
setCreatureMaxMana(cid, resetmana)
local differencemana = (mana - resetmana)
doCreatureAddMana(cid, -differencemana)
------------------------------------ FIM ----------------------------
------------------------------ EDIÇÃO DAS SKILLS --------------------
if isInArray({1,5,2,6}, getPlayerVocation(cid)) then
local magic = getPlayerSkillLevel(cid, SKILL__MAGLEVEL)
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (magic + config.mlnew) .. ", `count` = 0 WHERE `skillid` = 7 and `player_id` = " .. playerid .. ";")
end


if isInArray({4,8}, getPlayerVocation(cid)) then
local club = getPlayerSkillLevel(cid, SKILL_CLUB)
local sword = getPlayerSkillLevel(cid, SKILL_SWORD)
local axe = getPlayerSkillLevel(cid, SKILL_AXE)
local shield = getPlayerSkillLevel(cid, SKILL_SHIELD)
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (shield + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 5 and `player_id` = " .. playerid .. ";") 
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (axe + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 3 and `player_id` = " .. playerid .. ";")
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (sword + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 2 and `player_id` = " .. playerid .. ";")
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (club + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 1 and `player_id` = " .. playerid .. ";")
end


if isInArray({3,7}, getPlayerVocation(cid)) then
local distance = getPlayerSkillLevel(cid, SKILL_DISTANCE)
local shield = getPlayerSkillLevel(cid, SKILL_SHIELD)
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (shield + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 5 and `player_id` = " .. playerid .. ";")
db.executeQuery("UPDATE `player_skills` SET `value` = " .. (distance + config.skillnew) .. ", `count` = 0 WHERE `skillid` = 4 and `player_id` = " .. playerid .. ";")
end
------------------------FIM ----------------------------------
                        doRemoveCreature(cid)
            db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..resets.."]' WHERE `players`.`id`= ".. playerid .."")
db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
                          return TRUE
end






function getResets(cid)
resets = getPlayerStorageValue(cid, 378378)
  if resets < 0 then
            resets = 0
          end
return resets
end



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

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end



function onCreatureSay(cid, type, msg)
      msg = string.lower(msg)

      if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
        selfSay('Hi ' .. creatureGetName(cid) .. '! what you want mortal?')
        focus = cid
        talk_start = os.clock()

    elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
          selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

      elseif focus == cid then
        talk_start = os.clock()


local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid


local newPrice = config.price + (getResets(cid) * config.priceByReset)


if msgcontains(msg, 'reset') then
if getResets(cid)  == resets then
selfSay('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid)
talkState[talkUser] = 1
else
selfSay('I couldnt acess your bank of acess!', cid)
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < newPrice then
selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid)
elseif getPlayerLevel(cid) < config.minlevel then
selfSay('The minimum level for reseting is '..config.minlevel..'!', cid)
else
doPlayerRemoveMoney(cid,newPrice)
playerid = getPlayerGUID(cid)
addEvent(addReset, (5*1000), cid)
  local msg ="---[Reset: "..getResets(cid).."]-- You have reseted!  You'll be disconnected in 5 seconds."
        if doPlayerPopupFYI(cid, msg) then
       
        end


end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then
talkState[talkUser] = 0
selfSay('Ok.', cid)
elseif msgcontains(msg, 'quantity') then
selfSay('You have a total of '..getResets(cid)..' reset(s).', cid)
end




return true
end




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

Similar threads

Back
Top