This commit is contained in:
anson1788 2020-06-23 15:22:38 +08:00
parent a733f596c0
commit 0d8534b108
705 changed files with 0 additions and 252751 deletions

535
CSA.sql
View File

@ -1,535 +0,0 @@
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- 数据库: `CSA`
--
-- --------------------------------------------------------
--
-- 表的结构 `capturepet`
--
CREATE TABLE IF NOT EXISTS `capturepet` (
`unicode` varchar(32) NOT NULL,
`id` int(11) NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`type` int(11) NOT NULL,
`lv` int(11) NOT NULL,
`hp` int(11) NOT NULL,
`attack` int(11) NOT NULL,
`def` int(11) NOT NULL,
`quick` int(11) NOT NULL,
`sum` double NOT NULL,
`author` varchar(32) CHARACTER SET gbk NOT NULL,
`cdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`check` tinyint(1) NOT NULL DEFAULT '0',
`inserttime` datetime NOT NULL,
PRIMARY KEY (`unicode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `CashDraw`
--
CREATE TABLE IF NOT EXISTS `CashDraw` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(16) NOT NULL,
`point` int(11) NOT NULL,
`fixtime` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `check`
--
CREATE TABLE IF NOT EXISTS `check` (
`itemcode` varchar(64) NOT NULL,
`cdkey` varchar(32) NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`mac` varchar(64) NOT NULL,
`type` varchar(32) CHARACTER SET gbk NOT NULL,
`value` int(11) NOT NULL,
`time` datetime NOT NULL,
`check` tinyint(4) NOT NULL DEFAULT '0',
`usecdkey` varchar(32) DEFAULT NULL,
`usename` varchar(32) CHARACTER SET gbk DEFAULT NULL,
`usemac` varchar(64) DEFAULT NULL,
`usetime` datetime DEFAULT NULL,
PRIMARY KEY (`itemcode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `consignment`
--
CREATE TABLE IF NOT EXISTS `consignment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) COLLATE gb2312_bin NOT NULL,
`name` varchar(32) COLLATE gb2312_bin NOT NULL,
`alive` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin;
-- --------------------------------------------------------
--
-- 表的结构 `counter`
--
CREATE TABLE IF NOT EXISTS `counter` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`type` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`alive` int(11) NOT NULL,
`fame` int(11) NOT NULL,
`fixtime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `CSAinfo`
--
CREATE TABLE IF NOT EXISTS `CSAinfo` (
`cdkey` varchar(32) CHARACTER SET gbk NOT NULL,
`saveindex` int(11) NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`famename` varchar(32) CHARACTER SET gbk COLLATE gbk_bin NOT NULL,
`CE` int(16) NOT NULL DEFAULT '0',
`level` int(11) NOT NULL,
`trans` int(11) NOT NULL,
`alive` int(11) NOT NULL,
`cameo` int(11) NOT NULL,
`fame` int(11) NOT NULL,
`TITLE_LV` int(11) NOT NULL,
`DUELBATTLECOUNT` int(11) NOT NULL,
`DUELWINCOUNT` int(11) NOT NULL,
`DUELLOSECOUNT` int(11) NOT NULL,
`DUELSTWINCOUNT` int(11) NOT NULL,
`DUELSTLOSECOUNT` int(11) NOT NULL,
`DUELMAXSTWINCOUNT` int(11) NOT NULL,
`RESETPETCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '洗宠次数',
`AWAKEPETCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '变异次数',
`SEALEVNTCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '任务封印次数',
`TRANSPETCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '转宠次数',
`KILLBOSSCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '击杀BOSS次数',
`BOSSKILLCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '被BOSS杀次数',
`CAPPETCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '抓宠次数',
`FEEDMMCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '练MM次数',
`EQUIPUPCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '强化成功次数',
`EQUIPFAILCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '强化失败次数',
`MAGICADDCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '附魔次数',
`HORSEWINCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '跑马押中次数',
`HUNTFISHCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '捕鱼次数',
`HUNTBIGFISHCOUNT` int(16) NOT NULL DEFAULT '0' COMMENT '大鱼次数',
`vip` int(11) NOT NULL,
`time` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin;
-- --------------------------------------------------------
--
-- 表的结构 `CSAlogin`
--
CREATE TABLE IF NOT EXISTS `CSAlogin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(32) CHARACTER SET gbk NOT NULL,
`PassWord` varchar(32) CHARACTER SET gbk NOT NULL,
`IP` varchar(16) NOT NULL DEFAULT '-',
`MAC` varchar(64) NOT NULL,
`RegTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`LoginTime` datetime DEFAULT '0000-00-00 00:00:00',
`OnlineName` varchar(32) CHARACTER SET gbk DEFAULT NULL,
`OnlineName1` varchar(30) CHARACTER SET gbk DEFAULT NULL,
`OnlineName2` varchar(32) CHARACTER SET gbk DEFAULT NULL,
`Online` tinyint(4) DEFAULT '0',
`Path` varchar(16) DEFAULT '',
`CE` int(16) NOT NULL DEFAULT '0',
`VipPoint` int(11) DEFAULT '0',
`PayPoint` int(11) NOT NULL,
`GamblePoint` int(11) NOT NULL,
`TrialPoint` int(16) NOT NULL DEFAULT '0',
`GoldPoint` int(16) NOT NULL DEFAULT '0',
`SQLPoint` int(16) NOT NULL DEFAULT '0',
`SafePasswd` varchar(32) DEFAULT '',
`ServerId` int(4) NOT NULL DEFAULT '0',
`Regip` varchar(32) NOT NULL,
`qq` varchar(32) NOT NULL,
`tel` varchar(32) NOT NULL,
`ServerName` varchar(32) NOT NULL,
`Recommender` int(11) NOT NULL,
`Lock` int(4) NOT NULL DEFAULT '0',
`LockTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`LockInfo` varchar(32) NOT NULL DEFAULT '',
`Offline` tinyint(4) NOT NULL DEFAULT '0',
`Trust` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `Name` (`Name`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `dice`
--
CREATE TABLE IF NOT EXISTS `dice` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`type` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`alive` int(11) NOT NULL,
`fame` int(11) NOT NULL,
`dicenum` int(11) NOT NULL,
`fixtime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `dicelog`
--
CREATE TABLE IF NOT EXISTS `dicelog` (
`type` int(11) NOT NULL DEFAULT '0',
`winpoint` int(11) NOT NULL DEFAULT '0',
`losepoint` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `loan`
--
CREATE TABLE IF NOT EXISTS `loan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`PetName` varchar(32) CHARACTER SET gb2312 NOT NULL,
`PetInfo` varchar(512) CHARACTER SET gb2312 NOT NULL,
`PetString` varchar(2048) CHARACTER SET gb2312 NOT NULL,
`day` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`stat` int(11) NOT NULL DEFAULT '0',
`loancdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`loanname` varchar(32) CHARACTER SET gb2312 NOT NULL,
`fixtime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `LOCK`
--
CREATE TABLE IF NOT EXISTS `LOCK` (
`Name` varchar(64) NOT NULL,
`LockTime` datetime NOT NULL,
PRIMARY KEY (`Name`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `OnlineBuy`
--
CREATE TABLE IF NOT EXISTS `OnlineBuy` (
`CostPasswd` varchar(32) NOT NULL,
`CostStr` varchar(64) DEFAULT NULL,
`cdkey` varchar(32) DEFAULT NULL,
`CostTime` datetime DEFAULT NULL,
`check` tinyint(1) DEFAULT '1',
PRIMARY KEY (`CostPasswd`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `OnlineCard`
--
CREATE TABLE IF NOT EXISTS `OnlineCard` (
`CostPasswd` varchar(32) NOT NULL,
`CostStr` varchar(64) DEFAULT NULL,
`cdkey` varchar(32) DEFAULT NULL,
`CostTime` datetime DEFAULT NULL,
`check` tinyint(1) DEFAULT '1',
PRIMARY KEY (`CostPasswd`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `OnlineCost`
--
CREATE TABLE IF NOT EXISTS `OnlineCost` (
`CostPasswd` varchar(32) NOT NULL,
`CostVal` int(11) NOT NULL,
`PayVal` int(11) NOT NULL,
`cdkey` varchar(32) DEFAULT '',
`CostTime` datetime NOT NULL,
`check` tinyint(1) NOT NULL DEFAULT '1',
`creator` varchar(32) DEFAULT NULL,
UNIQUE KEY `CostPasswd` (`CostPasswd`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `OnlinePlayer`
--
CREATE TABLE IF NOT EXISTS `OnlinePlayer` (
`cdkey` varchar(32) NOT NULL,
`MAC` varchar(64) NOT NULL,
`Name` varchar(32) NOT NULL,
`LoginTime` datetime NOT NULL,
`ServerId` int(11) NOT NULL,
PRIMARY KEY (`cdkey`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `PauctionInfo`
--
CREATE TABLE IF NOT EXISTS `PauctionInfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) CHARACTER SET gbk NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`effect` varchar(1024) CHARACTER SET gbk NOT NULL,
`cost` int(11) NOT NULL,
`type` int(11) NOT NULL,
`info` varchar(1024) CHARACTER SET gbk NOT NULL,
`string` varchar(1024) CHARACTER SET gb2312 NOT NULL,
`day` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `petbilling`
--
CREATE TABLE IF NOT EXISTS `petbilling` (
`id` int(11) NOT NULL,
`type` tinyint(4) NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`lv` int(11) NOT NULL,
`hp` int(11) NOT NULL,
`attack` int(11) NOT NULL,
`def` int(11) NOT NULL,
`quick` int(11) NOT NULL,
`author` varchar(32) CHARACTER SET gb2312 NOT NULL,
PRIMARY KEY (`id`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `pklist`
--
CREATE TABLE IF NOT EXISTS `pklist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player1` varchar(32) CHARACTER SET gb2312 NOT NULL,
`player2` varchar(32) CHARACTER SET gb2312 NOT NULL,
`player3` varchar(32) CHARACTER SET gb2312 NOT NULL,
`player4` varchar(32) CHARACTER SET gb2312 NOT NULL,
`player5` varchar(32) CHARACTER SET gb2312 NOT NULL,
`seesion` int(11) NOT NULL,
`stat` int(11) NOT NULL DEFAULT '0',
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `safedata`
--
CREATE TABLE IF NOT EXISTS `safedata` (
`cdkey` varchar(32) NOT NULL DEFAULT '',
`newsafe` varchar(64) DEFAULT NULL,
`oldsafe` varchar(64) DEFAULT NULL,
`flg` int(1) NOT NULL,
`FixTime` datetime NOT NULL,
PRIMARY KEY (`cdkey`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `SaleVipPoint`
--
CREATE TABLE IF NOT EXISTS `SaleVipPoint` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`Vippoint` int(11) NOT NULL,
`rate` int(11) NOT NULL,
`price` int(11) NOT NULL,
`stat` int(11) NOT NULL,
`CreateTime` datetime NOT NULL,
`PayTime` datetime NOT NULL,
`banktype` varchar(32) CHARACTER SET gb2312 NOT NULL DEFAULT '',
`bankcdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`bankname` varchar(8) CHARACTER SET gb2312 NOT NULL,
`QQ` varchar(11) CHARACTER SET gb2312 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `SuperStar`
--
CREATE TABLE IF NOT EXISTS `SuperStar` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`award` varchar(32) CHARACTER SET gb2312 NOT NULL,
`check` int(11) NOT NULL,
`datatime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `transpointlog`
--
CREATE TABLE IF NOT EXISTS `transpointlog` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`incdkey` varchar(32) DEFAULT NULL,
`outcdkey` varchar(32) DEFAULT NULL,
`type` varchar(32) DEFAULT NULL,
`inpoint` int(11) DEFAULT '0',
`outpoint` int(11) DEFAULT '0',
`datetime` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
-- --------------------------------------------------------
--
-- 表的结构 `VipShop`
--
CREATE TABLE IF NOT EXISTS `VipShop` (
`cdkey` varchar(32) COLLATE gb2312_bin NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`itemid` int(11) NOT NULL,
`itemname` varchar(32) CHARACTER SET gb2312 NOT NULL,
`itemnum` int(11) NOT NULL,
`totalcost` int(16) NOT NULL,
`time` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin;
-- --------------------------------------------------------
--
-- 表的结构 `weekpay`
--
CREATE TABLE IF NOT EXISTS `weekpay` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`term` int(11) NOT NULL,
`cdkey` varchar(32) NOT NULL,
`itemid` int(11) NOT NULL,
`check` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `YamaKing`
--
CREATE TABLE IF NOT EXISTS `YamaKing` (
`index` int(13) NOT NULL AUTO_INCREMENT,
`cdkey` varchar(32) CHARACTER SET gbk NOT NULL,
`name` varchar(32) CHARACTER SET gbk NOT NULL,
`floor` int(16) NOT NULL,
`itemid` int(16) NOT NULL,
`itemname` varchar(16) CHARACTER SET gbk NOT NULL,
`time` datetime NOT NULL,
`mac` varchar(64) CHARACTER SET gbk NOT NULL,
`servername` varchar(32) CHARACTER SET gbk NOT NULL,
PRIMARY KEY (`index`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `yuxiaxie`
--
CREATE TABLE IF NOT EXISTS `yuxiaxie` (
`date` date NOT NULL,
`cdkey` varchar(32) CHARACTER SET gb2312 NOT NULL,
`name` varchar(32) CHARACTER SET gb2312 NOT NULL,
`type` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`fame` int(11) NOT NULL,
`alive` int(11) NOT NULL,
`fixtime` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- 表的结构 `yuxiaxielog`
--
CREATE TABLE IF NOT EXISTS `yuxiaxielog` (
`date` date NOT NULL,
`type` int(11) NOT NULL,
`vippoint` int(11) NOT NULL,
`alive` int(11) NOT NULL,
`fame` int(11) NOT NULL,
`sumvippoint` int(11) NOT NULL,
`sumalive` int(11) NOT NULL,
`sumfame` int(11) NOT NULL,
`fixtime` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

138
acserv.cf
View File

@ -1,138 +0,0 @@
CPUUSE 2
##############################
#SAAC基本参数设置
# 帐户服务器端卿
port 10001
# 帐户服务器密瞿
pass test
# rotale_internal
rotale_internal 1000
# dbdir文件目录
dbdir data
# LOG文件目录
logdir log
# LOCK文件目录
lockdir lock
# CHAR文件目录
chardir char
# CHAR_SLEEP文件目录
sleepchardir char_sleep
# WKLOG文件目录
wklogdir data/wklog
# MAIL文件目录
maildir mail
# family文件目录
familydir data/family
# fmpoint文件目录
fmpointdir data/fmpointdir
# fmsmemo文件目录
fmsmemodir data/fmsmemodir
# SA名称
SANAME Test
# LSADDRESS
LSADDRESS localhost
# LS端口
LSPORT 3334
# TEST名称
TESTNAME Test
# OACBIND
OACBIND
# 星系名称
saacname Test
##############################
# 更新人物点数间隔xx祿
Total_Charlist 3600
# 更新进期邮件间隔xx祿
Expired_mail 600
# 删除家族成员间隔xx祿
Del_Family_or_Member 3600
# 更新家族信息间隔xx祿
Write_Family 600
##############################
#MYSQL基本配置
#ifdef _SASQL
#sql服务器IP
sql_IP 127.0.0.1
#sql服务器端卿
sql_Port 3306
#sql服务器账卿
sql_ID root
#sql服务器密瞿
sql_PS 123456
#sql数据库名
sql_DataBase CSA
#sql人物信息表名
sql_Table CSAlogin
#sql用户名字欿
sql_NAME Name
#sql密码字段县
sql_PASS PassWord
#sql锁定账号表名
sql_LOCK LOCK
########后台功能############
#是台开始后台功聿
openbackground 1
#openbackground值为1则开始以下功聿
sql_RegIP IP
sql_RegTime RegTime
sql_LoginTime LoginTime
sql_Path Path
sql_OnlineName OnlineName
#禁止多少天未上线的账号登闿
uLoginDay 60
############################
#是否限制同一IP登陆次数(0为不限制)
SameIpMun 0
#是否使用MD5(0为否ﺿ为是)
USEMD5 0
#每隔几天自动备份一次数拿
AUTOBACKUPDAY 1
#几点进行自动备份
AUTOBACKUPHOUR 2
#是否自动注册
AutoReg 0
#六合彩间格时长墿
LOTTERYSYSTEM 1000
#充值积分倍数
DoublePayPoint 1
#IP验证
ip1 127.0.0.1
ip2 127.0.0.2
ip3 127.0.0.3
ip4 127.0.0.4
ip5 127.0.0.5
savezip 1
#endif

795
setup.cf
View File

@ -1,795 +0,0 @@
#ChangeRunLevel
#运行等级 范围是-20~19 其中-20的运行级别最高
runlevel=0
#性能调节诺想CPU使用率大些的请把值设大些
CPUUSE=1
#recvbuffer表示每个玩家接收缓冲区大小 范围0K-128K
recvbuffer=64
#recvbuffer表示每个玩家发送缓冲区大小 范围0K-128K
sendbuffer=64
#readbuffer表示每个玩家接收缓冲区下限 范围128-1024
recvlowatbuffer=128
# Debug Level 0 for none
#服务器调试等级
#有用的值为013
#0不报告任何错误
#1: 只报告关键错误 其他错误将忽略
#3报告所有错误
debuglevel=3
#人物循环运行时间
charlooptime=3
#重登陆不踢号
LOGINNOKICK=1
#控制转宠
CTRLTRANS=1
#光明黑暗精灵扣气比例在精灵前加[][]
FMMAGICMPRATE1=0.2
FMMAGICMPRATE2=0.2
#带宽优化,原地状态下VS不显(1全部开启,2单人开启,3队员开启,0关闭)
VSFLG=1
#暂时无用的
Connectnum=40
PetEnemyDevelopUp=0
#放攻击策略
NOATTTYPE=0
NOATTTIME=15
#不加声望地图
NOFAMEMAP=34567
#说话最小音量
TALKMIN=2
#说话最大音量
TALKMAX=3
#定义精灵0转100级以下不扣气
NOMPMAGIC=,10,
#当前线路族战最大进入人数
FMWARPLAYERNUM=50
#线路族战最大数显示
FMWARPLAYERNUMBUFF=石器一线,50,石器PK二线,60,石器PK三线,80,石器PK四线,100,石器PK单号线,200
#原地延时
BATTLESPEED=2000
#战斗回合延迟(毫秒)
battletime=200
声望模式0为默认1为自定义
PETUPGETEXP=1
#道具第一次交易自动绑定
FirstLockItem=1,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#伤害程度设置(默认为100)
dammagecalc=85
#刷新NPC设置RELOADNPCTIME*10 0为关闭 最大值10000 RELOADNPCTYPE 0为关闭 1为传送当前坐标
RELOADNPCTIME=0
RELOADNPCTYPE=1
#####################################安全相关#####################################
#信任IP
NOATTIP1=
NOATTIP2=
NOATTIP3=
NOATTIP4=
NOATTIP5=
#端口防御
MANRENNUM=500
#服务端主动防御不对比游戏中的人,时间,FENGTYPE 1 对比数据库封人 2 不对比数据库封人 3 只T人
NOFULLPLAYER=100
NOFULLTIME=5
FENGTYPE=1
#防御错误账号10+6+?,NOCDKEYMODE 0为关闭 1为不存在ID 2为错误账号,NOCDKEYTYPE 0为对比数据库 1为不对比数据库
NOCDKEYPLAYER=50
NOCDKEYMODE=1
NOCDKEYTYPE=1
#正确封包数量(登录前封包数量,0是对比数据库,1是不对比数据库)
RIGHTNUM=4000
RIGHTMODE=0
#登录前封包
BIGBAO=300
#登陆后封包
BIGBAO2=800
#设置战斗NPC和道具对话验证答案范围
TALKCHECKMIN=50
TALKCHECKMAX=100
#信任IP
serverip=127.0.0.1,120.25.121.212,58.96.187.218,115.28.12.42,101.200.174.216
#同一IP登陆数
sameiponlinenum=2
#当ITEMPETLOCKED=0时则不使用安全锁功能
ITEMPETLOCKED=1
####################################摆摊相关######################################
#几转才可以摆摊
streetvendortrans=0
#设置摆摊功能每次成功交易税收费用(单位:%)
STREETVENDORPOINT=0,0,0,0
####################################喊话相关######################################
#使用星球频道所需声望
#转数
ALLSERVTRANS=5
#等级
ALLSERVLEVEL=140
#声望
ALLSERVSNED=10000
#使用世界频道所需声望
THEWORLDTRANS=1
THEWORLDLEVEL=100
THEWORLDSNED=10
#每在线/SAVE保存一次所需声望
SAVEFAME=0
##################################地图属性#######################################
#不可以HELP的地图
nohelpmap=40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,33020,33040,33060,33080,33100,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#玩家重叠时立即PK
PLAYEROVERLAPPK=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#禁止逃跑的地图
NOTESCAPE=12345,140,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,8252,8253,8254,8256,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#禁止原登地图设置
UNLAWTHISLOGOUT=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#禁止组队地图设置
NOJOINFLOOR=33020,33040,33060,33080,33100,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#特殊地图战后自动恢复体力
MAPHEAL=2000,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,2005,3000,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
###################################六转相关#######################################
#六转是否取消精召任务判断(1是0否)
CANCELANGLETRANS=1
#精灵召唤时间间隔(ANGELPLAYERTIME/在线人数)分钟
ANGELPLAYERTIME=5000
#精灵召唤所需在线人数(最小为2)
ANGELPLAYERMUN=1000
##################################宠物相关#########################################
#设置宠物转生后能力值增长
#该选择是宠转转后额外增加点数如设置2一转就加2二转则翻倍就是增4
#默认0
PETTRANSABILITY=0
#以下两项是防一转二转成长过大的限制设置
#一转默认200
PETTRANSABILITY1=180
#二转默认200
PETTRANSABILITY2=200
#宠技商品LUA判断脚本路径
PETSKILLSHOPPATH=data/ablua/freepetskillshop.lua
#当DELNEEDITEM=0,抓宠所需的物品不自动删除
DELNEEDITEM=1
#遇不到什么敌人(短编号)
NOENEMYIDGROUP=1661,1662,1663,1664
###################################族战相关######################################
#自定义族战开片时间,次日几点,-1则为下战书的时间暂时无用
FIMALYPKTIME=20
###################################外挂相关#######################################
#禁止外挂快速遇敌(0为不改变,1为禁止快速遇敌,2为当外挂快速遇敌时,自动原地遇敌)
NOSTWENEMY=0
#当NOSTWENEMY=2,每次成功快速遇敌自动扣除石币点数
NOSTWENEMYGOLD=0
#使用外挂瞬移设置
#-1为关闭此功能,0为不需损耗,1为损耗石币,2为损耗声望,3为损耗积分,4为损耗气势,5为损耗在DP
STWSENDTYPE=2
#使用移挂瞬移所需损耗点
STWSENDPOINT=100
#是否道具仓库进行强存
#0为可以强存
#1为仓库可以强库但共同仓库不能强存
#2为共同仓库可以强库但仓库不能强存
#3禁止强存
POOLITEMBUG=3
###################################会员相关#####################################
#会员经验倍数
vipbattleexp=1
#是否把服务器设为会员包时专区(1是0否)
VIPBOUNDTIME=0
#当VIPBOUNDTIME=1以下生效
UNBOUNDTIMETRANS=0
UNBOUNDTIMELEVEL=120
#当玩家转数及等级超越以上设置则只能在以下设置地图活动
UNBOUNDTIMEMAP=2000,65,65
###################################活动相关#####################################
#战斗获得物品机率设置选项
#战斗获得物品设置(越前面机率越低)
BATTLEGETITEMRATE=-1
#战斗获得物品地图设置
BATTLEGETITEMRATEMAP=0
#幸运星功能设定data/luckstar.txt
#幸运星触发时间周期(单位10秒)(1小时)
LUCKSTARTIME=-1
#运星触发事件后成功机率(60%触发成功)
LUCKSTARCHANCES=100
#乱舞PK每天几点开始(-1不启用)
AUTOPK=-1
#参加乱舞资格转数方可入场
AUTOPKTRANS=1
#参加乱舞资格等级方可入场
AUTOPKLV=100
#乱舞开始赠送积分
AUTOPKPOINT=100
#乱舞每杀一人获得积分
KILLPOINT=10
#会员点PK地图扣点设置(地图顺序11111,22222,33333,44444)
PKMAP=10,20,30,40
#会员点PK每次胜利收取手续费
PKMAPCOST=10
###################################危险选项#####################################
#非开BT服千万别设置这里若BT服请自行设置
#宠物每项成长增长数值
BTPET=1
#道具数值(攻防敏)翻几倍
BTITEM=1
#删除指定ID的宠物(可定义30)
AUTODELPET=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#删除指定ID的道具(可定义30)
AUTODELITEM=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#特殊地图(四张地图)
SPECIALMAP=-1,-1,-1,-1
###################################系统相关#####################################
#玩家上线提示
#0登陆公告与会员上线提示不使用
#1使用登陆公告和会员上线提示
#2使用登陆公告但不使用会员上线提示
#3会员不显示登陆公告且会员上线提示
LOGINDISPLAY=3
#新手出生能骑多少级以下的宠物
RIDEPETLEVEL=140
#家族退出再加的时间限制(小时)
JOINFAMILYTIME=0
#非法宠物检查(1为检查,0为不检查)
CHECKPEPEAT=0
#融合是否可以转生
#(0不可转生1为可以1转最大只能2转)
FUSIONBEIT=1
#减少玩家步行遇敌频率倍数
ENEMYACTION=3
#庄园家族互抢庄园模式
FMPOINTPK=0
#骑宠模式
#0为正常8.0
#1为正常2.0带骑证模式(光明骑蓝暴黑暗骑红暴)
#2为正常2.0非骑证模式(光明骑蓝暴黑暗骑红暴)
#3可自由骑任意骑宠
RIDEMODE=0
#自定义在线人虚假人数(虚假人数+在线人数+随机人数)
PLAYERNUM=0
#新手出生可获得会员点数
GIVEVIPPOINT=0
#战斗完获得金钱(人物等级的倍数)
BATTLEGOLD=0
#VIP字段显示方法
#0为不显示VIP
#1为在家族中显示VIP
#2为在名称中显示VIP
SHOWVIP=1
#玩家使用大瞬移每次所需点数(-1为关闭)
PMOVE=0
#玩家使用小喇叭每次所需点数(-1为关闭)
PANNOUNCE=1
#恶魔宝石遇敌时间倍数(遇敌时间0.1*倍数)--失效
CHARLOOPS=1
#自定义骑宠相差等级
RIDELEVEL=5
#自定义可骑乘最大转数的骑宠
RIDETRANS=1
#自定义升级点数
SKILLUPPOINT=3
#每转点数上限定义(-1表示默认)
TRANSPOINTUP=-1,-1,-1,-1,-1,610,-1
#禁止点数上限复点(当POINT=0,每转点数上限生效)
POINT=1
#正常点数可超越(指得是使用多少祝福点数)
TRANS0=5
TRANS1=10
TRANS2=15
TRANS3=20
TRANS4=30
TRANS5=40
TRANS6=5
TRANS7=5
#设置循环公告循环时间(分钟)
ANNOUNCETIME=30
#设置循环公告路径
ANNOUNCEPATH=loopannounce.txt
#是否允许所有地图强制战斗(1为是0为不是)
BATTLEFLOOR=0
#可强制战斗地图
BATTLEFLOORCF=-1,-1,-1,-1,-1
#是否所有地图可观战
WATCHFLOOR=0
#自定义可观战地图
WATCHFLOOR1=
WATCHFLOOR2=
WATCHFLOOR3=
WATCHFLOOR4=
WATCHFLOOR5=
#丢出来的宠是否可以给别人捡获(0为否1为是)
PETUP=1
#丢出来的道具是否可以给别人捡获(0为否1为是)
ITEMUP=1
#设置禁止使用职业技能的地图号
DISABLEPROFESSION=2000,100
#禁止IP配置文件
LOCKIP=lockip.txt
#新增禁止玩家互相传送地区
UNLAWWARPFLOOR=32021,8213,850,30695,60034,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
#禁止使用以下人物名称(原系统支持)
NAME1=极度无聊
NAME2=
NAME3=
NAME4=
NAME5=
#禁止使用以下人物名称(支持32个逗号分隔)
ILLEGALNAME=GM,客服,官方,技术
#自定义升级经验等级
USEREXP=data/exp.txt
#多少转可超越一般等级达到最高级(目前版本开放最高160级)
#人物转数
CHARTRANS=5
#宠物转数(当设了融合宠也能达到最高等级)(不设为-1)
PETTRANS=0
#玩家等级超越最大等级时还原最大等级
REVLEVEL=1
#最大等级设置
MAXLEVEL=140
#一般等级设置
LEVEL=120
#战斗后所获得经验倍数
battleexp=1
#自定义出生转数
TRANS=0
#自定义出生等级
LV=1
#自定义出生宠物(1为送虎2为送雷3为送虎加雷)
NPRIDE=1
#自定义出生宠物
PET1=-1
PET2=-1
PET3=-1
PET4=-1
#自定义出生物品
ITEM1=23757
ITEM2=22144
ITEM3=20626
ITEM4=30008
ITEM5=
ITEM6=
ITEM7=
ITEM8=
ITEM9=
ITEM10=
ITEM11=
ITEM12=
ITEM13=
ITEM14=
ITEM15=
#自定义出生宠物等级
PETLV=1
#自定义出生金钱
GOLD=100000
# Size of unit that will allocate
#每内存单元大小 单位字节
usememoryunit=128
# Number of unit
#有多少个内存单元
usememoryunitnum=16000000
#GMSV启动占用内存总量公式为 (usememoryunit*usememoryunitnum)/(1024*1024)
# Account Server Name
# 帐号服务器 SAAC的服务器IP地址
acserv=127.0.0.1
#acserv=192.168.0.123
# Account Server Port
# 帐号服务器 SAAC的服务器端口
#acservport=9208
acservport=10001
# Account Server password
# 连接到帐号服务器 SAAC的密码
acpasswd=test
# Game Server Name
# 服务器名字
gameservname=石器一线
#星球的ID
gameservlistid=1
# 服务器的ID
gameservid=1
==================================================
以下内容作废 对服务器无任何影响
#ifdef _SERVICE (另设置??)
#config.apid, sizeof(config.apid), NULL, 0},
apid=
#NULL ,0 ,(void*)&config.apport ,SHORT},
apport=
#NULL,0,(void*)&config.looptime,INT},
looptime=
#NULL,0,(void*)&config.enableservice,INT},
enableservice=
#endif
==================================================
#NULL, 0, (void*)&config.allowmanorpk, SHORT},
# 是否允许族战
allowmanorpk=1
#NULL ,0 , (void*)&config.port,SHORT},
# 服务器端口
port=19065
# Server Number
# 服务器SN
servernumber=1
# Re-use addr
# 重复使用socket地址
# 当9065端口被占用的情况下会不断重试使用该端口
reuseaddr=1
# delay. If set to 1, may increase network load...
# socket套接字延迟 TCP_NODELAY 不建议开放
nodelay=0
==================================================
以下请设置为0 不写日志
# How long should logfile be wrote? In seconds?
log_write_time=0
# ?
log_io_time=0
# ?
log_game_time=0
==================================================
# 记录netloop_faster() 函数的LOG
log_netloop_faster=0
# 每次读取SAAC的数目
saacwritenum=10000
# 每次写入SAAC的数目
saacreadnum=10000
# Max fds, should be larger than online ppls
# 最大在线连接人数
fdnum=1000
# 最大在线人数
charnum=800
# Max pets numbers
# 最大在线宠数
petnum=30000
# Max other char numbers
# 其他最大数目 包含NPC数目+玩家数目
othercharnum=45000
# Max object numbers
# 最大对象数目
objnum=45000
# Max item numbers
# 最大道具数目
itemnum=50000
# Max battle numbers
# 最大战斗数目
battlenum=500
# Top directory(顶层文件夹?)
topdir=.
# Map file directory(地图文件夹)
mapdir=data/map
# Map tile file directory(地图设置文件)
maptilefile=data/map/mapset.txt
# Map2 file directory(新地图文件夹)
mapdir2=./data/map2
# Map2 tile file directory(新地图设置文件)
maptilefile2=./data/map2/mapset2.txt
# Battle map file(战斗地图文件)
battlemapfile=data/map/battlemap.txt
#ifdef _ITEMSET6_TXT(道具文件)
itemset6file=data/itemset6.txt
itemset5file=data/itemset5.txt
itemset4file=data/itemset4.txt
itemset3file=data/itemset3.txt
========================================================
以下作废 可有可无
#else(如果没有itemset6.txt的话选择下面的文件,应该是这样)
#ifdef _ITEMSET5_TXT
# { "itemset5file", config.itemfile, sizeof(config.invfile), NULL, 0},
#else
#ifdef _ITEMSET4_TXT
# { "itemset4file" , config.itemfile,sizeof(config.invfile),NULL,0},
#else
#ifdef _ITEMSET3_ITEM
# { "itemset3file" , config.itemfile,sizeof(config.invfile),NULL,0},
#endif
#endif
#endif
#endif
========================================================
# ?(无敌NPC或不可战斗NPC???)
invinciblefile=data/inv.txt
# ?(显示位置文件)
appearpositionfile=data/appear.txt
# ?(所有名称文件?)
titlenamefile=data/titlename.txt
# ?(所有设置文件?)
titleconfigfile=./data/titleconfig.txt
# ?(遇到怪的文件?)
encountfile=./data/encount.txt
# ?(宠物文件?)
enemyfile=./data/enemy1.txt
# ?(宠物基础设置文件?)
enemybasefile=./data/enemybase1.txt
# ?(遇敌组文件?)
groupfile=./data/group1.txt
# ?(精灵和魔法文件?)
magicfile=./data/magic.txt
#ifdef __ATTACK_MAGIC(攻击魔法文件?)
attmagicfile=./data/attmagic.bin
#endif
#ifdef _PETSKILL2_TXT(宠物技能文件)
petskillfile2=./data/petskill2.txt
#else
petskillfile1=./data/petskill.txt
#endif
# ?(物品组成文件?还是素材文件?)
itematomfile=./data/itematom.txt
# ?(遇敌?)
effectfile=data/effect.txt
# 猜迷的文件
quizfile=data/question.txt
# ?
#lsgenlogfilename=log/genlog
#ifdef _GMRELOAD(GM帐号文件)
gmsetfile=./data/gmset.txt
#endif
# Store DB?
# 还原玩家资料目录 可防止当机回档
storedir=../saac/char
# Npc dir
# NPC 目录
npcdir=data/npc
# Log dir
# 日志目录
logdir=./log
# Log configuration file
# 日志配置文件
logconfname=log.cf
# ?GM PASSWORD(GM密码)
chatmagicpasswd=gm
#ifdef _STORECHAR
# { "storechar", config.storechar, sizeof( config.storechar),NULL,0},
#endif
# (是否检查GM使用权限0为不检查,1为检查)
chatmagiccdkeycheck=1
# NPC下最大使用文件总数
filesearchnum=10000
# 注册NPC_fuction类型文件最大数
npctemplatenum=256
# NPC最大数
npccreatenum=10000
# Walk Send Interval
# 走路间隔 (在GMSV没开启MUTLITHREAD模式时 无作用)
walkinterval=10
# ?CA send interval (ms)
# CleanAll间隔 (在GMSV没开启MUTLITHREAD模式时 无作用)
CAinterval=10
# ?CD send interval (ms)
# CleanDest间隔 (在GMSV没开启MUTLITHREAD模式时 无作用)
CDinterval=10
# Character data save interval(数据存储间隔?)
CharSaveinterval=900
# 执行一次 netloop_faster 所消耗时间
Onelooptime=10
# How long a pet will be deleted (30 min?)
# (宠物消失时间)
Petdeletetime=60
# How long a item will be deleted (5 minutes?)
# (物品消失时间)
Itemdeletetime=60
#删除石币时间间隔
Golddeletetime=30
# 名片相关的设置 好象是发送名片最大限制 没仔细看过
addressbookoffmesgnum=500
# 接口频率调整 值越大频率越慢越节省资源
protocolreadfrequency=3000
# 每个连接错误上限 超过这个上限的连接将被关闭
allowerrornum=100
# 每个连接错误上限 超过这个上限的连接将被关闭
allowerrornum2=1
# ?(log时间?)
loghour=0
# ?(战斗错误消息?)
battledebugmsg=0
# //ttom add because the second had
# 客户端验证码 大陆无效
encodekey=1
# 往writebuffer缓冲区写数据大小 单位字节
acwritesize=1048576
# 缓冲区大小
acwbsize=1048576
# 如果发现玩家使用非法手段 比如说改封包跳NPC判断 或者点数异常 则关进监狱
erruser_down=1
# //ttom end
====================================================================
#以下可省略
#ifdef _AUCTIONEER
# { "auctiondir" , config.auctiondir, sizeof(config.auctiondir),NULL,0},
#endif
#ifdef _BLACK_MARKET
# { "blackmarketfile", config.blackmarketfile, sizeof(config.blackmarketfile), NULL, 0},
#endif
#ifdef _M_SERVER
# { "msname", config.msname,sizeof(config.msname) ,NULL , 0},
# { "msport", NULL ,0 , (void*)&config.msport ,SHORT},
#endif
#ifdef _NPCSERVER_NEW
# { "npcaddress", config.nsaddress, sizeof(config.nsaddress) ,NULL , 0},
# { "nsport", NULL, 0 , (void*)&config.nsport ,SHORT},
#endif
====================================================================
#人物职业技能
profession=./data/profession.txt
#endif
#退出团队的道具
itemquitparty=./data/itemquitparty.txt
#endif
#ifdef _MUSEUM
# { "museum", NULL , 0 , (void*)&config.museum , INT},
#endif
#LNS配置
LUAFILE=./data/lua/init.lua
#只有新手可穿戴装备
ROOKIEITEM=20627
ROOKIEITEM2=22161
ROOKIEITEM3=-1
ROOKIEITEM4=-1
ROOKIEITEM5=-1
#经验共享开关 0关闭共享 1开启共享
EXPSHARE=1
#禁止转生携带道具
NOTRANSITEM=18543
#最高合成道具等级itemset6中的装备等级 10级为60 20级为110
MAXMERGELEVEL=200

19
sql.cf
View File

@ -1,19 +0,0 @@
##############################
#MYSQL基本配置
#ifdef _SASQL
#sql服务器IP
sql_IP 127.0.0.1
#sql服务器端口
sql_Port 3306
#sql服务器账号
sql_ID root
#sql服务器密码
sql_PS 123456
#sql数据库名
sql_DataBase CSA
#sql人物信息表名
sql_Table CSAlogin
#sql用户名字段
sql_NAME Name
#sql密码字段名
sql_PASS PassWord

View File

@ -1,21 +0,0 @@
function data()
grouplist = {{1, 2, 0, "测试线路"}
}
serlist = {
{"192.168.1.2","19065","电信线路"},
{"192.168.1.2","19065","网通线路"},
}
end
function main()
data()
ServerList.SetGroupMaxNum(table.getn(grouplist))
for i = 1, table.getn(grouplist) do
ServerList.SetGroupList(i - 1, grouplist[i][1], grouplist[i][2], grouplist[i][3], grouplist[i][4])
end
for i = 1, table.getn(serlist) do
ServerList.SetServerList(i - 1, serlist[i][1], serlist[i][2], serlist[i][3])
end
end

View File

@ -1,32 +0,0 @@
function FreeGetBattleMap(floor)
math.randomseed(os.time());
local ret=0;
for i=1,table.getn(BattleMapList) do
if floor >= BattleMapList[i][1][1] and floor <= BattleMapList[i][1][2] then
local index = math.mod(math.random(9999,999999),table.getn(BattleMapList[i][2]));
if index == 0 then
index = table.getn(BattleMapList[i][2]);
end
ret = BattleMapList[i][2][index];
break;
end
end
return ret;
end
function main()
BattleMapList = {
{{60403,60403},{59301}},
{{33001,33020},{59314}},
{{33021,33040},{59315}},
{{33041,33060},{59316}},
{{33060,33080},{59317}},
{{33081,33101},{59318}},
{{35001,35016},{59300}},
};--{羲宎華芞瘍,賦旰華芞瘍},{呴儂桵須華芞1,呴儂桵須華芞2...呴儂桵須華芞n}
end
function data()
end

View File

@ -1,7 +0,0 @@
[InternetShortcut]
URL=http://www.shiqi.la/
Modified=200AD33B9EC9C60166
HotKey=0
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2

View File

@ -1,57 +0,0 @@
function GetTitleStr(id)
local num = table.getn(titleinfo);
if id >=1 and id <= num then
return titleinfo[id]
else
return "";
end
end
function data()
titleinfo = {
"[style c=9]大地的精灵[/style]",
"[style c=1]水的精灵[/style]",
"[style c=6]火炎精灵[/style]",
"[style c=4]疾风精灵[/style]",
"[style c=3]奥萝拉的精灵[/style]",
"[style c=1]彩[/style][style c=2]虹[/style][style c=5]的[/style][style c=3]精[/style][style c=4]灵[/style]",
"[style c=7]初心使者[/style]",
"[style c=7]无名的旅人[/style]",
"[style c=8]路边的落叶[/style]",
"[style c=9]水面的小草[/style]",
"[style c=10]呢喃的歌声[/style]",
"[style c=11]地上的月影[/style]",
"[style c=12]奔跑的春风[/style]",
"[style c=13]苍穹的风云[/style]",
"[style c=14]摇曳的金星[/style]",
"[style c=15]欢喜的慈雨[/style]",
"[style c=16]蕴含的太阳[/style]",
"[style c=17]敬畏的寂静[/style]",
"[style c=3]精靈封印者[/style]",
"[style c=2]五转轮回[/style]",
"[style c=4]盗贼讨伐者[/style]",
"[style c=6]盗贼帮众[/style]",
"[style c=25]夺宝奇兵[/style]",
"[style c=10]勇闯夺宝岛[/style]",
"[style c=4]合成达人[/style]",
"[style c=6]合成高手[/style]",
"[style c=4]练宠达人[/style]",
"[style c=6]练宠高手[/style]",
"[style c=4]任务达人[/style]",
"[style c=6]任务高手[/style]",
"[style c=0]初犊战士[/style]",
"[style c=8]圣灵勇士[/style]",
"[style c=21]玛丽那丝英雄[/style]",
"[style c=23]萨姆吉尔英雄[/style]",
"[style c=18]萨伊那斯使者[/style]",
"[style c=15]尼斯大陆英雄[/style]"
}
end
function main()
data()
end

View File

@ -1,132 +0,0 @@
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function lua_string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end
return sub_str_tab;
end
function WindowInit(data)
winW = 8
winH = 6
winX = (800 - winW*64)/2
winY = (600 - winH*48)/2
msgWNLen = (winW*64-48)/7
totalMsgLine = (winH*48-56)/20;
win.InitWindow(winW, winH, msgWNLen, data)
nowtime = os.time()
if addr ~= 0 then
sa.DeathAction(addr)
addr = 0
end
btnCnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
btnCnt = btnCnt + 1
end
end
end
function CreateWinType()
if addr == 0 then
-- addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
addr = sa.MakeWindowDisp(60,100,winW, winH, 0, 1)
end
sa.PlaySe(202, 320, 240)
return addr
end
function ServerWindowType()
if string.len(win.getMessageData(0)) > 0 then
sa.StockFontBuffer(winX + winW*64 / 2 - string.len(win.getMessageData(0)) * 4,winY + 20, 1, 4, "" .. win.getMessageData(0) .. "", 0)
end
sa.StockFontBuffer(winX + 20,winY + 40, 1, 10, " “庄 园” “家族名字” “占据时间” “占据时长”", 0)
for i = 1, 10 do
if string.len(win.getMessageData(i)) > 0 then
str = lua_string_split(win.getMessageData(i), "|")
sa.StockFontBuffer(winX + 32,winY + 40 + i * 20, 1, 11, fmpoint[i], 0)
local fmnamelen = string.len(str[1])-1
if fmnamelen > 0 then
sa.StockFontBuffer(winX + 185 - fmnamelen * 4,winY + 40 + i * 20, 1, 2, str[1], 0)
local hadtime = tonumber(str[2])
if hadtime > 0 then
sa.StockFontBuffer(winX + 263,winY + 40 + i * 20, 1, 1, os.date("%Y年%m月%d日", hadtime), 0)
end
local hadday = tonumber(str[3]) - hadtime
if hadday > 0 then
local strhadday = string.format("%d天%02d小时", getIntPart(hadday/(3600*24)), getIntPart(hadday%(3600*24)/(3600)))
local strhaddaylen = string.len(strhadday) - 1
sa.StockFontBuffer(winX + 442 - strhaddaylen * 4,winY + 40 + i * 20, 1, 0, strhadday, 0)
end
else
sa.StockFontBuffer(winX + 185 - 24,winY + 40 + i * 20, 1, 7, "未占据 未占据 未占据", 0)
end
end
end
if btnCnt > 0 then
local cnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
cnt = cnt + 1
local id = sa.StockFontBuffer(winX + cnt * winW*64 / (btnCnt + 1) - 27,winY + winH*48 - 25,1, 4, button[i], 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == id then
lssproto.windows(win.getIndexWN(), win.getIdWN(), sa.LeftShift(1, i-1), "")
win.CloseWindow()
break
end
end
end
end
end
if win.DelWindow() == 1 then
sa.DeathAction(addr)
win.CloseFlg()
addr = 0
win.CloseWindow()
end
return addr
end
function data()
button = {" 确定 ", " 取消 ", " 确定 ", " 取消 ", "上一页", "下一页"}
btnCnt = 0
addr = 0
winW = 0
winH = 0
winX = 0
winY = 0
fmpoint = {"萨姆吉尔", "玛丽娜丝", "加  加", "卡鲁它那", "伊 甸 园", "塔 尔 塔", "尼 克 斯", "弗 烈 顿", "亚 依 欧", "瑞尔亚斯"}
end
function main()
data()
end

View File

@ -1,139 +0,0 @@
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function lua_string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end
return sub_str_tab;
end
function WindowInit(data)
winW = 9
winH = 6
winX = (800 - winW*64)/2
winY = (600 - winH*48)/2
msgWNLen = (winW*64-48)/7
totalMsgLine = (winH*48-56)/20;
win.InitWindow(winW, winH, msgWNLen, data)
nowtime = os.time()
if addr ~= 0 then
sa.DeathAction(addr)
addr = 0
end
btnCnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
btnCnt = btnCnt + 1
end
end
end
function CreateWinType()
if addr == 0 then
-- addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
addr = sa.MakeWindowDisp(45,100,winW, winH, 0, 1)
end
sa.PlaySe(202, 320, 240)
return addr
end
function ServerWindowType()
if string.len(win.getMessageData(0)) > 0 then
sa.StockFontBuffer(winX + winW*64 / 2 - string.len(win.getMessageData(0)) * 4,winY + 20, 1, 4, "" .. win.getMessageData(0) .. "", 0)
end
sa.StockFontBuffer(winX + 20,winY + 40, 1, 10, "“庄 园” “守庄家族” “下书家族” “族战时间” “族战状态”", 0)
for i = 1, 10 do
if string.len(win.getMessageData(i)) > 0 then
str = lua_string_split(win.getMessageData(i), "|")
sa.StockFontBuffer(winX + 32,winY + 40 + i * 20, 1, 11, fmpoint[i], 0)
if tonumber(str[1]) == 7 or tonumber(str[1]) == 8 or tonumber(str[1]) == 10 then
local fmnamelen = string.len(str[4])-1
if fmnamelen > 0 then
sa.StockFontBuffer(winX + 160 - fmnamelen * 4,winY + 40 + i * 20, 1, 2, str[4], 0)
end
local fmnamelen = string.len(str[3])-1
if fmnamelen > 0 then
sa.StockFontBuffer(winX + 295 - fmnamelen * 4,winY + 40 + i * 20, 1, 2, str[3], 0)
end
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("%3s%s", str[5], str[5]), 0)
elseif tonumber(str[1]) == 9 then
sa.StockFontBuffer(winX + 160 - 6,winY + 40 + i * 20, 1, 2, "", 0)
sa.StockFontBuffer(winX + 295 - 6,winY + 40 + i * 20, 1, 2, "", 0)
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("截止休战期", str[5], str[5]), 0)
elseif tonumber(str[1]) == 15 then
sa.StockFontBuffer(winX + 160 - 6,winY + 40 + i * 20, 1, 2, "", 0)
sa.StockFontBuffer(winX + 295 - 6,winY + 40 + i * 20, 1, 2, "", 0)
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("截止下书期", str[5], str[5]), 0)
else
sa.StockFontBuffer(winX + 124,winY + 40 + i * 20, 1, 7, " 无挑战排程 无挑战排程 无挑战排程 无挑战排程", 0)
end
end
end
if btnCnt > 0 then
local cnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
cnt = cnt + 1
local id = sa.StockFontBuffer(winX + cnt * winW*64 / (btnCnt + 1) - 12,winY + winH*48 - 25,1, 4, button[i], 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == id then
lssproto.windows(win.getIndexWN(), win.getIdWN(), sa.LeftShift(1, i-1), "")
win.CloseWindow()
break
end
end
end
end
end
if win.DelWindow() == 1 then
sa.DeathAction(addr)
win.CloseFlg()
addr = 0
win.CloseWindow()
end
return addr
end
function data()
button = {" 确定 ", " 取消 ", " 确定 ", " 取消 ", "上一页", "下一页"}
btnCnt = 0
addr = 0
winW = 0
winH = 0
winX = 0
winY = 0
fmpoint = {"萨姆吉尔", "玛丽娜丝", "加  加", "卡鲁它那", "伊 甸 园", "塔 尔 塔", "尼 克 斯", "弗 烈 顿", "亚 依 欧", "瑞尔亚斯"}
end
function main()
data()
end

View File

@ -1,129 +0,0 @@
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function lua_string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end
return sub_str_tab;
end
function WindowInit(data)
winW = 9
winH = 9
winX = (800 - winW*64)/2
winY = (600 - winH*48)/2
msgWNLen = (winW*64-48)/7
totalMsgLine = (winH*48-56)/20;
win.InitWindow(winW, winH, msgWNLen, data)
nowtime = os.time()
if addr ~= 0 then
sa.DeathAction(addr)
addr = 0
end
btnCnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
btnCnt = btnCnt + 1
end
end
end
function CreateWinType()
if addr == 0 then
-- addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
addr = sa.MakeWindowDisp(50,41,winW, winH, 0, 1)
end
sa.PlaySe(202, 320, 240)
return addr
end
function ServerWindowType()
if string.len(win.getMessageData(0)) > 0 then
sa.StockFontBuffer(winX + winW*64 / 2 - string.len(win.getMessageData(0)) * 4,winY + 20, 1, 4, "" .. win.getMessageData(0) .. "", 0)
end
sa.StockFontBuffer(winX + winW*64 / 2 - 64,winY + 230, 0, 1, "上面一排VS下面一排", 0)
for i = 1, 10 do
if string.len(win.getMessageData(i)) > 0 then
str = lua_string_split(win.getMessageData(i), "|")
local metamo = tonumber(str[1])
if metamo > 0 then
local fmnamelen = string.len(str[2])-1
if fmnamelen > 0 then
sa.StockFontBuffer(winX - 45 + xy[i] - fmnamelen * 4,winY + 200 + (i % 2) * 180, 0, 5, str[2], 0)
end
if pklist[i] == -1 then
pklist[i] = sa.MakeAnimDisp(winX - 40 + xy[i],winY + 150 + (i % 2) * 200,tonumber(str[1]), 0)
end
end
end
end
if btnCnt > 0 then
local cnt = 0
for i = 1, 6 do
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
cnt = cnt + 1
local id = sa.StockFontBuffer(winX + cnt * winW*64 / (btnCnt + 1) - 12,winY + winH*48 - 25,1, 4, button[i], 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == id then
lssproto.windows(win.getIndexWN(), win.getIdWN(), sa.LeftShift(1, i-1), "")
win.CloseWindow()
break
end
end
end
end
end
if win.DelWindow() == 1 then
for i = 1, 10 do
if pklist[i] ~= -1 then
sa.DeathAction(pklist[i])
pklist[i] = -1
end
end
sa.DeathAction(addr)
win.CloseFlg()
addr = 0
win.CloseWindow()
end
return addr
end
function data()
button = {"进入观战", "取消观战", "进入观战", "取消观战", " 上一页 ", " 下一页 "}
btnCnt = 0
addr = 0
winW = 0
winH = 0
winX = 0
winY = 0
xy = {330, 330, 220, 220, 440, 440, 110, 110, 550, 550}
pklist = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
end
function main()
data()
end

View File

@ -1,199 +0,0 @@
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function lua_string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end
return sub_str_tab;
end
function WindowInit(data)
winW = 8
winH = 7
winX = (800 - winW*64)/4
winY = (600 - winH*48)/4
if addr ~= 0 then
sa.DeathAction(addr)
addr = 0
end
if petaddr ~= 0 then
sa.DeathAction(petaddr);
petaddr=0;
end
local data = lua_string_split(data,"|");
RideNum = tonumber(data[1]);
for i=1,RideNum do
RideData["宠物名"][i] = data[2+(i-1)*3];
if data[3+(i-1)*3] == "1" then
RideData["许可"][i] = "";
else
RideData["许可"][i] = "×";
end
RideData["造型"][i] = tonumber(data[4+(i-1)*3]);
end
TotalPages = 1;
if math.mod(RideNum,Row) > 0 then
if RideNum > Row then
TotalPages = getIntPart(RideNum/Row) + 1;
end
else
if RideNum > Row then
TotalPages = getIntPart(RideNum/Row);
end
end
Pages=0;
end
function CreateWinType()
if addr == 0 then
addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
end
sa.PlaySe(202, 320, 240)
return addr;
end
function ServerWindowType()
local str = "『骑宠预览查询』"
sa.StockFontBuffer(winX*2+256-sa.getTextLength(str)/2,winY*2+20, 1, 4, str, 0)
str = string.format("“宠物名字” “骑乘许可” “宠物造型”");
sa.StockFontBuffer(winX*2+256-sa.getTextLength(str)/2,winY*2+44, 1, 5, str, 0)
local lstart,lend,butid;
lstart = Pages * Row +1;
if RideNum > Pages * Row + 11 then
lend = Pages * Row + Row;
else
lend = Pages * Row + Row + RideNum - (Pages+1) * Row;
end
local index=1;
for i =lstart,lend do
str = " ";
butid = sa.StockFontBuffer(winX*2+70,winY*2+44+index*24, 1, 5, str, 2);
sa.StockFontBuffer(winX*2+125-sa.getTextLength(RideData["宠物名"][i])/2,winY*2+44+index*24, 1, 5, RideData["宠物名"][i], 0);
sa.StockFontBuffer(winX*2+250,winY*2+44+index*24, 1, 5, RideData["许可"][i], 0);
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
if petaddr ~= 0 then
sa.DeathAction(petaddr);
end
petaddr = sa.MakeAnimDisp(winX +460, winY + 260,RideData["造型"][i], 0);
end
end
index=index+1;
end
if TotalPages > 1 then
if Pages == 0 then
str = "下一页"
butid = sa.StockFontBuffer(winX*2+180,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
Pages = Pages+1;
end
end
str = "关 闭"
butid = sa.StockFontBuffer(winX*2+270,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
win.CloseWindow();
end
end
else
if Pages == (TotalPages-1) then
str = "上一页"
butid = sa.StockFontBuffer(winX*2+180,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
Pages = Pages-1;
end
end
str = "关 闭"
butid = sa.StockFontBuffer(winX*2+270,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
win.CloseWindow();
end
end
else
str = "上一页"
butid = sa.StockFontBuffer(winX*2+170,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
Pages = Pages-1;
end
end
str = "下一页"
butid = sa.StockFontBuffer(winX*2+235,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
Pages = Pages+1;
end
end
str = "关 闭"
butid = sa.StockFontBuffer(winX*2+300,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
win.CloseWindow();
end
end
end
end
else
str = "关 闭"
butid = sa.StockFontBuffer(winX*2+256-sa.getTextLength(str)/2,winY*2+44+(Row+1)*24, 1, 4, str, 2)
if win.getMouseLeftCrick() > 0 then
if win.getHitFontNo() == butid then
win.CloseWindow();
end
end
end
if win.DelWindow() == 1 then
sa.DeathAction(petaddr);
sa.DeathAction(addr)
win.CloseFlg()
addr = 0;
petaddr=0;
win.CloseWindow()
end
return addr;
end
function data()
Row=9;
TotalPages = 0;
petaddr=0;
addr = 0;
RideData = {};
RideNum=0;
RideData["宠物名"] = {};
RideData["许可"] = {};
RideData["造型"] = {};
Pages = 0;
end
function main()
data()
end

View File

@ -1,217 +0,0 @@
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function lua_string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end
return sub_str_tab;
end
function WindowInit(strdata)
winW = 6
winH = 4
winX = (800 - winW*64)/4
winY = (600 - winH*48)/4
if addr ~= 0 then
sa.DeathAction(addr)
addr = 0
end
data()
vippoint = tonumber(strdata);
win.InitStrBuffer(winX + 180,winY + 180,6,0,1);
end
function CreateWinType()
if addr == 0 then
addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
end
sa.PlaySe(202, 320, 240)
return addr;
end
function ServerWindowType()
win.SetInputMsgNum()
sa.StockFontBuffer(winX + 230,winY + 80, 1, 10, "【发红包】", 0)
local id ;
local color={};
local posy = 0
sa.StockFontBuffer(winX + 100,winY + 100 + posy, 1, 0, "当前金币:", 0)
sa.StockFontBuffer(winX + 180,winY + 100 + posy, 1, 0,"".. vippoint, 0);
sa.StockFontBuffer(winX + 100,winY + 120 + posy, 1, 0, "对像模式:", 0);
if familymode == 0 then
color[1]=1;
color[2]=0;
color[3]=0;
elseif familymode == 1 then
color[1]=0;
color[2]=1;
color[3]=0;
elseif familymode == 2 then
color[1]=0;
color[2]=0;
color[3]=1;
end
id = sa.StockFontBuffer(winX + 180,winY + 120 + posy, 1, color[1], "家族", 2);
if win.getHitFontNo() == id then
win.ShowBottomLineString(0,"只有家族成员方可领取!");
if win.getMouseLeftCrick() > 0 then
familymode=0;
end
end
id = sa.StockFontBuffer(winX + 240,winY + 120 + posy, 1, color[2], "全服", 2);
if win.getHitFontNo() == id then
win.ShowBottomLineString(0,"全服玩家都可领取!");
if win.getMouseLeftCrick() > 0 then
familymode=1;
end
end
sa.StockFontBuffer(winX + 100,winY + 140 + posy, 1, 0, "领取方式:", 0);
if getmode == 0 then
color[1]=1;
color[2]=0;
else
color[1]=0;
color[2]=1;
end
id = sa.StockFontBuffer(winX + 180,winY + 140 + posy, 1, color[1], "拼手气", 2);
if win.getHitFontNo() == id then
win.ShowBottomLineString(0,"玩家领取的红包纯拼手气!");
if win.getMouseLeftCrick() > 0 then
getmode=0;
end
end
id = sa.StockFontBuffer(winX + 240,winY + 140 + posy, 1, color[2], "平均", 2);
if win.getHitFontNo() == id then
win.ShowBottomLineString(0,"玩家领取的红包每个都一样!");
if win.getMouseLeftCrick() > 0 then
getmode=1;
end
end
sa.StockFontBuffer(winX + 100,winY + 160 + posy, 1, 0, "红包个数:", 0);
id = sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0, " ", 2);
if win.getHitFontNo() == id then
if win.getMouseLeftCrick() > 0 then
win.InitStrBuffer(winX + 180,winY + 160,2,0,1);
win.GetKeyInputFocus();
Focus=1;
end
end
if Focus == -1 then
sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0,rednum , 2);
sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0,redValue, 0);
elseif Focus == 1 then
sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0,redValue, 0);
if string.len(win.GetInputMsg()) > 0 then
rednum = tonumber(win.GetInputMsg());
end
elseif Focus == 2 then
if string.len(win.GetInputMsg()) > 0 then
redValue = tonumber(win.GetInputMsg());
end
sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0,rednum , 2);
end
sa.StockFontBuffer(winX + 100,winY + 180 + posy, 1, 0, "总 金 额:", 0);
id = sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0, " ", 2);
if win.getHitFontNo() == id then
if win.getMouseLeftCrick() > 0 then
win.InitStrBuffer(winX + 180,winY + 180,6,0,1);
win.GetKeyInputFocus();
Focus=2;
end
end
if getmode==0 then
sa.StockFontBuffer(winX + 300,winY + 180 + posy, 1, 4, "当前为拼手气红包", 0);
else
sa.StockFontBuffer(winX + 300,winY + 180 + posy, 1, 4, "当前为平均红包", 0);
end
id = sa.StockFontBuffer( winX + 180 , winY + 210 + posy, 1, 4, "塞进红包", 2);
if win.getHitFontNo() == id then
if win.getMouseLeftCrick() > 0 then
if rednum > 0 then
if redValue > 0 and redValue >= rednum * 10 then
if redValue <= vippoint then
local token = familymode.."|"..getmode.."|"..rednum.."|"..redValue
lssproto.windows(win.getIndexWN(), win.getIdWN(),1,token);
win.CloseWindow()
else
sa.ShowMessage("您当前的金币不足!",4)
end
else
sa.ShowMessage("红包大小不能为0且大于或等于红包个数的10倍",4)
end
else
sa.ShowMessage("红包个数不能为0",4)
end
end
end
id = sa.StockFontBuffer(winX + 310,winY + 210 + posy, 1, 4, "关 闭", 2);
if win.getHitFontNo() == id then
if win.getMouseLeftCrick() > 0 then
win.CloseWindow()
end
end
win.StockFontBuffer2();
if win.DelWindow() == 1 then
sa.DeathAction(addr)
win.CloseFlg()
addr = 0;
sa.GetKeyInputFocus()
win.CloseWindow()
end
return addr;
end
function data()
addr=0;
familymode=0;
getmode=0;
rednum=0;
redValue=0;
Focus=-1;
end
function main()
data()
end

View File

@ -1,57 +0,0 @@
function EquipEffectFunction( charaindex, id )
if id == 2 then
itemindex = char.getItemIndex(charaindex,id)
if itemindex > -1 then
local itemlv = GetItemShowIndex(itemindex)
if itemlv>0 then
char.setWorkInt(charaindex,"庄园特效",itemshow[itemlv][2])
return 1
end
else
char.setWorkInt(charaindex,"庄园特效",0)
end
end
if id == 6 then
itemindex = char.getItemIndex(charaindex,id)
if itemindex > -1 then
local data = item.getChar(itemindex, "字段")
local effectid = other.atoi(other.getString(data, "|", 4))
char.setInt(charaindex,"法宝人物特效",effectid)
else
char.setInt(charaindex,"法宝人物特效",0)
end
end
return 1
end
function GetItemShowIndex(itemindex)
local name = item.getChar(itemindex,"名称")
for i = 1,table.getn(itemshow) do
local tagindex = string.find(name,itemshow[i][1])
if tagindex ~= nil then
return i
end
end
return 0
end
function data()
itemshow = {
{"免气", 102201}
,{" 14", 102203}
,{" 15", 102220}
,{" 16", 102223}
,{" 17", 102219}
,{" 18",102232}
,{" 19",102248}
,{" 20",102234}
}
end
function main()
data()
end

View File

@ -1,441 +0,0 @@
function FamilyRideCheck( meindex, petindex,pethaveindex)
local petNo = char.getInt( petindex, "原图像号")
for i=1,table.getn(ridepet) do
if petNo == ridepet[i] then
return 1
end
end
return 0
end
function FreeRideQuery(charaindex)
local petNo = 0
local token = "".. table.getn(ridepet)
for i=1,table.getn(ridepet) do
token = token .. "|"..petname[i].."|"..CheckPetRideByPetNo( charaindex, ridepet[i]).."|"..ridepet[i]
end
lssproto.windows(charaindex, 1023, 0, 1, char.getWorkInt( npcindex, "对象"), token)
end
function CheckPetRideByPetNo( meindex, petNo)
local playerid = getNOindex(char.getInt( meindex, "原图像号"))
if char.getInt( meindex, "图像号") == 101178 then
if petNo == 101177 then
return 101179
end
elseif char.getInt( meindex, "图像号") == 101177 then
if petNo == 101178 then
return 101179
end
elseif playerid > 0 then
for i = 1, table.getn(petlist) do
if petNo == petlist[i] then
if other.DataAndData(char.getInt(meindex, "证书骑宠"), i - 1) ~= 0 then
return 1
end
end
end
for i = 1, table.getn(PlayerColor[1]) do
if PlayerColor[playerid][i] == char.getInt( meindex, "原图像号") or (char.getInt( meindex, "原图像号") >= 100700 and char.getInt( meindex, "原图像号") < 108400) then
if petNo == CommonPetList[i] then
return 1
end
end
end
for i = 1, table.getn(CommonPetList1) do
if char.getInt( meindex, "原图像号") == CommonPetList1[i][2] and petNo == CommonPetList1[i][3] then
return 1
end
end
for i = 1, table.getn(Pointpetlist) do
if petNo == Pointpetlist[i][1] then
floorid = char.getWorkInt( meindex, "家族地图")
for j = 1, table.getn(Pointpetlist[i][2]) do
if Pointpetlist[i][2][j] == floorid then
if char.getInt( meindex, "家族地位") > 0 and char.getInt( meindex, "家族地位") ~= 2 then
if char.getInt( meindex, "家族类型") == Pointpetlist[i][3] then
if PointRideNoList[playerid][i] > -1 then
return 1
end
end
end
end
end
end
end
for i = 1, table.getn(EquipagePetlist) do
if petNo == EquipagePetlist[i][1] then
for j = 0, 5 do
itemindex = char.getItemIndex(meindex, j)
if itemindex > -1 then
if item.getChar(itemindex, "类型代码") == "INSLAY" or other.getString(item.getChar(itemindex, "类型代码"), " ", 1) == "INSLAY" then
local field = {"", "", "", "", ""}
local data = item.getChar(itemindex, "镶嵌代码")
field[1] = other.getString(data, "|", 1)
field[2] = other.getString(data, "|", 2)
field[3] = other.getString(data, "|", 3)
field[4] = other.getString(data, "|", 4)
field[5] = other.getString(data, "|", 5)
for k = 1, table.getn(field) do
if field[k] == EquipagePetlist[i][2] then
return 1
end
end
end
end
end
end
end
end
return 0
end
function Loop(meindex)
if char.getWorkInt(meindex,"NPC临时7") == char.getInt(meindex, "图像号") then
char.setInt(meindex, "图像号", 102201)
char.ToAroundChar(meindex)
char.setInt(meindex, "循环事件时间", 300)
else
char.setInt(meindex, "图像号", char.getWorkInt(meindex,"NPC临时7"))
char.ToAroundChar(meindex)
char.setInt(meindex, "循环事件时间", 0)
char.delFunctionPointer(meindex, "循环事件")
char.setWorkInt(meindex,"NPC临时7",0)
end
end
function FamilyRideFunction( meindex, petindex,pethaveindex)
if char.getInt( petindex, "转数") >0 then
char.TalkToCli(meindex, -1, "【系统提示】由于[" .. char.getChar(petindex, "名字") .. "]已经转生,所以无法骑乘。", "红色")
return 0
end
local playerid = getNOindex(char.getInt( meindex, "原图像号"))
local petNo = char.getInt( petindex, "原图像号")
if char.getInt( meindex, "图像号") == 101178 then
if petNo == 101177 then
char.setWorkInt(meindex,"NPC临时7",101179)
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return 101179
end
elseif char.getInt( meindex, "图像号") == 101177 then
if petNo == 101178 then
char.setWorkInt(meindex,"NPC临时7",101179)
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return 101179
end
elseif playerid > 0 then
for i = 1, table.getn(petlist) do
if petNo == petlist[i] then
if other.DataAndData(char.getInt(meindex, "证书骑宠"), i - 1) ~= 0 then
char.setWorkInt(meindex,"NPC临时7",NewRideNoList[playerid][i])
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return NewRideNoList[playerid][i]
end
end
end
for i = 1, table.getn(PlayerColor[1]) do
if PlayerColor[playerid][i] == char.getInt( meindex, "原图像号") or (char.getInt( meindex, "原图像号") >= 100700 and char.getInt( meindex, "原图像号") < 108400) then
if petNo == CommonPetList[i] then
char.setWorkInt(meindex,"NPC临时7",CommonRideNoList[playerid][i])
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return CommonRideNoList[playerid][i]
end
end
end
for i = 1, table.getn(CommonPetList1) do
if char.getInt( meindex, "原图像号") == CommonPetList1[i][2] and petNo == CommonPetList1[i][3] then
char.setWorkInt(meindex,"NPC临时7",CommonPetList1[i][1])
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return CommonPetList1[i][1]
end
end
for i = 1, table.getn(Pointpetlist) do
if petNo == Pointpetlist[i][1] then
floorid = char.getWorkInt( meindex, "家族地图")
for j = 1, table.getn(Pointpetlist[i][2]) do
if Pointpetlist[i][2][j] == floorid then
if char.getInt( meindex, "家族地位") > 0 and char.getInt( meindex, "家族地位") ~= 2 then
if char.getInt( meindex, "家族类型") == Pointpetlist[i][3] then
if PointRideNoList[playerid][i] > -1 then
char.setWorkInt(meindex,"NPC临时7",PointRideNoList[playerid][i])
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return PointRideNoList[playerid][i]
end
end
end
end
end
end
end
for i = 1, table.getn(EquipagePetlist) do
if petNo == EquipagePetlist[i][1] then
for j = 0, 5 do
itemindex = char.getItemIndex(meindex, j)
if itemindex > -1 then
if item.getChar(itemindex, "类型代码") == "INSLAY" or other.getString(item.getChar(itemindex, "类型代码"), " ", 1) == "INSLAY" then
local field = {"", "", "", "", ""}
local data = item.getChar(itemindex, "镶嵌代码")
field[1] = other.getString(data, "|", 1)
field[2] = other.getString(data, "|", 2)
field[3] = other.getString(data, "|", 3)
field[4] = other.getString(data, "|", 4)
field[5] = other.getString(data, "|", 5)
for k = 1, table.getn(field) do
if field[k] == EquipagePetlist[i][2] then
char.setWorkInt(meindex,"NPC临时7",EquipageRideNoList[playerid][i])
char.setFunctionPointer(meindex, "循环事件", "Loop", "")
char.setInt(meindex, "循环事件时间", 1000)
return EquipageRideNoList[playerid][i]
end
end
end
end
end
end
end
end
return 0
end
function getNOindex( baseNo)
if baseNo >= 100000 and baseNo < 100240 then
metamo = baseNo - 100000
for i = 1, 12 do
if metamo >= (i-2) * 20 and metamo < i * 20 then
return i;
end
end
elseif baseNo >= 100700 and baseNo < 100820 then
metamo = baseNo - 100700
for i = 1, 12 do
if metamo >= (i-2) * 10 and metamo < i * 10 then
return i;
end
end
elseif baseNo >= 100400 and baseNo < 100410 then
return 13;
end
return -1
end
function data()
ridepet = {100329, 100327, 100330, 100328, 100351, 100352, 100353, 100354, 100396, 100374, 100358, 100362, 100279, 100288, 100283, 100346, 100310, 100372, 100373, 101532, 101576,100907}
petname = {"格鲁西斯","贝鲁卡","金格萨贝鲁","贝鲁伊卡","布洛多斯","布林帖斯","布拉奇多斯","斯天多斯","邦恩多斯","帖拉所伊朵", "玛恩摩洛斯", "朵拉比斯", "拉奇鲁哥", "扬奇洛斯", "卡达鲁卡斯", "卡卡金宝", "格尔格", "左迪洛斯", "巴朵兰恩", "史卡鲁", "罗多克雷","斑尼迪克"}
--说明行, 机暴00, 白象01, 金飞02, 红狗03, 蓝龙04, 绿甲05, 红蛙06, 红猩07, 蓝暴08, 红暴09, 水鱼10, 水雷11, 白虎12,斑尼迪克13
petlist = {100374, 100358, 100362, 100279, 100288, 100283, 100346, 100310, -1, -1, 101532, 101576, 100872, 100907}
--说明行, 机暴00, 白象01, 金飞02, 红狗03, 蓝龙04, 绿甲05, 红蛙06, 红猩07, 蓝暴08, 红暴09, 水鱼10, 水雷11, 白虎12, 金暴13
NewRideNoList = {{101305, 101306, 101307, 101308, 101309, 101310, 101311, 101312, 101008, 101009, 101978, 101989, 104025, 103266}
,{101313, 101314, 101315, 101316, 101317, 101318, 101319, 101320, 101018, 101019, 101986, 101988, 104026, 103262}
,{101321, 101322, 101323, 101324, 101325, 101326, 101327, 101328, 101028, 101029, 101975, 101965, 104027, 103263}
,{101329, 101330, 101331, 101332, 101333, 101334, 101335, 101336, 101038, 101039, 101976, 101966, 104028, 103264}
,{101337, 101338, 101339, 101340, 101341, 101342, 101343, 101344, 101048, 101049, 101984, 101973, 104029, 103272}
,{101345, 101346, 101347, 101348, 101349, 101350, 101351, 101352, 101058, 101059, 101985, 101974, 104030, 103273}
,{101353, 101354, 101355, 101356, 101357, 101358, 101359, 101360, 101068, 101069, 101977, 101967, 104031, 103265}
,{101361, 101362, 101363, 101364, 101365, 101366, 101367, 101368, 101078, 101079, 101979, 101968, 104032, 103267}
,{101369, 101370, 101371, 101372, 101373, 101374, 101375, 101376, 101088, 101089, 101981, 101970, 104033, 103269}
,{101377, 101378, 101379, 101380, 101381, 101382, 101383, 101384, 101098, 101099, 101980, 101969, 104034, 103268}
,{101385, 101386, 101387, 101388, 101389, 101390, 101391, 101392, 101108, 101109, 101983, 101972, 104035, 103271}
,{101393, 101394, 101395, 101396, 101397, 101398, 101399, 101400, 101118, 101119, 101982, 101971, 104036, 103270}
}
PlayerColor = {{ 100000, 100005, 100010, 100015}
,{ 100025, 100030, 100035, 100020}
,{ 100055, 100050, 100045, 100040}
,{ 100060, 100065, 100070, 100075}
,{ 100095, 100085, 100090, 100080}
,{ 100100, 100115, 100110, 100105}
,{ 100135, 100120, 100125, 100130}
,{ 100145, 100140, 100150, 100155}
,{ 100165, 100170, 100160, 100175}
,{ 100190, 100195, 100185, 100180}
,{ 100200, 100210, 100215, 100205}
,{ 100230, 100225, 100220, 100235}
}
-- 红虎, 绿虎, 金虎, 黄虎
CommonPetList = {100329, 100327, 100330, 100328}
CommonRideNoList = {{101004, 101005, 101006, 101007}
,{101015, 101016, 101017, 101014}
,{101027, 101026, 101025, 101024}
,{101034, 101035, 101036, 101037}
,{101047, 101045, 101046, 101044}
,{101054, 101057, 101056, 101055}
,{101067, 101064, 101065, 101066}
,{101075, 101074, 101076, 101077}
,{101085, 101086, 101084, 101087}
,{101096, 101097, 101095, 101094}
,{101104, 101106, 101107, 101105}
,{101116, 101115, 101114, 101117}
}
CommonPetList1 = {{ 101000, 100000, 100352}
,{ 101001, 100005, 100352}
,{ 101002, 100010, 100352}
,{ 101003, 100015, 100352}
,{ 101000, 100700, 100352}
,{ 101000, 100705, 100352}
,{ 101010, 100020, 100396}
,{ 101011, 100025, 100396}
,{ 101012, 100030, 100396}
,{ 101013, 100035, 100396}
,{ 101010, 100710, 100396}
,{ 101010, 100715, 100396}
,{ 101020, 100040, 100351}
,{ 101021, 100045, 100351}
,{ 101022, 100050, 100351}
,{ 101023, 100055, 100351}
,{ 101020, 100720, 100351}
,{ 101020, 100725, 100351}
,{ 101030, 100060, 100353}
,{ 101031, 100065, 100353}
,{ 101032, 100070, 100353}
,{ 101033, 100075, 100353}
,{ 101030, 100730, 100353}
,{ 101030, 100735, 100353}
,{ 101040, 100080, 100396}
,{ 101041, 100085, 100396}
,{ 101042, 100090, 100396}
,{ 101043, 100095, 100396}
,{ 101040, 100740, 100396}
,{ 101040, 100745, 100396}
,{ 101050, 100100, 100353}
,{ 101051, 100105, 100353}
,{ 101052, 100110, 100353}
,{ 101053, 100115, 100353}
,{ 101050, 100750, 100353}
,{ 101050, 100755, 100353}
,{ 101060, 100120, 100354}
,{ 101061, 100125, 100354}
,{ 101062, 100130, 100354}
,{ 101063, 100135, 100354}
,{ 101060, 100760, 100354}
,{ 101060, 100765, 100354}
,{ 101070, 100140, 100354}
,{ 101071, 100145, 100354}
,{ 101072, 100150, 100354}
,{ 101073, 100155, 100354}
,{ 101070, 100770, 100354}
,{ 101070, 100775, 100354}
,{ 101080, 100160, 100352}
,{ 101081, 100165, 100352}
,{ 101082, 100170, 100352}
,{ 101083, 100175, 100352}
,{ 101080, 100780, 100352}
,{ 101080, 100785, 100352}
,{ 101090, 100180, 100351}
,{ 101091, 100185, 100351}
,{ 101092, 100190, 100351}
,{ 101093, 100195, 100351}
,{ 101090, 100790, 100351}
,{ 101090, 100795, 100351}
,{ 101100, 100200, 100353}
,{ 101101, 100205, 100353}
,{ 101102, 100210, 100353}
,{ 101103, 100215, 100353}
,{ 101100, 100800, 100353}
,{ 101100, 100805, 100353}
,{ 101110, 100220, 100396}
,{ 101111, 100225, 100396}
,{ 101112, 100230, 100396}
,{ 101113, 100235, 100396}
,{ 101110, 100810, 100396}
,{ 101110, 100815, 100396}
}
Pointpetlist = {--蓝暴
{100372, {1041, 2031, 3031, 4031, 5031}, 0}
--红暴
,{100373, {1041, 2031, 3031, 4031, 5031}, 1}
}
--蓝暴, --红暴
PointRideNoList = {{101008, 101009} --小矮子
,{101018, 101019} --赛亚人
,{101028, 101029} --辫子男孩
,{101038, 101039} --酷哥
,{101048, 101049} --熊皮男
,{101058, 101059} --大个
,{101068, 101069} --小矮妹
,{101078, 101079} --熊皮妹
,{101088, 101089} --帽子妹
,{101098, 101099} --短法发夹妹
,{101108, 101109} --手套女
,{101118, 101119} --辣妹
}
EquipagePetlist = {--石猩猩
{100307, "Cb"}
--海主人
,{100348, "Ca"}
--红飞
,{100360, "Cc"}
--蓝狗
,{104124, "Cd"}
--黑鸡
,{100904, "Ce"}
--红鸡
,{100370, "Cf"}
--灰鸡
,{100369, "Cg"}
}
--石猩猩,海主人, 红飞 , 蓝狗 , 黑鸡 , 红鸡 , 灰鸡
EquipageRideNoList = {{104100, 104112, 104137, 104125, 100444, 100425, 100424} --小矮子
,{104101, 104113, 104138, 104126, 100444, 100425, 100424} --赛亚人
,{104102, 104114, 104139, 104127, 100444, 100425, 100424} --辫子男孩
,{104103, 104115, 104140, 104128, 100444, 100425, 100424} --酷哥
,{104104, 104116, 104141, 104129, 100444, 100425, 100424} --熊皮男
,{104105, 104117, 104142, 104130, 100444, 100425, 100424} --大个
,{104106, 104118, 104143, 104131, 100444, 100425, 100424} --小矮妹
,{104107, 104119, 104144, 104132, 100444, 100425, 100424} --熊皮妹
,{104108, 104120, 104145, 104133, 100444, 100425, 100424} --帽子妹
,{104109, 104121, 104146, 104134, 100444, 100425, 100424} --短法发夹妹
,{104110, 104122, 104147, 104135, 100444, 100425, 100424} --手套女
,{104111, 104123, 104148, 104136, 100444, 100425, 100424} --辣妹
}
end
function Create(name, metamo, floor, x, y, dir)
--创建NPC(NPC名字图像号地图号坐标X坐标Y方向号)将返回一个NPC索引
npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
end
function main()
data()
Create("查询宠物NPC临时", 100000, 777, 20, 20, 4)
end

View File

@ -1,151 +0,0 @@
function FreeCharLogin( charindex )
if char.getWorkInt(charindex, "服务器ID") == 48 then
char.TalkToCli(charindex, -1, "版本过期,请更新最新的脱机外挂后登陆游戏。", "黄色")
char.logou(charindex)
return 0;
end
if char.getWorkInt(charindex, "服务器ID") == 4096 and config.getGameservername() == "石器重制版单号线" then
char.TalkToCli(charindex, -1, "进单号线提示【为了游戏的平衡,单号线路只能用外挂登陆】", "黄色")
char.logou(charindex)
return 0;
end
for i = 1, table.getn(unlawthislogut) do
if char.getInt(charindex, "计时器") <= other.time() then
if char.getInt(charindex, "地图号") == unlawthislogut[i][1] then
char.setInt(charindex, "地图号", unlawthislogut[i][2][1] )
char.setInt(charindex, "坐标X", unlawthislogut[i][2][2] )
char.setInt(charindex, "坐标Y", unlawthislogut[i][2][3] )
end
end
end
if char.getInt(charindex, "地图号") >=800 and char.getInt(charindex, "地图号") <=851 then
char.WarpToSpecificPoint(charindex, 1000, 71, 49)
end
if char.getInt(charindex, "地图号") == 500 then
if char.getInt(charindex, "等级")< 80 then
char.WarpToSpecificPoint(charindex, 1000, 71, 49)
end
end
if char.getInt(charindex,"家族地位")>0 and char.getInt(charindex,"家族地位")~=2 then
if char.getChar(charindex, "家族") == other.getString(family.ShowPointListArray(0), "|", 6) then
char.setWorkInt(charindex,"庄园特效",103213)
elseif char.getChar(charindex, "家族") == other.getString(family.ShowPointListArray(1), "|", 6) then
char.setWorkInt(charindex,"庄园特效",103214)
end
end
if char.getInt(charindex, "离线时间") < 0 then
char.setInt(charindex, "离线时间", 0)
end
if char.getInt(charindex, "极品") ~=1 then
local vital = char.getInt(charindex, "体力")
local str = char.getInt(charindex, "腕力")
local tgh = char.getInt(charindex, "耐力")
local dex = char.getInt(charindex, "速度")
local skillpoint = char.getInt(charindex, "技能点")
local sum = vital + str + tgh + dex + skillpoint * 100
if sum > 63700 then
char.setInt(charindex, "体力", 1000)
char.setInt(charindex, "腕力", 0)
char.setInt(charindex, "耐力", 0)
char.setInt(charindex, "速度", 0)
char.setInt(charindex, "技能点", 627)
end
else
local vital = char.getInt(charindex, "体力")
local str = char.getInt(charindex, "腕力")
local tgh = char.getInt(charindex, "耐力")
local dex = char.getInt(charindex, "速度")
local skillpoint = char.getInt(charindex, "技能点")
local sum = vital + str + tgh + dex + skillpoint * 100
if sum > 61000 then
char.setInt(charindex, "体力", 1000)
char.setInt(charindex, "腕力", 0)
char.setInt(charindex, "耐力", 0)
char.setInt(charindex, "速度", 0)
char.setInt(charindex, "技能点", 600)
end
end
token = "UPDATE CSAlogin set Offline = 0 , MAC = '" .. char.getWorkChar(charindex, "MAC") .. "', ServerName = '" .. config.getGameservername() .. "', ServerId = " .. char.getWorkInt(charindex, "服务器ID") + 1 .. " WHERE Name=BINARY'" .. char.getChar(charindex, "账号") .. "'"
ret = sasql.query(token)
token = "SELECT `newsafe`, `flg` FROM `safedata` "
.. " WHERE `cdkey` = '" .. char.getChar(charindex, "账号") .. "'"
ret = sasql.query(token)
if ret == 1 then
sasql.free_result()
sasql.store_result()
num = sasql.num_rows()
if num > 0 then
sasql.fetch_row(0)
if sasql.data(1) ~= char.getWorkChar(charindex, "MAC2") then
if sasql.data(2) == "0" then
char.setInt(charindex, "安全锁", 2)
end
token = "UPDATE `safedata` SET "
.. "`newsafe` = '" .. char.getWorkChar(charindex, "MAC2") .. "',"
.. "`oldsafe` = '" .. sasql.data(1) .. "',"
.. "`FixTime` = NOW()"
.. " WHERE `cdkey` = '" .. char.getChar(charindex, "账号") .. "'"
ret = sasql.query(token)
end
else
token = "INSERT INTO `safedata` ( "
.. "`cdkey` ,"
.. "`newsafe` ,"
.. "`oldsafe` ,"
.. "`flg`,"
.. "`FixTime`"
.. ")"
.. " VALUES ("
.. "'" .. char.getChar(charindex, "账号")
.. "', '" .. char.getWorkChar(charindex, "MAC2")
.. "', '" .. char.getWorkChar(charindex, "MAC2")
.. "', 0, NOW()"
.. ");"
ret = sasql.query(token)
end
end
return 1;
end
function data()
unlawthislogut = {{125, {1000, 92, 99}}
,{126, {1000, 92, 99}}
,{127, {1000, 92, 99}}
,{128, {1000, 92, 99}}
,{140, {141, 25, 17}}
,{8190, {2000, 44, 67}}
,{12345, {1000, 92, 99}}
,{40001, {1000, 92, 99}}
,{40002, {1000, 92, 99}}
,{40003, {1000, 92, 99}}
,{40004, {1000, 92, 99}}
,{40005, {1000, 92, 99}}
,{40006, {1000, 92, 99}}
,{40007, {1000, 92, 99}}
,{40008, {1000, 92, 99}}
,{40009, {1000, 92, 99}}
,{40010, {1000, 92, 99}}
,{50001, {1000, 92, 99}}
,{50002, {1000, 92, 99}}
,{50003, {1000, 92, 99}}
,{50004, {1000, 92, 99}}
,{104, {1000, 92, 99}}
,{133, {1000, 92, 99}}
,{130, {1000, 92, 99}}
,{602, {1000, 92, 99}}
,{61001, {1000, 92, 99}}
,{65501, {1000, 92, 99}}
,{50005, {1000, 92, 99}}
}
end
function main()
data()
end

View File

@ -1,124 +0,0 @@
--此LUA是离线判断时间和扣除时间还有下线后记录上一次在线期间产生的个人信息!
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
x = math.ceil(x);
else
x = math.ceil(x) - 1;
end
return x;
end
function FreeCharLogout( charindex )
if char.getWorkInt(charindex, "离线") == 1 then
--if char.getWorkInt(charindex, "摆摊") == -1 then
-- if config.getGameservername() ~= "零九石器二线" and config.getGameservername() ~= "零九石器三线" then
-- local offtime = other.time() - char.getWorkInt(charindex, "登陆时间")
-- char.setInt(charindex, "离线时间", math.max(char.getInt(charindex, "离线时间") - offtime / 60), 0)
-- end
--end
other.setLuaPLayerNum(other.getLuaPLayerNum()-1)
else
local offtime = other.time() - char.getWorkInt(charindex, "登陆时间")
if char.getInt(charindex, "等级") == 140 then
local onlinetime = char.getInt(charindex, "下线时间") - char.getWorkInt(charindex, "登陆时间")
if char.getInt(charindex, "转数") == 5 then
char.setInt(charindex, "在线时间", char.getInt(charindex, "在线时间") + getIntPart(onlinetime / 2) )
elseif char.getInt(charindex, "转数") == 6 then
char.setInt(charindex, "在线时间", char.getInt(charindex, "在线时间") + onlinetime)
end
end
end
--if config.getGameservername() == "零九石器单线" then
-- token = "DELETE FROM `OnlinePlayer` "
-- .. " WHERE `cdkey` = '" .. char.getChar(charindex, "账号") .. "'"
-- ret = sasql.query(token)
--end
token = "SELECT * FROM `CSAinfo` "
.. " WHERE `cdkey` = '" .. char.getChar(charindex, "账号") .. "'"
.. " AND `saveindex` = '" .. char.getInt(charindex, "存档") .. "'"
ret = sasql.query(token)
if ret == 1 then
sasql.free_result()
sasql.store_result()
num = sasql.num_rows()
if num > 0 then
token = "UPDATE `CSAinfo` SET "
.. "`name` = '" .. char.getChar(charindex, "名字") .. "',"
.. "`famename` = '" .. char.getChar(charindex, "家族") .. "', "
.. "`level` = '" .. char.getInt(charindex, "等级") .. "',"
.. "`trans` = '" .. char.getInt(charindex, "转数") .. "',"
.. "`alive` = '" .. char.getInt(charindex, "活力") .. "',"
.. "`fame` = '" .. char.getInt(charindex, "声望") .. "',"
.. "`TITLE_LV` = '" .. 0 .. "',"
.. "`DUELBATTLECOUNT` = '" .. char.getInt(charindex, "PK次数") .. "',"
.. "`DUELWINCOUNT` = '" .. char.getInt(charindex, "PK赢数") .. "',"
.. "`DUELLOSECOUNT` = '" .. char.getInt(charindex, "PK败数") .. "',"
.. "`DUELSTWINCOUNT` = '" .. char.getInt(charindex, "PK连胜") .. "',"
.. "`DUELSTLOSECOUNT` = '" .. char.getInt(charindex, "PK连败") .. "',"
.. "`DUELMAXSTWINCOUNT` = '" .. char.getInt(charindex, "PK最高连胜") .. "',"
.. "`vip` = '" .. char.getInt(charindex, "会员") .. "',"
.. "`time` = NOW()"
.. " WHERE `cdkey` = '" .. char.getChar(charindex, "账号") .. "'"
.. " AND `saveindex` = '" .. char.getInt(charindex, "存档") .. "'"
ret = sasql.query(token)
else
token = "INSERT INTO `CSAinfo` ( "
.. "`cdkey` ,"
.. "`saveindex` ,"
.. "`name` ,"
.. "`famename` ,"
.. "`level` ,"
.. "`trans` ,"
.. "`alive` ,"
.. "`fame` ,"
.. "`TITLE_LV` ,"
.. "`DUELBATTLECOUNT` ,"
.. "`DUELWINCOUNT` ,"
.. "`DUELLOSECOUNT` ,"
.. "`DUELSTWINCOUNT` ,"
.. "`DUELSTLOSECOUNT` ,"
.. "`DUELMAXSTWINCOUNT` ,"
.. "`vip` ,"
.. "`time`"
.. ")"
.. "VALUES ("
.. "'" .. char.getChar(charindex, "账号")
.. "', '" .. char.getInt(charindex, "存档")
.. "', '" .. char.getChar(charindex, "名字")
.. "', '" .. char.getChar(charindex, "家族")
.. "', '" .. char.getInt(charindex, "等级")
.. "', '" .. char.getInt(charindex, "转数")
.. "', '" .. char.getInt(charindex, "活力")
.. "', '" .. char.getInt(charindex, "声望")
.. "', '" .. char.getInt(charindex, "英雄称号")
.. "', '" .. char.getInt(charindex, "PK次数")
.. "', '" .. char.getInt(charindex, "PK赢数")
.. "', '" .. char.getInt(charindex, "PK败数")
.. "', '" .. char.getInt(charindex, "PK连胜")
.. "', '" .. char.getInt(charindex, "PK连败")
.. "', '" .. char.getInt(charindex, "PK最高连胜")
.. "', '" .. char.getInt(charindex, "会员")
.. "', NOW()"
.. ");"
ret = sasql.query(token)
end
end
token = "update `CSAlogin` set `Offline`=0 where `Name`='" .. char.getChar(charindex,"账号") .. "'"
sasql.query(token)
end
function data()
end
function main()
data()
end

View File

@ -1,219 +0,0 @@
function GetCharNewTitleNo(charaindex,id)
if char.check(charaindex)~=1 then
return 0
end
if id< 32 then
if other.DataAndData(char.getInt(charaindex,"称号状态1"),id)~= 0 then
return titleinfo[id+1][2]
end
elseif id< 64 then
if other.DataAndData(char.getInt(charaindex,"称号状态2"),id-32)~= 0 then
return titleinfo[id+1][2]
end
elseif id< 96 then
if other.DataAndData(char.getInt(charaindex,"称号状态3"),id-64)~= 0 then
return titleinfo[id+1][2]
end
end
return 0
end
function GetCharNewTitleString(charaindex,id)
if char.check(charaindex)~=1 then
return 0
end
if id< 32 then
if other.DataAndData(char.getInt(charaindex,"称号状态1"),id)~= 0 then
return titleinfo[id+1][2]
end
elseif id< 64 then
if other.DataAndData(char.getInt(charaindex,"称号状态2"),id-32)~= 0 then
return titleinfo[id+1][2]
end
elseif id< 96 then
if other.DataAndData(char.getInt(charaindex,"称号状态3"),id-64)~= 0 then
return titleinfo[id+1][2]
end
end
return ""
end
function GetCharNewTitleName(charaindex,id)
if char.check(charaindex)~=1 then
return 0
end
if id< 32 then
if other.DataAndData(char.getInt(charaindex,"称号状态1"),id)~= 0 then
return titleinfo[id+1][1]
end
elseif (id >=32 and id< 64) then
if other.DataAndData(char.getInt(charaindex,"称号状态2"),id-32)~= 0 then
return titleinfo[id+1][1]
end
elseif(id >=64 and id< 96) then
if other.DataAndData(char.getInt(charaindex,"称号状态3"),id-64)~= 0 then
return titleinfo[id+1][1]
end
end
return ""
end
function GetCharNewTitleMode(charaindex,id)
if char.check(charaindex)~=1 then
return 0
end
if id< 32 then
if other.DataAndData(char.getInt(charaindex,"称号状态1"),id)~= 0 then
return 1
end
elseif (id >=32 and id< 64) then
if other.DataAndData(char.getInt(charaindex,"称号状态2"),id-32)~= 0 then
return 1
end
elseif(id >=64 and id< 96) then
if other.DataAndData(char.getInt(charaindex,"称号状态3"),id-64)~= 0 then
return 1
end
end
return 0
end
function TitleListSend(charaindex)
if char.check(charaindex)~=1 then
return
end
local Nodata=""
local jiedata=""
local indexdata=""
local num=0
local fd = char.getFd(charaindex)
for i = 1,96 do
if GetCharNewTitleMode(charaindex,i-1)>0 then
num = num + 1
-- print(num, GetCharNewTitleMode(charaindex,i-1))
Nodata = Nodata..GetCharNewTitleString(charaindex,i-1).."|"
jiedata = jiedata..GetCharNewTitleName(charaindex,i-1).."|"
indexdata = indexdata..(i-1).."|"
end
end
local data = string.format("%d|%d#@%s#@%s#@%s#@",char.getInt(charaindex,"文字称号"),num,Nodata,jiedata,indexdata)
lssproto.CharTitleSend(fd,data)
-- print("CharTitleSend发送成功"..data.."\n")
end
function GetTtileBuff(id)
if id >96 or id < 1 then
return 0,0,0,0
end
return titleinfo[id][3],titleinfo[id][4],titleinfo[id][5],titleinfo[id][6]
end
function data()
titleinfo = { --描述 序号 体 攻 防 敏 毒 麻 睡 石 混
{"大地的精灵 防+5",1,0,0,5,0,0,0,0,0,0}
,{"水的精灵 HP+20",2,20,0,0,0,0,0,0,0,0}
,{"火炎的精灵 攻+5",3,0,5,0,0,0,0,0,0,0}
,{"疾风的精灵 敏+5",4,0,0,0,5,0,0,0,0,0}
,{"奥萝拉的精灵 全+1",5,1,1,1,1,0,0,0,0,0}
,{"彩虹的精灵 全+2",6,2,2,2,2,0,0,0,0,0}
,{"初心使者 HP+10",7,10,0,0,0,0,0,0,0,0}
,{"无名的旅人 全+2",8,2,2,2,2,0,0,0,0,0}
,{"路边的落叶 全+4",9,4,4,4,4,0,0,0,0,0}
,{"水面的小草 全+6",10,6,6,6,6,0,0,0,0,0}
,{"呢喃的歌声 全+8",11,8,8,8,8,0,0,0,0,0}
,{"地上的月影 全+10",12,10,10,10,10,0,0,0,0,0}
,{"奔跑的春风 全+12",13,12,12,12,12,0,0,0,0,0}
,{"苍穹的风云 全+14",14,14,14,14,14,0,0,0,0,0}
,{"摇曳的金星 全+16",15,16,16,16,16,0,0,0,0,0}
,{"欢喜的慈雨 全+18",16,18,18,18,18,0,0,0,0,0}
,{"蕴含的太阳 全+20",17,20,20,20,20,0,0,0,0,0}
,{"敬畏的寂静 全+30",18,30,30,30,30,0,0,0,0,0}
,{"精靈封印者 攻+5",19,0,5,0,0,0,0,0,0,0}
,{"五转轮回 防+20",20,0,0,20,0,0,0,0,0,0}
,{"盗贼讨伐者 攻+5",21,0,5,0,0,0,0,0,0,0}
,{"盗贼帮众 混乱抗性+5",22,0,0,0,0,0,0,0,0,5}
,{"夺宝奇兵 石化抗性+5",23,0,0,0,0,0,0,0,5,0}
,{"勇闯夺宝岛 睡抗性+5",24,0,0,0,0,0,0,5,0,0}
,{"合成达人 敏+5",25,0,0,0,5,0,0,0,0,0}
,{"合成高手 敏+3",26,0,0,0,3,0,0,0,0,0}
,{"练宠达人 攻+5",27,0,5,0,0,0,0,0,0,0}
,{"练宠高手 攻+3",28,0,3,0,0,0,0,0,0,0}
,{"任务达人 防+5",29,0,0,5,0,0,0,0,0,0}
,{"任务高手 防+3",30,0,0,3,0,0,0,0,0,0}
,{"初犊战士 HP+10",31,10,0,0,0,0,0,0,0,0}
,{"圣灵勇士 HP+15",32,15,0,0,0,0,0,0,0,0}
,{"玛丽那丝英雄 HP+20",33,20,0,0,0,0,0,0,0,0}
,{"萨姆吉尔英雄 HP+25",34,25,0,0,0,0,0,0,0,0}
,{"萨伊那斯使者 HP+30",35,30,0,0,0,0,0,0,0,0}
,{"尼斯大陆英雄 HP+100",36,100,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
}
end
function main()
data();
end

View File

@ -1,188 +0,0 @@
--此lua应该是装备镶嵌和融合C相关丸子看不懂!
function getIntPart(x)
if x <= 0 then
return math.ceil(x);
end
if math.ceil(x) == x then
return math.ceil(x);
else
return math.ceil(x) - 1;
end
end
function GetTtileBuff(id)
if id >96 or id < 1 then
return 0,0,0,0
end
return titleinfo[id][3],titleinfo[id][4],titleinfo[id][5],titleinfo[id][6],titleinfo[id][7],titleinfo[id][8],titleinfo[id][9],titleinfo[id][10],titleinfo[id][11]
end
function FreeComplianceParameter( charaindex )
if char.getInt(charaindex, "类型") == 3 then
local data= char.getChar(charaindex,"祝福状态")
if data~="" then
local hp = other.atoi(other.getString(data, "|", 1))
local at = other.atoi(other.getString(data, "|", 2))
local df = other.atoi(other.getString(data, "|", 3))
local dx = other.atoi(other.getString(data, "|", 4))
char.setWorkInt(charaindex, "最大HP", char.getWorkInt(charaindex, "最大HP") + hp)
char.setWorkInt(charaindex, "攻击力", char.getWorkInt(charaindex, "攻击力") + at)
char.setWorkInt(charaindex, "防御力", char.getWorkInt(charaindex, "防御力") + df)
char.setWorkInt(charaindex, "敏捷力", char.getWorkInt(charaindex, "敏捷力") + dx)
end
end
if char.getInt(charaindex, "类型") == 1 then
local itemindex = char.getItemIndex(charaindex,6)
if itemindex > 0 then
local data1 = item.getChar(itemindex, "字段")
local attrate = other.atoi(other.getString(data1, "|", 1))
local defrate = other.atoi(other.getString(data1, "|", 2))
local dexrate = other.atoi(other.getString(data1, "|", 3))
char.setWorkInt(charaindex, "攻击力", math.floor(char.getWorkInt(charaindex, "攻击力") * (100+attrate)/100))
char.setWorkInt(charaindex, "防御力", math.floor(char.getWorkInt(charaindex, "防御力") * (100+defrate)/100))
char.setWorkInt(charaindex, "敏捷力", math.floor(char.getWorkInt(charaindex, "敏捷力") * (100+dexrate)/100))
char.setWorkInt(charaindex, "最大HP", char.getWorkInt(charaindex, "最大HP") + 150)
end
for i = 1,96 do
if char.getCharNewTitleMode(charaindex,i-1)== 1 then
temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,temp9 = GetTtileBuff(i)
addhp = addhp + temp1
addat = addat + temp2
adddf = adddf + temp3
adddx = adddx + temp4
addpo = addpo + temp5
addpa = addpa + temp6
addsl = addsl + temp7
addst = addst + temp8
addco = addco + temp9
end
end
char.setWorkInt(charaindex, "最大HP", char.getWorkInt(charaindex, "最大HP") + addhp)
char.setWorkInt(charaindex, "攻击力", char.getWorkInt(charaindex, "攻击力") + addat)
char.setWorkInt(charaindex, "防御力", char.getWorkInt(charaindex, "防御力") + adddf)
char.setWorkInt(charaindex, "敏捷力", char.getWorkInt(charaindex, "敏捷力") + adddx)
char.setWorkInt(charaindex, "毒抗附加", addpo)
char.setWorkInt(charaindex, "麻抗附加", addpa)
char.setWorkInt(charaindex, "睡抗附加", addsl)
char.setWorkInt(charaindex, "石抗附加", addst)
char.setWorkInt(charaindex, "混抗附加", addco)
end
end
function data()
titleinfo = { --描述 序号 体 攻 防 敏 毒 麻 睡 石 混
{"大地的精灵 防+5",1,0,0,5,0,0,0,0,0,0}
,{"水的精灵 HP+20",2,20,0,0,0,0,0,0,0,0}
,{"火炎的精灵 攻+5",3,0,5,0,0,0,0,0,0,0}
,{"疾风的精灵 敏+5",4,0,0,0,5,0,0,0,0,0}
,{"奥萝拉的精灵 全+1",5,1,1,1,1,0,0,0,0,0}
,{"彩虹的精灵 全+2",6,2,2,2,2,0,0,0,0,0}
,{"初心使者 HP+10",7,10,0,0,0,0,0,0,0,0}
,{"无名的旅人 全+2",8,2,2,2,2,0,0,0,0,0}
,{"路边的落叶 全+4",9,4,4,4,4,0,0,0,0,0}
,{"水面的小草 全+6",10,6,6,6,6,0,0,0,0,0}
,{"呢喃的歌声 全+8",11,8,8,8,8,0,0,0,0,0}
,{"地上的月影 全+10",12,10,10,10,10,0,0,0,0,0}
,{"奔跑的春风 全+12",13,12,12,12,12,0,0,0,0,0}
,{"苍穹的风云 全+14",14,14,14,14,14,0,0,0,0,0}
,{"摇曳的金星 全+16",15,16,16,16,16,0,0,0,0,0}
,{"欢喜的慈雨 全+18",16,18,18,18,18,0,0,0,0,0}
,{"蕴含的太阳 全+20",17,20,20,20,20,0,0,0,0,0}
,{"敬畏的寂静 全+30",18,30,30,30,30,0,0,0,0,0}
,{"精靈封印者 攻+5",19,0,5,0,0,0,0,0,0,0}
,{"五转轮回 防+20",20,0,0,20,0,0,0,0,0,0}
,{"盗贼讨伐者 攻+5",21,0,5,0,0,0,0,0,0,0}
,{"盗贼帮众 混乱抗性+5",22,0,0,0,0,0,0,0,0,5}
,{"夺宝奇兵 石化抗性+5",23,0,0,0,0,0,0,0,5,0}
,{"勇闯夺宝岛 睡抗性+5",24,0,0,0,0,0,0,5,0,0}
,{"合成达人 敏+5",25,0,0,0,5,0,0,0,0,0}
,{"合成高手 敏+3",26,0,0,0,3,0,0,0,0,0}
,{"练宠达人 攻+5",27,0,5,0,0,0,0,0,0,0}
,{"练宠高手 攻+3",28,0,3,0,0,0,0,0,0,0}
,{"任务达人 防+5",29,0,0,5,0,0,0,0,0,0}
,{"任务高手 防+3",30,0,0,3,0,0,0,0,0,0}
,{"初犊战士 HP+10",31,10,0,0,0,0,0,0,0,0}
,{"圣灵勇士 HP+15",32,15,0,0,0,0,0,0,0,0}
,{"玛丽那丝英雄 HP+20",33,20,0,0,0,0,0,0,0,0}
,{"萨姆吉尔英雄 HP+25",34,25,0,0,0,0,0,0,0,0}
,{"萨伊那斯使者 HP+30",35,30,0,0,0,0,0,0,0,0}
,{"尼斯大陆英雄 HP+100",36,100,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
,{"","",0,0,0,0,0,0,0,0,0}
}
end
function main()
data()
end

View File

@ -1,75 +0,0 @@
--登录过程读取和验证
function FreeLoginCheck(fd)
local mun = 0
local maxnum = 0
local maxplayer = config.getFdnum() - 1
local mac = net.getMac(fd)
local ip = net.getIP(fd)
if mac == "" then
lssproto.CharList(fd, "由于你使用非本服的认可的程序进入游戏,所以禁止你的登陆!")
return 0
end
if string.len(mac) < 32 then
lssproto.CharList(fd, "由于你使用非本服的认可的程序进入游戏,所以禁止你的登陆!")
return 0
end
local key = other.getString(mac, "-", 1)
if key ~= "ver100" then
lssproto.CharList(fd, "由于你的版本过旧,请更新后再进入游戏!")
return 0
end
local mainmac = other.getString(mac, "-", 2)
maxnum = 2
for i = 5, maxplayer do
if net.getUse(i) == 1 then
if mac == net.getMac(i) then
mun = mun + 1
if mun > maxnum then
lssproto.CharList(fd, "你的游戏账号登陆已以达" .. mun - 1 .. "个,请不要过量进入游戏!")
return 0
end
end
end
end
token = "SELECT count(*) FROM `CSAlogin` "
.. " WHERE `MAC` = '" .. mac .. "' and `Online` > 0"
ret = sasql.query(token)
local totalnum = 1
if ret == 1 then
sasql.free_result()
sasql.store_result()
num = sasql.num_rows()
if num > 0 then
sasql.fetch_row(0)
onlinenum = other.atoi(sasql.data(1))
if onlinenum > totalnum then
lssproto.CharList(fd, "您的游戏登录账号数量已达上限,请不要过量进入游戏。")
return 0
end
end
end
return 1
end
function CheckNologin(mac)
for j=1,table.getn(nologin) do
if mac==nologin[j] then
return 1
end
end
return 0
end
function data()
end
function main()
data()
end

View File

@ -1,22 +0,0 @@
function FreeModeExp( charindex, getexp, modexp )
local exp = getexp*config.getBattleexp() + ((getexp*modexp*2)/100)
local fmmap = char.getWorkInt(charindex,"소痢뒈暠")
if char.getInt(charindex,"소痢뒈貫")>0 and char.getInt(charindex,"소痢뒈貫")~=2 then
if char.getChar(charindex, "소痢") == other.getString(family.ShowPointListArray(0), "|", 6) then
exp = math.floor(exp*1.2)
elseif char.getChar(charindex, "소痢") == other.getString(family.ShowPointListArray(1), "|", 6) then
exp = math.floor(exp*1.2)
end
end
return exp
end
function data()
end
function main()
data()
end

View File

@ -1,107 +0,0 @@
function FreeSaMenu(meindex, index)
-- char.TalkToCli(meindex, -1, char.getWorkInt(meindex,"NPC临时3"), "绿色")
local = char.getWorkInt(meindex,"战斗");
parameter = {meindex}
if index == 11 then
if ==0 then
char.Encounter(meindex)
char.TalkToCli(meindex, -1, "开启原地遇敌!", "红色")
else
char.TalkToCli(meindex, -1, "您已经战斗中!", "红色")
end
elseif index == 12 then
char.ClearEncounter(meindex);
char.TalkToCli(meindex, -1, "关闭原地遇敌!", "红色")
elseif index == 13 then
if == 0 then
other.CallFunction("CheckTalked", "data/ablua/npc/check/check.lua", parameter)
end
-- other.CallFunction("ShowHead", "data/ablua/npc/vipshop/vipshop.lua", parameter)
elseif index == 14 then
other.CallFunction("QueryMissionTalked", "data/ablua/npc/querymission/querymission.lua", parameter)
elseif index == 16 then
other.CallFunction("FreeDataInfoShow", "data/ablua/freedatainfoshow.lua", parameter)
elseif index == 17 then
lssproto.SaMenu(meindex, index, "http://www.stoneage.es")
elseif index == 18 then
lssproto.SaMenu(meindex, index, "http://www.stoneage.es/forum.php")
elseif index == 19 then
lssproto.SaMenu(meindex, index, "http://www.stoneage.es/pay.php")
elseif index == 20 then
char.setWorkInt(meindex,"NPC临时3",1)
other.CallFunction("OnlineService", "data/ablua/npc/onlineservice/onlineservice.lua", parameter)
elseif index == 21 then
lssproto.SaMenu(meindex, index, "http://www.stoneage.es/forum.php?mod=viewthread&tid=54&extra=page%3D1")
elseif index == 22 then
lssproto.SaMenu(meindex, index, "http://www.stoneage.es/bbs/forum.php?mod=viewthread&tid=226")
elseif index == 30 then--切换队长
if char.getWorkInt(meindex, "组队") == 1 then
[meindex]={};
local = "";
local =0;
for i=1,4 do
local = char.getWorkInt(meindex, "队员" .. i+1)
if char.check() == 1 then
= + 1;
[meindex][] = ;
= string.format("%s %s\n",,char.getChar([meindex][],"名字"));
end
end
local = "1 请选择新的队长\n"..;
lssproto.windows(meindex, 2, 8, 0, char.getWorkInt( npcindex, "对象"), )
else
char.TalkToCli(meindex, -1, "该功能需要队长权限", "红色")
end
else
char.TalkToCli(meindex, -1, "暂未开放", "红色")
end
end
function WindowTalked( NPC索引, , , , )
if == 0 then
local = tonumber();
if > 0 and < 5 then
char.DischargeParty(,0);
char.JoinParty([][],,0);
char.TalkToCli([][], -1, "您的队友【"..char.getChar(,"名字").."】把队长权力交给您!", "黄色")
char.TalkToCli(, -1, "您成功把队长权力交给队友【"..char.getChar([][],"名字").."", "黄色");
for i =1,table.getn([]) do
if i ~= then
char.JoinParty([][],[][i],0);
end
end
char.Encounter([][])
end
end
end
function Create(name, metamo, floor, x, y, dir)
npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
end
function data()
={};
--[[
11
12
13
14
16
20 使
21
22
]]
end
function main()
data()
Create("查询宠物NPC临时", 100000, 777, 20, 21, 4);
end

View File

@ -1,47 +0,0 @@
={};
function WindowTalked ( meindex, charaindex, seqno, select, data)
if seqno == 1 then
local = other.atoi(data);
if >=1 and <=4 then
local = char.getCharPet(charaindex, -1);
if char.check() == 1 then
[charaindex][3] = ;
local = "是否让 "..char.getChar(,"名字") .." 学习该特效!"
lssproto.windows(charaindex, "对话框", "确定|取消", 2, char.getWorkInt( npcindex, "对象"), )
end
end
elseif seqno == 2 then
if select == 1 then
local ID = other.atoi(item.getChar([charaindex][1], "字段"))
char.setInt([charaindex][3],"攻击特效",ID);
char.DelItem(charaindex, [charaindex][2]);
char.TalkToCli(charaindex, -1, "您的宠物"..char.getChar([charaindex][3],"名字").."习得攻击特效,快去体验吧!", "红色")
[charaindex]=nil;
end
end
end
function attackeffect(itemindex, charaindex, toindex, haveitemindex)
[charaindex]={};
[charaindex][1]=itemindex;
[charaindex][2]=haveitemindex;
lssproto.windows(charaindex, "宠物框", "确定", 1, char.getWorkInt( npcindex, "对象"), "")
end
function Create(name, metamo, floor, x, y, dir)
--创建NPC(NPC名字图像号地图号坐标X坐标Y方向号)将返回一个NPC索引
npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
end
function data()
end
function main()
Create("攻击特效NPC",100000,777,20,20,3);
item.addLUAListFunction( "ITEM_ATTACKEFFECT", "attackeffect", "")
end

View File

@ -1,38 +0,0 @@
function titleuse(itemindex, charaindex, toindex, haveitemindex)
local id = other.atoi(item.getChar(itemindex, "字段"))
if GetCharNewTitleMode(charaindex,id -1)== 1 then
char.TalkToCli(charaindex, -1, "您已拥有该称号!", "黄色")
return
end
local titlename = item.getChar(itemindex,"显示名")
char.DelItem(charaindex, haveitemindex)
char.setCharNewTitleMode(charaindex,id -1)
-- char.setInt(charaindex, "称号状态2", 0)
--- char.setInt(charaindex, "称号状态3", 0)
char.TalkToCli(charaindex, -1, "恭喜你获得新称号"..titlename.."", "黄色")
char.talkToServer(-1, "[功成名就]恭喜勇者 " .. char.getChar(charaindex, "名字") .. " 获得"..titlename.."称号", "黄色")
local param = {charaindex}
other.CallFunction("TitleListSend", "data/ablua/freechartitle.lua", param)
end
function GetCharNewTitleMode(charaindex,id)
if id< 32 then
if other.DataAndData(char.getInt(charaindex,"称号状态1"),id)~= 0 then
return 1
end
elseif id< 64 then
if other.DataAndData(char.getInt(charaindex,"称号状态2"),id-32)~= 0 then
return 1
end
elseif id< 96 then
if other.DataAndData(char.getInt(charaindex,"称号状态3"),id-64)~= 0 then
return 1
end
end
return 0
end
function main()
item.addLUAListFunction( "ITEM_TITLE", "titleuse", "")
end

View File

@ -1,26 +0,0 @@
function useitemmax(itemindex, charaindex, toindex, haveitemindex)
local data = other.atoi(item.getChar(itemindex, "俚뙈"))
if (char.getInt(charaindex,"돛야으榴檄")~=2 and data == 3)
or (char.getInt(charaindex,"돛야으榴檄")~=0 and data == 2) then
char.TalkToCli(charaindex, -1,"헝痰宮뚤壇돨윈嵐돛야윱윈嵐관범!", "<EFBFBD>")
return
end
if char.getInt(charaindex,"돛야으榴檄") == 2 then
char.setInt(charaindex,"돛야으榴檄",6);
char.DelItem(charaindex, haveitemindex)
char.TalkToCli(charaindex, -1,"묜毆퀭역폘뒤힛으돛야으!", "<EFBFBD>")
char.UpCahrData(charaindex,"p");
elseif char.getInt(charaindex,"돛야으榴檄") == 6 then
char.TalkToCli(charaindex, -1,"퀭綠쒔홍꼬역렴죄!", "<EFBFBD>")
else
char.DelItem(charaindex, haveitemindex)
char.setInt(charaindex,"돛야으榴檄",2);
char.TalkToCli(charaindex, -1,"묜毆퀭역폘뒤랗으돛야으!", "<EFBFBD>")
char.UpCahrData(charaindex,"p");
end
end
function main()
item.addLUAListFunction( "ITEM_USEITEMMAX", "useitemmax", "")
end

View File

@ -1,15 +0,0 @@
function opentrump(itemindex, charaindex, toindex, haveitemindex)
if char.getInt(charaindex,"法宝状态")>0 then
char.TalkToCli(charaindex, -1,"您已经开启了法宝装备栏!", "黄色")
return
end
char.DelItem(charaindex, haveitemindex)
char.setInt(charaindex,"法宝状态",1);
char.UpCahrData(charaindex,"p");
char.TalkToCli(charaindex, -1,"您的法宝装备栏已成功开启!", "黄色")
end
function main()
item.addLUAListFunction( "ITEM_OPENTRUMP", "opentrump", "")
end

View File

@ -1,29 +0,0 @@
function addpay(charaindex, data)
local value = other.atoi(other.getString(data, " ", 1))
local cdkey = other.getString(data, " ", 2)
if cdkey == "" then
local oldvalue = sasql.getPayPoint(charaindex)
sasql.setPayPoint(charaindex, sasql.getPayPoint(charaindex) + value)
char.TalkToCli(charaindex, -1, "成功将账号[" .. char.getChar(charaindex, "账号") .. "]名字[" .. char.getChar(charaindex, "名字") .. "]个人充值积分原" .. oldvalue .. "增到为" .. sasql.getPayPoint(charaindex), "青色")
else
local maxplayer = char.getPlayerMaxNum()
local cimelia = other.atoi(data)
for i = 0, maxplayer - 1 do
if char.check(i) == 1 then
if char.getChar(i, "账号") == cdkey then
local oldvalue = sasql.getPayPoint(i)
sasql.setPayPoint(i, sasql.getPayPoint(i) + value)
char.TalkToCli(charaindex, -1, "成功将账号[" .. char.getChar(i, "账号") .. "]名字[" .. char.getChar(i, "名字") .. "]个人充值积分原" .. oldvalue .. "增到为" .. sasql.getPayPoint(i), "青色")
char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]将你的个人充值积分原" .. oldvalue .. "增到为" .. sasql.getPayPoint(i), "青色")
return
end
end
end
end
end
function main()
minute = 0
magic.addLUAListFunction("充值积分", "addpay", "", 1, "[]")
end

View File

@ -1,29 +0,0 @@
function addvip(charaindex, data)
local value = other.atoi(other.getString(data, " ", 1))
local cdkey = other.getString(data, " ", 2)
if cdkey == "" then
local oldvalue = sasql.getVipPoint(charaindex)
sasql.setVipPoint(charaindex, sasql.getVipPoint(charaindex) + value)
char.TalkToCli(charaindex, -1, "成功将账号[" .. char.getChar(charaindex, "账号") .. "]名字[" .. char.getChar(charaindex, "名字") .. "]个人会员点原" .. oldvalue .. "增到为" .. sasql.getVipPoint(charaindex), "青色")
else
local maxplayer = char.getPlayerMaxNum()
local cimelia = other.atoi(data)
for i = 0, maxplayer - 1 do
if char.check(i) == 1 then
if char.getChar(i, "账号") == cdkey then
local oldvalue = sasql.getVipPoint(i)
sasql.setVipPoint(i, sasql.getVipPoint(i) + value)
char.TalkToCli(charaindex, -1, "成功将账号[" .. char.getChar(i, "账号") .. "]名字[" .. char.getChar(i, "名字") .. "]个人会员点原" .. oldvalue .. "增到为" .. sasql.getVipPoint(i), "青色")
char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]将你的个人会员点原" .. oldvalue .. "增到为" .. sasql.getVipPoint(i), "青色")
return
end
end
end
end
end
function main()
minute = 0
magic.addLUAListFunction("会员点", "addvip", "", 1, "[]")
end

View File

@ -1,22 +0,0 @@
function NetLoopFunction()
if minute > 0 then
if math.mod(looptime , minute) == 0 then
char.talkToAllServer("[温馨提示]" .. message)
end
looptime = looptime + 1
end
end
function announce(charaindex, data)
message = other.getString(data, " ", 1)
char.talkToAllServer("[温馨提示]" .. message)
minute = other.atoi(other.getString(data, " ", 2))
looptime = 1
end
function main()
minute = 0
magic.addLUAListFunction("公告", "announce", "", 1, "[公告 内容 间隔(分钟)")
end

View File

@ -1,9 +0,0 @@
function 攻击特效(charaindex, data)
local ID = other.atoi(other.getString(data, " ", 2));
char.setWorkInt(char.getCharPet(charaindex,0),"攻击特效",ID);
--char.setWorkInt(charaindex,"攻击特效",特效动画ID);
end
function main()
magic.addLUAListFunction("攻击特效", "攻击特效", "", 1, "[gm 攻击特效 动画编号]")
end

View File

@ -1,101 +0,0 @@
59000
59001
59002
59003
59004
59005
59006
59007
59008
59009
59010
59011
59012
59013
59014
59015
59016
59017
59018
59019
59020
59021
59022
59023
59024
59025
59026
59027
59028
59029
59030
59031
59032
59033
59034
59035
59036
59037
59038
59039
59040
59041
59042
59043
59044
59045
59046
59047
59048
59049
59050
59051
59052
59053
59054
59055
59056
59057
59058
59059
59060
59061
59062
59063
59064
59065
59066
59067
59068
59069
59070
59071
59072
59073
59074
59075
59076
59077
59078
59079
59080
59081
59082
59083
59084
59085
59086
59087
59088
59089
59090
59091
59092
59093
59094
59095
59096
59097
59098
59099
59100

View File

@ -1,55 +0,0 @@
local ={};
local ="";
function 字符串切割(,)
= ..
local t = {}
local = 1
repeat
local nexti = string.find(, , )
table.insert(t, string.sub(, ,nexti-string.len()))
= nexti + string.len()
until > string.len()
return t
end
function LoadFamilyBadge(fd)
lssproto.FamilyBadge(fd,);
end
function 读取家族徽章数据()
local ;
local ,;
= assert(io.open("./data/ablua/other/familybadge/data.txt", "r"))
= :read("*a"); -- 读取所有内容
:close();
= .."|"
if ~= "" then
= 0;
= (,"\n");
for b = 1,table.getn() do
if string.sub([b],1,1) ~= "#" then
= + 1;
[] = tonumber([b]);
end
end
for b=1,table.getn() do
if b~=table.getn() then
= .. [b].."|";
else
= .. [b];
end
end
end
end
function main()
=1000;
();
lssproto.GetFBData(,);
end
main();

View File

@ -1,12 +0,0 @@
function 脚本加载()
return dofile();
end
function 主函数()
("./data/lua/onlineshop/main.lua");
--时间种子
math.randomseed(os.time());
end
()

View File

@ -1,256 +0,0 @@
function 字符串切割(,)
= ..
local t = {}
local = 1
repeat
local nexti = string.find(, , )
table.insert(t, string.sub(, ,nexti-string.len()))
= nexti + string.len()
until > string.len()
return t
end
NPC索引 = {};
--[[=========商城变量===========]]
= {};
.={};
.={};
.={};
.={};
.={};
= {{"",1},{"斧头",1},{"",1},{"",1},{"",1},{"",1},{"",1},{"",1},{"手环",1},{"乐器",1}
,{"首饰",1},{"首饰",1},{"带子",1},{"耳环",1},{"鼻环",1},{"护身符",1},{"特殊",0},{"回旋标",1},{"投掷斧",1},{"投掷石",1}
,{"未知",0},{"未知",0},{"未知",0},{"未知",0},{"腰带",1},{"",1},{"靴子",1},{"手套",1},{"使者信物",0},{"勇者信物",0},
{"未知",0},{"未知",0},{"未知",0},{"未知",0},{"未知",0},{"未知",0},{"未知",0},{"未知",0}}
= {{"攻击力",%_附攻%,1},
{"防御力",%_附防%,1},
{"敏捷力",%_附敏%,1},
{"耐久力",%_附体%,1},
{"气力",%_附气%,1},
{"运气",%_附运%,1},
{"魅力",%_附魅%,1},
{"闪避",%_附避%,1},
{"格挡",%_格档率%,1},
{"攻序",%_攻序%,1},
{"负重",%_负重%,1},
{"命中",%_命中%,1},
{"抗毒",%_毒耐%,1},
{"抗麻",%_麻耐%,1},
{"抗睡",%_睡耐%,1},
{"抗石",%_石耐%,1},
{"抗酒",%_酒耐%,1},
{"抗混",%_混耐%,1},
{"会心一击",%_附一击%,1}
}--说明常量被除数考虑到有些值需要除于100设置
--[[=========================================================================]]
function 商城NPC创建回调(NPC索引)
.("", "商城对话框回调", NPC索引)
return true;
end
function 创建商城NPC()
();
local ={};
[1] = (.,"道具");
[2] = (.,"道具");
[3] = (.,"道具");
[4] = (.,"道具");
[5] = (.,"宠物");
.(0,[1]);
.(1,[2]);
.(2,[3]);
.(3,[4]);
.(4,[5]);
=nil;
NPC索引.=.NPC("","商城NPC创建回调")
end
function 商城写入日志(,,,,)
local =0;
local ;
local ="";
for i=1,table.getn() do
= .. .([i][1],%_原名%).."*"..[i][2].."("..[[i][3]][2]*[i][2]..")|";
=+[[i][3]][2]*[i][2];
end
if > then
= .."#扣除价格产生异常"
end
= string.format("玩家名:%s 计算商品的价格:%d 实际扣除点数:%d 没扣除金币前:%d 扣除后:%d\n购买商品:%s\n\n",Char.GetData(,%_原名%),
,,,.(,%_VIP%),);
=assert(io.open("./data/lua/onlineshop/shoplog.txt", "a+"))
:write(); -- 读取所有内容
:close();
end
function 商城对话框回调( NPC索引, , , , )
--[[
0
0,
,#,#
]]
if == 0 then
local ID = ()
if ID == 1 then
.(,1001,1,1,.().."|"...(,%_VIP%).."|1",NPC索引)
elseif ID == 2 then
.(,1001,2,2,.().."|"...(,%_VIP%).."|2",NPC索引)
elseif ID == 3 then
.(,1001,3,3,.().."|"...(,%_VIP%).."|3",NPC索引)
elseif ID == 4 then
.(,1001,4,4,.().."|"...(,%_VIP%).."|4",NPC索引)
elseif ID == 5 then
.(,1001,5,5,.().."|"...(,%_VIP%).."|5",NPC索引)
end
elseif ~= "" then
local = (,"#");
local = 0;
local = 0;
local ID = {};
local ;
if == 1 then
= .;
elseif == 2 then
= .;
elseif == 3 then
= .;
elseif == 4 then
= .;
elseif == 5 then
= .;
end
for i=1,table.getn() do
if [i] ~="" then
local = ([i],"|");
ID[i]={};
ID[i][1] = [([1])][1];
ID[i][2] = ([2]);
ID[i][3] = ([1]);
= + [ID[i][3]][2]*ID[i][2];
= + ID[i][2];
end
end
local = .(,%_VIP%);
if < then
.(,"系统:身上的金币不足。",%%);
return;
end
if .() < then
.(,"系统:身上的道具位不足。",%%);
return;
end
.(,%_VIP%,-);
for i=1,table.getn(ID) do
.(,ID[i][1],ID[i][2]);
end
(,ID,,,);
.(,"系统:扣除"...."金币!",%%);
end
end
function 商城数据解析(ID数据组,)
local = "";
if table.getn(ID数据组) < 1 then
return "";
end
for =1,table.getn(ID数据组) do
local ID = ID数据组[][1];
local = .(ID,%_类型%);
local = .(ID,%_图号%);
= string.format("%s%s|%d|%d|%d|道具类型:%s\n",,.(ID,%_原名%),,,ID数据组[][2],[+1][1]);
if [+1][2]== 1 then
if .(ID,%_MAX耐久%) == 0 then
= .."耐久度:不会损坏\n\n"
else
= string.format("%s耐久度%d/%d\n\n",,math.ceil(.(ID,%_耐久%)/100),math.ceil(.(ID,%_MAX耐久%)/100));
end
for = 1,table.getn() do --//遍历常用属性的值
local = .(ID,[][2]);
if ~= 0 then
= string.format("%s%s %s\n",,[][1],());
end
end
if .(ID,%_精灵%) >= 0 then
= string.format("%s\n精灵 %s",,.(.(ID,%_精灵%),%_名%));
end
= .."#";
else
= ...(ID,%_说明%).."#";
end
end
return ;
end
function 道具属性符号()--//增加道具值正负符号
if > 0 then
return "+"..;
else
return ;
end
end
function 职业需求(ID)--返回道具要求职业
local = .(ID,%_职业%);
if == 0 then
return "(通用)"
elseif == 1 then
return "(白狼勇士)"
elseif == 2 then
return "(暗灵法师)"
elseif == 3 then
return "(追猎者)"
end
end
function ITRF_NEWSHOP()--相本回调 改为 新商城
--[[
|||
]]
if .(,%_战模%) == 0 and .(,%_摆摊%) <= 0 then
.(,1001,1,1,.().."|"...(,%_VIP%).."|1",NPC索引.)
end
end
function 读取商城数据()
local ;
local ,,;
for i =1,5 do
if i == 1 then
= .;
elseif i == 2 then
= .;
elseif i == 3 then
= .;
elseif i == 4 then
= .;
elseif i == 5 then
= .;
end
= assert(io.open("./data/lua/onlineshop/shop"..i..".txt", "r"))
= :read("*a"); -- 读取所有内容
:close();
if ~= "" then
= 0;
= (,"\n");
for b = 1,table.getn() do
if string.sub([b],1,1) ~= "#" and string.sub([b],1,1) ~= "" then
= + 1;
[] = ([b],"|");
[][1] = tonumber([][1]);
[][2] = tonumber([][2]);
end
end
end
end
end
NPC();

View File

@ -1,3 +0,0 @@
#################最新上架######################
#格式说明道具ID|价格
18557|288

View File

@ -1,3 +0,0 @@
#################最新上架######################
#格式说明道具ID|价格
18557|288

View File

@ -1,3 +0,0 @@
#################最新上架######################
#格式说明道具ID|价格
18557|288

View File

@ -1,3 +0,0 @@
#################最新上架######################
#格式说明道具ID|价格
18557|288

View File

@ -1,3 +0,0 @@
#################最新上架######################
#格式说明道具ID|价格
18557|288

View File

@ -1,20 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "石器源码", "石器源码\石器源码.vcxproj", "{7BCA4759-A8C8-4746-ABD8-C2B4C3C2DEFE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
VER25_DEBUG|Win32 = VER25_DEBUG|Win32
VER25_RELEASE|Win32 = VER25_RELEASE|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7BCA4759-A8C8-4746-ABD8-C2B4C3C2DEFE}.VER25_DEBUG|Win32.ActiveCfg = VER25_DEBUG|Win32
{7BCA4759-A8C8-4746-ABD8-C2B4C3C2DEFE}.VER25_DEBUG|Win32.Build.0 = VER25_DEBUG|Win32
{7BCA4759-A8C8-4746-ABD8-C2B4C3C2DEFE}.VER25_RELEASE|Win32.ActiveCfg = VER25_RELEASE|Win32
{7BCA4759-A8C8-4746-ABD8-C2B4C3C2DEFE}.VER25_RELEASE|Win32.Build.0 = VER25_RELEASE|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,4 +0,0 @@
void ();
void (char *);

Some files were not shown because too many files have changed in this diff Show More