Hey,
wollte hier mal das selbst erstellte Script rein stellen, welches nach dem zurücksetzen des Pointshops benutzt wurde um euch die Punkte zurückzugeben.
Das Script führt besagte Variable, bzw Function einmal aus und speichert dann die SteamID via SQlite in eurer sv.db.
Als Admin oder superadmin kann man mit dem Konsolenkommand "reward_reset" besagte SQlite Tabellen reseten.
Code: groupreward.lua
local RewardPoints = {}
RewardPoints.Rewards = {}
RewardPoints.Debug = false // Set to true, will send message to player but not points
RewardPoints.Rewards["bronze"] = {
points = 33000
}
RewardPoints.Rewards["silber"] = {
points = 121000
}
RewardPoints.Rewards["gold"] = {
points = 341000
}
RewardPoints.Rewards["elite"] = {
points = 671000
}
RewardPoints.Rewards["proelite"] = {
points = 1221000
}
RewardPoints.Rewards["donator"] = {
points = 500000
}
RewardPoints.Rewards["donator+"] = {
points = 500000
}
RewardPoints.Rewards["donator++"] = {
points = 500000
}
RewardPoints.Rewards["donator+++"] = {
points = 500000
}
RewardPoints.Rewards["donator++++"] = {
points = 500000
}
RewardPoints.Rewards["operator"] = {
points = 600000
}
RewardPoints.Rewards["admin"] = {
points = 1200000
}
RewardPoints.Rewards["superadmin"] = {
points = 1200000
}
hook.Add( "PlayerInitialSpawn", "PlayerSpawned_Reward_Instinkt", function( ply )
local g = ply:GetUserGroup()
local gotten = tobool(ply:GetPData( "reward_" .. g ))
if ( RewardPoints.Rewards[g] != nil and gotten != true ) then
if ( RewardPoints.Debug == false ) then
timer.Simple( 1, function()
RunConsoleCommand( "ps2_addpoints", tostring( ply:SteamID() ), "points", tostring( RewardPoints.Rewards[g].points ) )
ply:SetPData( "reward_"..g, true )
end )
end
for k, v in pairs( player.GetAll() ) do
v:ChatPrint(ply:Nick().."s Punkte wurden zurückgegeben. Weiterhin viel Spaß. Insgesamt zurückgegebene Punkte: "..tostring(RewardPoints.Rewards[g].points))
end
end
end )
concommand.Add( "reward_rest", function(ply, cmd, args)
if ( !ply:IsUserGroup("superadmin") and !ply:IsUserGroup("admin") ) then return end
ply:ChatPrint("Reset")
for k, v in pairs( player.GetAll() ) do
local g = ply:GetUserGroup()
ply:SetPData( "reward_" .. g, false )
end
end )
Alles anzeigen