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

rebirth system issue :\

eternalthug

New Member
Joined
Jul 25, 2009
Messages
51
Reaction score
0
PHP:
  local keywordHandler    = KeywordHandler:new()
local npcHandler        = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

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 onThink()
        npcHandler:onThink()
end

function creatureSayCallback(cid, type, msg)
        if(not npcHandler:isFocused(cid)) then
                return false
        end

        local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

        if(msgcontains(msg, 'rebirth')) then
                selfSay('Are you ready to be reborn?', cid)
                talkState[talkUser] = 1

        elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		-------CONFIGS-------

        local level     =   100000
        local cost      =   150000000
		
		------/CONFIGS-------
		-----LOCALS-----
        local id = getPlayerGUID(cid)
        local name = getCreatureName(cid)
        local vocation = getPlayerVocation(cid)
		----/LOCALS-----

                if getPlayerLevel(cid) >= level then
						if doPlayerRemoveMoney(cid,cost) == TRUE then
                                if vocation == 5 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 250, `healthmax` = 250, `mana` = 500, `manamax` = 500, promotion` = 3 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 6 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 250, `healthmax` = 250, `mana` = 500, `manamax` = 500, promotion` = 3 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 7 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 400, `healthmax` = 400, `mana` = 350, `manamax` = 350, promotion` = 3 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 8 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 500, `healthmax` = 500, `mana` = 250, `manamax` = 250, promotion` = 3 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")

                                else
                                        selfSay('Please talk with forgotten king and promote first.', cid)
                                        talkState[talkUser] = 0
                                end
                        else
                                selfSay('You dont have enough money. You need to pay 150m to be rebirthed.', cid)
                                talkState[talkUser] = 0
                        end
                else
                        selfSay('Only characters of level 100000 or higher can be rebirthed.', cid)
                        talkState[talkUser] = 0
end
        elseif msgcontains(msg, 'no') and talkState[talkUser] == 1 then
                selfSay('Okey come back when you are ready.', cid)
                talkState[talkUser] = 0
        
                                end
        return TRUE
end

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

the npc works fine, its just when i rebirth i go back down to lvl everything is fine exept my vocation is . and i get error in consol
PHP:
vocation 4294967295
 not found

any ideas?
 
Code:
  local keywordHandler    = KeywordHandler:new()
local npcHandler        = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

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 onThink()
        npcHandler:onThink()
end

function creatureSayCallback(cid, type, msg)
        if(not npcHandler:isFocused(cid)) then
                return false
        end

        local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

        if(msgcontains(msg, 'rebirth')) then
                selfSay('Are you ready to be reborn?', cid)
                talkState[talkUser] = 1

        elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        -------CONFIGS-------

        local level     =   100000
        local cost      =   150000000
        
        ------/CONFIGS-------
        -----LOCALS-----
        local id = getPlayerGUID(cid)
        local name = getCreatureName(cid)
        local vocation = getPlayerVocation(cid)
        ----/LOCALS-----

                if getPlayerLevel(cid) >= level then
                        if doPlayerRemoveMoney(cid,cost) == TRUE then
                                if vocation == 5 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 250, `healthmax` = 250, `mana` = 500, `manamax` = 500, `promotion` = 1 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 6 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 250, `healthmax` = 250, `mana` = 500, `manamax` = 500, `promotion` = 1 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 7 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 400, `healthmax` = 400, `mana` = 350, `manamax` = 350, `promotion` = 1 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")
                                elseif vocation == 8 then
                                        doRemoveCreature(cid)
                                        db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200, `health` = 500, `healthmax` = 500, `mana` = 250, `manamax` = 250, `promotion` = 1 WHERE `id` ='"..id.."';")
                                        db.executeQuery("UPDATE `players` SET `name` = '¥"..name.."' WHERE `id` ='"..id.."';")

                                else
                                        selfSay('Please talk with forgotten king and promote first.', cid)
                                        talkState[talkUser] = 0
                                end
                        else
                                selfSay('You dont have enough money. You need to pay 150m to be rebirthed.', cid)
                                talkState[talkUser] = 0
                        end
                else
                        selfSay('Only characters of level 100000 or higher can be rebirthed.', cid)
                        talkState[talkUser] = 0
end
        elseif msgcontains(msg, 'no') and talkState[talkUser] == 1 then
                selfSay('Okey come back when you are ready.', cid)
                talkState[talkUser] = 0
        
                                end
        return TRUE
end

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

Similar threads

Back
Top