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, 'prestige')) then
selfSay('Are you ready to prestige and start a new life?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
-------CONFIGS-------
local level = 500
local cost = 50000
------/CONFIGS-------
-----LOCALS-----
local id = getPlayerGUID(cid)
local name = getCreatureName(cid)
local vocation = getPlayerVocation(cid)
local storage = getCreatureStorage(cid, 4500)
local Max_Rebirth = 10 --Change this for the number of rebirths
local spellReborn = {
[1] = 'Reborn1',
[5] = 'Reborn5',
[10] = 'Reborn10',
[25] = 'Reborn25',
[50] = 'Reborn50',
[100] = 'Reborn100',
[250] = 'Reborn250',
[500] = 'Reborn500'
}
----/LOCALS-----
if(getPlayerLevel(cid) >= level) then
if getCreatureStorage(cid, 85987) < Max_Rebirth then
if(doPlayerRemoveMoney(cid, cost) == TRUE) then
if(isInArray({5, 6, 7, 8, 9}, vocation)) then
doCreatureSetStorage(cid, 85987, storage == -1 and 1 or storage + 1)
db.executeQuery('UPDATE players SET rebirths=rebirths+'.. 1 ..' WHERE id='..getPlayerGUID(cid))
doBroadcastMessage("" .. name .. " has just prestiged!", TALKTYPE_ORANGE_1)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = 4200")
db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` ='"..id.."';")
else
selfSay('Please do the promotion quest first.', cid)
talkState[talkUser] = 0
end
else
selfSay('You don\'t have enough money. You need to pay 5 Crystal Coins to be prestiged.', cid)
talkState[talkUser] = 0
end
else
selfSay('You have reached the maximum rebirth.', cid)
talkState[talkUser] = 0
end
else
selfSay('Only characters of level 500 or higher can be prestiged.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
selfSay('Okey. Come back when you feel ready.', cid)
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Hi I need help the npc keeps taking 5cc away from players when they say hi prestige yes it does not prestige players when they are not promoted but they take 5cc away from players how do i fix this? It also does not give rebirth spells
Spells.xml
Code:
<instant name="Reborn1" words="Exevo water wave" lvl="8" mana="500" prem="1" needweapon="0" exhaustion="800" needlearn="1" script="Reborn/water_wave.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>
This error also pops up on my console, and i use sqlite
Code:
[06/04/2016 10:58:07] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: rebirths (UPDATE players SET rebirths=rebirths+1 WHERE id=21)
Last edited: