localxpd="xp reset"-- only gm can use, it will wipe all custom xp rates.
localXPSQL=[[ CREATE TABLE IF NOT EXISTS Custom_XP ( CharID int(10) unsigned NOT NULL, Rate float unsigned NOT NULL DEFAULT 1) ENGINE=InnoDB DEFAULT CHARSET=utf8;]]
WorldDBExecute(XPSQL)
localfunctiongetPlayerCharacterGUID(player)
ifplayer~=nilthen
query=CharDBQuery(string.format("SELECT guid FROM characters WHERE name='%s'",player:GetName()))
end
ifquerythen
localrow=query:GetRow()
returntonumber(row["guid"])
end
returnnil
end
localfunctionSKULY(eventid,delay,repeats,player)
player:SendBroadcastMessage("|cff3399FF You can change your XP by typing |cff00cc00 .xp 0.1-0.9 |cff3399FF or |cff00cc00 .xp 1-10 |cff3399FF in chat.")
player:SendBroadcastMessage("|cff3399FF You can check your current XP rate by typing |cff00cc00 .xp ? |cff3399FF in chat.")
end
localfunctionOnLogin(event,player)
localmingmrank=3
localPUID=getPlayerCharacterGUID(player)
if(notGMonlyandplayer:GetGMRank()<mingmrank)then
player:RegisterEvent(SKULY,10000,1,player)
end
if(GMonlyandplayer:GetGMRank()>=mingmrank)then
player:RegisterEvent(SKULY,10000,1,player)
end
if(GMonlyandplayer:GetGMRank()<mingmrank)then
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
end
end
localfunctionGMONLY(player)
player:SendBroadcastMessage("|cff5af304Only a GM can use this command.|r")
end
localfunctionSetRate(event,player,msg)
--local function SetRate(event, player, message, Type, lang)
localPUID=getPlayerCharacterGUID(player)
ifPUID~=nilthen
localQ=WorldDBQuery(string.format("SELECT * FROM custom_xp WHERE CharID=%i",PUID))
end
localmingmrank=3
ifmsg==xp01then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.1)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.1x|r")
returnfalse
end
end
ifmsg==xp02then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.2)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.2x|r")
returnfalse
end
end
ifmsg==xp03then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.3)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.3x|r")
returnfalse
end
end
ifmsg==xp04then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.4)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.4x|r")
returnfalse
end
end
ifmsg==xp05then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.5)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.5x|r")
returnfalse
end
end
ifmsg==xp06then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.6)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.6x|r")
returnfalse
end
end
ifmsg==xp07then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.7)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.7x|r")
returnfalse
end
end
ifmsg==xp08then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.8)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.8x|r")
returnfalse
end
end
ifmsg==xp09then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 0.9)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 0.9x|r")
returnfalse
end
end
ifmsg==xp1then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 1)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 1x|r")
returnfalse
end
end
ifmsg==xp2then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 2)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 2x|r")
returnfalse
end
end
ifmsg==xp3then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 3)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 3x|r")
returnfalse
end
end
ifmsg==xp4then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 4)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 4x|r")
returnfalse
end
end
ifmsg==xp5then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 5)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 5x|r")
returnfalse
end
end
ifmsg==xp6then
if(GMonlyandplayer:GetGMRank()<mingmrank)then
GMONLY(player)
returnfalse
else
WorldDBExecute(string.format("DELETE FROM custom_xp WHERE CharID = %i",PUID))
WorldDBExecute(string.format("INSERT INTO custom_xp VALUES (%i, 6)",PUID))
player:SendBroadcastMessage("|cff5af304You changed your XP rate to 6x|r")