insebbe123
New Member
- Joined
- Mar 31, 2012
- Messages
- 44
- Reaction score
- 2
hello, im trying to make a rebirth script work on my 1.2 with 8.6 server
but i doesn't know how to make the prestige/rebirth update in database when i remove rebirth in database it doesn't update in script,
so i can't remove prestiges via database please help
prestige.lua
player.lua
but i doesn't know how to make the prestige/rebirth update in database when i remove rebirth in database it doesn't update in script,
so i can't remove prestiges via database please help
prestige.lua
Lua:
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)
local player = Player(cid)
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 startlevel = 8
local exp = 4200
local level = 5000
local cost = 0
------/CONFIGS-------
-----LOCALS-----
local id = player:getGuid()
local name = player:getName()
local vocation = player:getVocation() and player:getVocation():getId() or 0
local storage = player:getStorageValue(85987)
local Max_Rebirth = 10000 --Change this for the number of rebirths
----/LOCALS-----
if(player:getLevel() >= level) then
if player:getStorageValue(85987) < Max_Rebirth then
if(player:removeMoney(cost) == TRUE) then
if(isInArray({5, 6, 7, 8}, vocation)) then
player:setStorageValue(85987, storage == -1 and 1 or storage + 1)
db.query('UPDATE players SET rebirths =rebirths+'.. 1 ..' WHERE id = '..player:getGuid())
player:remove()
db.query("UPDATE `players` SET `level` = 8, `experience` = 4200 WHERE `id` ='"..id.."';")
db.query("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 don\'t have enough money. You need to pay 0 mil to be rebirthed.', cid)
talkState[talkUser] = 0
end
else
selfSay('You have reached the maximum rebirth.', cid)
talkState[talkUser] = 0
end
else
selfSay('Only characters of level 717217 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 feel ready.', cid)
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
player.lua
Code:
function Player:onLook(thing, position, distance)
local description = "You see " .. thing:getDescription(distance)
if self:getGroup():getAccess() then
if thing:isItem() then
description = string.format("%s\nItem ID: %d", description, thing:getId())
local actionId = thing:getActionId()
if actionId ~= 0 then
description = string.format("%s, Action ID: %d", description, actionId)
end
local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
if uniqueId > 0 and uniqueId < 65536 then
description = string.format("%s, Unique ID: %d", description, uniqueId)
end
local itemType = thing:getType()
local transformEquipId = itemType:getTransformEquipId()
local transformDeEquipId = itemType:getTransformDeEquipId()
if transformEquipId ~= 0 then
description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
elseif transformDeEquipId ~= 0 then
description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
end
local decayId = itemType:getDecayId()
if decayId ~= -1 then
description = string.format("%s\nDecays to: %d", description, decayId)
end
elseif thing:isCreature() then
local str = "%s\nHealth: %d / %d"
if thing:getMaxMana() > 0 then
str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
end
description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
end
local position = thing:getPosition()
description = string.format(
"%s\nPosition: %d, %d, %d",
description, position.x, position.y, position.z
)
if thing:isCreature() and thing:isPlayer() then
description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
end
end
if thing:isPlayer() and thing:isCreature() then
description = string.format("%s\n [Prestiges: %d] \n",
description, math.max(0, thing:getStorageValue(85987)))
end
self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end
Last edited: