远征GM禁言封号发物品
去数据库创建一个PrGs_User_LoginFromArea_20120912YZ_AreaDB_3D”找到账号表“DXUserInfoCREATE PROCEDURE .
@username varchar(32),
@password varchar(42),
@WorldID int,
@ClientIP varchar(24),
@MacAddress varchar(24),
@PartnerID int,
@DiskSN int,
@VerifyCodeSucess tinyint,
@ReUserID int OUTPUT,
@ReIsAdult tinyint OUTPUT,
@PassportFlags int OUTPUT,
@AppealFlags int OUTPUT,
@AppealUID int OUTPUT,
@ServiceFlags int OUTPUT,
@TotalPay int OUTPUT,
@IdCardID int OUTPUT,
@PWProtectTime int OUTPUT,
@BlackFlags tinyint OUTPUT,
@GestureFlags tinyint OUTPUT,
@GesturePassword nvarchar(32) OUTPUT,
@PhoneNum nvarchar(16) OUTPUT,
@MobileNo nvarchar(16) OUTPUT,
@PersonASign int OUTPUT,
@AddLimitTime smallint OUTPUT,
@AddLimitTimeDot int OUTPUT,
@LimitUseResLv tinyint OUTPUT,
@DisableAccountTime smallint OUTPUT,
@DangerFactor int OUTPUT,
@UserBirthday int OUTPUT,
@OldUserFlags smallint OUTPUT,
@BindActorID int OUTPUT,
@LaunchActorName nvarchar(32) OUTPUT,
@CheckInTime int OUTPUT,
@UserPassword nvarchar(64) OUTPUT,
@ClientQ nvarchar(32) OUTPUT,
@ClientPhone nvarchar(32) OUTPUT,
@CReadLimit int OUTPUT,
@CInfoUpdTime int OUTPUT,
@TryPlayFlag tinyint OUTPUT,
@KillFlag tinyint OUTPUT,
@Remark nvarchar(512) OUTPUT,
@IsExists tinyint OUTPUT,
@ReturnDesc varchar(128) OUTPUT
AS
BEGIN TRY
-- 这里放置存储过程逻辑
SELECT @ReUserID = UserID
FROM .
WHERE UserName = @UserName;
SET @IsExists = @@ROWCOUNT;
IF @IsExists = 0
BEGIN
SET @ReturnDesc = '账号不存在';
RETURN 3;
END
SET @ReturnDesc = '登录成功';
RETURN 1;
END TRY
BEGIN CATCH
SET @ReturnDesc = ' CATCH:' + ERROR_MESSAGE();
RETURN -1;
END CATCH;
GO
PrGs_User_LoginFromArea_20160730
CREATE PROCEDURE .
@UserName nvarchar(32),
@Password nvarchar(42),
@WorldID int,
@ClientIP nvarchar(24),
@MacAddress nvarchar(24),
@PartnerID int,
@DiskSN int,
@VerifyCodeSucess tinyint,
@ReUserID int OUTPUT,
@ReIsAdult tinyint OUTPUT,
@PassportFlags int OUTPUT,
@AppealFlags int OUTPUT,
@AppealUID int OUTPUT,
@ServiceFlags int OUTPUT,
@TotalPay int OUTPUT,
@IdCardID int OUTPUT,
@PWProtectTime int OUTPUT,
@BlackFlags tinyint OUTPUT,
@GestureFlags tinyint OUTPUT,
@GesturePassword nvarchar(32) OUTPUT,
@PhoneNum nvarchar(16) OUTPUT,
@MobileNo nvarchar(16) OUTPUT,
@PersonASign int OUTPUT,
@AddLimitTime smallint OUTPUT,
@AddLimitTimeDot int OUTPUT,
@LimitUseResLv tinyint OUTPUT,
@DisableAccountTime smallint OUTPUT,
@DangerFactor int OUTPUT,
@UserBirthday int OUTPUT,
@OldUserFlags smallint OUTPUT,
@BindActorID int OUTPUT,
@LaunchActorName nvarchar(32) OUTPUT,
@CheckInTime int OUTPUT,
@UserPassword nvarchar(64) OUTPUT,
@ClientQ nvarchar(32) OUTPUT,
@ClientPhone nvarchar(32) OUTPUT,
@CReadLimit int OUTPUT,
@CInfoUpdTime int OUTPUT,
@TryPlayFlag tinyint OUTPUT,
@KillFlag tinyint OUTPUT,
@Remark nvarchar(512) OUTPUT,
@IsExists tinyint OUTPUT,
@ReturnDesc nvarchar(128) OUTPUT
AS
BEGIN TRY
-- 这里放置存储过程逻辑
SELECT @ReUserID = UserID
FROM .
WHERE UserName = @UserName AND Password = @Password;
SET @IsExists = @@ROWCOUNT;
IF @IsExists = 0
BEGIN
SET @ReturnDesc = '账号不存在';
RETURN 3;
END
SET @ReturnDesc = '登录成功';
RETURN 1;
END TRY
BEGIN CATCH
SET @ReturnDesc = ' CATCH: ' + ERROR_MESSAGE();
RETURN -1;
END CATCH;
GO
服务端文件
local Database = require("database")
-- 发放物品
function GiveItem(playerId, itemId, amount)
local player = Database:GetPlayer(playerId)
if player then
local item = Database:GetItem(itemId)
if item then
table.insert(player.items, {id = itemId, amount = amount})
Database:UpdatePlayer(player)
print("Player " .. player.name .. " received " .. amount .. " of item " .. itemId)
else
print("Item not found")
end
else
print("Player not found")
end
end
-- 回收物品
function TakeItem(playerId, itemId, amount)
local player = Database:GetPlayer(playerId)
if player then
for i, item in ipairs(player.items) do
if item.id == itemId then
if item.amount >= amount then
item.amount = item.amount - amount
if item.amount == 0 then
table.remove(player.items, i)
end
Database:UpdatePlayer(player)
print("Player " .. player.name .. " lost " .. amount .. " of item " .. itemId)
return
end
end
end
print("Player does not have enough items")
else
print("Player not found")
end
end
return {
GiveItem = GiveItem,
TakeItem = TakeItem,
}
local Database = require("database")
-- 查询玩家信息
function GetPlayerInfo(playerId)
return Database:GetPlayer(playerId)
end
-- 封禁/解封玩家
function BanPlayer(playerId, isBan)
local player = Database:GetPlayer(playerId)
if player then
player.status = isBan and PLAYER_STATUS_BANNED or PLAYER_STATUS_NORMAL
Database:UpdatePlayer(player)
print("Player " .. player.name .. " is now " .. (isBan and "banned" or "unbanned"))
else
print("Player not found")
end
end
-- 修改玩家属性
function ModifyPlayerAttribute(playerId, attribute, value)
local player = Database:GetPlayer(playerId)
if player then
player = value
Database:UpdatePlayer(player)
print("Player " .. player.name .. " attribute " .. attribute .. " set to " .. value)
else
print("Player not found")
end
end
return {
GetPlayerInfo = GetPlayerInfo,
BanPlayer = BanPlayer,
ModifyPlayerAttribute = ModifyPlayerAttribute,gm_commands/
├── main.lua -- 主入口文件
├── commands/
│ ├── create_item.lua -- 创建物品
│ ├── kick_player.lua -- 踢掉玩家
│ ├── mute_player.lua -- 禁言
│ ├── unmute_player.lua -- 解除禁言
│ ├── hide_self.lua -- 隐藏自己
│ ├── show_self.lua -- 恢复可见状态
│ ├── invincible.lua -- 无敌模式
│ ├── normal.lua -- 恢复普通模式
│ ├── clear_stats.lua -- 清除人物属性点
│ ├── clear_skills.lua -- 清除技能点
│ ├── learn_skill.lua -- 学习新技能
│ ├── check_nation.lua -- 检查国家信息
│ ├── scatter_players.lua -- 驱散周围玩家
│ ├── imprison_player.lua -- 囚禁指定玩家
│ ├── handle_nation.lua -- 处理国家强弱
│ ├── summon_npc.lua -- GM召唤NPC
│ ├── start_siege.lua -- 引发怪物攻城
│ ├── kick_gateway.lua -- 踢掉网关上的玩家
│ ├── reload_chest.lua -- 重新加载宝箱数据
│ ├── reload_gift.lua -- 重新加载礼官数据
│ ├── refresh_tables.lua-- 手动刷新基本表
│ ├── newquest.lua -- 手动newquest脚本
│ ├── call_lua.lua -- 直接调用Lua函数
│ ├── allow_register.lua-- 允许注册
│ ├── allow_login.lua -- 允许登录
│ ├── set_game_function.lua -- 设置游戏功能
│ ├── start_guild_war.lua -- 启动和停止帮会夺城战
│ ├── set_role_permission.lua -- 设置角色权限
│ ├── set_runtime_param.lua -- 设置运行参数
│ ├── stock_management.lua -- 股票委托管理
│ ├── kill_mode.lua -- 必杀模式
│ ├── clear_monsters.lua-- 清除范围内的怪物
│ ├── query_account.lua -- 查询账号
│ ├── server_population.lua -- 得到本组服务器的人数分布
│ ├── maintenance.lua -- 停机维护
│ ├── get_time.lua -- 得到系统当前时间
│ ├── gold_system.lua -- 金币系统
│ ├── check_war_record.lua -- 查看国战记录
│ ├── compensate_gold.lua -- 金子补偿
│ ├── compensate_silver.lua -- 银子补偿
│ ├── set_server_version.lua -- 动态设置服务器版本号
│ ├── create_guild.lua -- 创建帮会
│ ├── create_family.lua -- 创建家族
│ └── ...
├── utils.lua -- 辅助工具函数
└── config.lua -- 配置文件
这个是服务端主入口文件自己改下目录 大佬历害呀 什么时候发个整合好的出来呢 大佬历害呀 什么时候发个整合好的出来呢
页:
[1]