更新茶服加密
This commit is contained in:
parent
e3add47a71
commit
e1407d010f
|
|
@ -52,6 +52,18 @@
|
|||
"CSBase/Interface.nut"
|
||||
],
|
||||
"ProjectScript": {
|
||||
"修炼场": {
|
||||
"Private": true,
|
||||
"Script": [
|
||||
"Project/Trainingroom/Trainingroom.nut"
|
||||
],
|
||||
"info": {
|
||||
"ProjectAuthor": "官方 (期限:月)",
|
||||
"ProjectVersion": "1.0.0",
|
||||
"ProjectDescribe": "NPC交易定制插件",
|
||||
"ImageMini": "http://49.234.27.222:8651/dps/download2/Image:chengjiu.png"
|
||||
}
|
||||
},
|
||||
"融合装备": {
|
||||
"Private": true,
|
||||
"Script": [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
文件名:MonsterBlood.nut
|
||||
路径:Project/MonsterBlood/MonsterBlood.nut
|
||||
创建日期:2025-12-10 19:13
|
||||
文件用途:怪物血条
|
||||
*/
|
||||
class MonsterBloodC extends Rindro_BaseToolClass {
|
||||
|
||||
constructor() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function DrawFront(args) {
|
||||
|
||||
}
|
||||
|
||||
function DrawBack(args) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
getroottable().rawdelete("MonsterBlood_Obj");
|
||||
|
||||
function Lenheart_MonsterBlood_Fun(obj) {
|
||||
local RootTab = getroottable();
|
||||
if (!RootTab.rawin("MonsterBlood_Obj")) {
|
||||
RootTab.rawset("MonsterBlood_Obj", MonsterBloodC());
|
||||
|
||||
|
||||
local Func = function(args) {
|
||||
print(args[0]);
|
||||
}
|
||||
// Rindro_Haker.LoadHook(0x43D8C0, ["pointer", "void"],
|
||||
// function(args) {
|
||||
// print(args[0]);
|
||||
// if (getroottable().rawin("MonsterBlood_Obj")) getroottable().MonsterBlood_Obj.DrawBack(args);
|
||||
// },
|
||||
// function(args) {
|
||||
// if (getroottable().rawin("MonsterBlood_Obj")) getroottable().MonsterBlood_Obj.DrawFront(args);
|
||||
// });
|
||||
|
||||
Rindro_Haker.LoadHook(0x43D770, ["int", "int", "int"],
|
||||
function(args) {
|
||||
print(args[0]);
|
||||
if (getroottable().rawin("MonsterBlood_Obj")) getroottable().MonsterBlood_Obj.DrawBack(args);
|
||||
},
|
||||
function(args) {
|
||||
if (getroottable().rawin("MonsterBlood_Obj")) getroottable().MonsterBlood_Obj.DrawFront(args);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
getroottable()["LenheartFuncTab"].rawset("MonsterBloodFuncN", Lenheart_MonsterBlood_Fun);
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
文件名:Trainingroom.nut
|
||||
路径:Project/Trainingroom/Trainingroom.nut
|
||||
创建日期:2025-12-11 01:20
|
||||
文件用途:
|
||||
*/
|
||||
class TrainingroomC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
DeBugMode = true;
|
||||
|
||||
//不是窗口
|
||||
// NoWindow = true;
|
||||
|
||||
//是否可见
|
||||
// Visible = false;
|
||||
|
||||
//位移修炼场信息
|
||||
MoveTrainingroomInfo = null;
|
||||
//位移修炼场Flag
|
||||
MoveTrainingroomFlag = false;
|
||||
//位移修炼场副本编号
|
||||
MoveTrainingroomDungeonId = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
InitPvf();
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
// //关闭按钮
|
||||
// local CloseButton = LenheartNewUI_BaseButton(278, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
// CloseButton.OnClick = function() {
|
||||
// this.Visible = false;
|
||||
// }.bindenv(this);
|
||||
// Childrens.append(CloseButton);
|
||||
|
||||
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
|
||||
|
||||
//判断自己是否在需要位移修炼场的区域
|
||||
if (sq_GetCurrentModuleType() == 1) {
|
||||
if (MoveTrainingroomInfo) {
|
||||
if (L_sq_GetTownIndex() == MoveTrainingroomInfo[0] && L_sq_GetRegionIndex() == MoveTrainingroomInfo[1] && L_sq_GetTownXpos() >= MoveTrainingroomInfo[2] && L_sq_GetTownXpos() <= (MoveTrainingroomInfo[2] + MoveTrainingroomInfo[4]) && L_sq_GetTownYpos() >= MoveTrainingroomInfo[3] && L_sq_GetTownYpos() <= (MoveTrainingroomInfo[3] + MoveTrainingroomInfo[5])) {
|
||||
if (!MoveTrainingroomFlag) {
|
||||
MoveTrainingroomFlag = true;
|
||||
L_sq_GoDungeon(MoveTrainingroomDungeonId);
|
||||
}
|
||||
} else {
|
||||
if (MoveTrainingroomFlag) {
|
||||
MoveTrainingroomFlag = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function InitPvf() {
|
||||
Rindro_Script.GetFileData("etc/trainingroom.etc", function(DataTable, Data) {
|
||||
while (!Data.Eof()) {
|
||||
local Fragment = Data.Get();
|
||||
if (Fragment == "[area]") {
|
||||
MoveTrainingroomInfo = [Data.Get(), Data.Get(), Data.Get(), Data.Get(), Data.Get(), Data.Get()];
|
||||
} else if (Fragment == "[dungeon]") {
|
||||
MoveTrainingroomDungeonId = Data.Get();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
L_Windows_List <- [];
|
||||
getroottable().rawdelete("LenheartPluginsInitFlag");
|
||||
getroottable().rawdelete("EventList_Obj")
|
||||
getroottable().rawdelete("Trainingroom_Obj");
|
||||
|
||||
function Lenheart_Trainingroom_Fun(obj) {
|
||||
local RootTab = getroottable();
|
||||
if (!RootTab.rawin("Trainingroom_Obj")) {
|
||||
RootTab.rawset("Trainingroom_Obj", true);
|
||||
LenheartNewUI_CreateWindow(TrainingroomC, "修炼场窗口", ((getroottable().Rindro_Scr_Width - 405) / 2).tointeger(), 64, 405, 372, 28);
|
||||
}
|
||||
}
|
||||
|
||||
getroottable()["LenheartFuncTab"].rawset("TrainingroomFuncN", Lenheart_Trainingroom_Fun);
|
||||
|
|
@ -49,6 +49,7 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
//奖励
|
||||
RewardList = null;
|
||||
RewardType = 0;
|
||||
RewardSubType = 0;
|
||||
|
||||
//排行榜
|
||||
RankObject = null;
|
||||
|
|
@ -84,6 +85,8 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
RewardList = [];
|
||||
RewardList.append(Jso.rewards);
|
||||
RewardList.append(Jso.rewards2);
|
||||
if (Jso.rawin("rewards3"))
|
||||
RewardList.append(Jso.rewards3);
|
||||
}.bindenv(this));
|
||||
|
||||
Pack_Control.rawset(20060006, function(Chunk) {
|
||||
|
|
@ -163,7 +166,6 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
}
|
||||
}.bindenv(this));
|
||||
|
||||
|
||||
// RankObject = [];
|
||||
// for (local i = 0; i< 7; i++) {
|
||||
// local Buffer = WorldBossC_Item(this, {
|
||||
|
|
@ -278,6 +280,7 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
PersonalRankBtn.State = 0;
|
||||
Btn.State = 1;
|
||||
CheckType = 0;
|
||||
RewardSubType = 0;
|
||||
CheckRank();
|
||||
}.bindenv(this);
|
||||
AddChild(TeamRankBtn);
|
||||
|
|
@ -289,6 +292,7 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
TeamRankBtn.State = 0;
|
||||
Btn.State = 1;
|
||||
CheckType = 1;
|
||||
RewardSubType = 1;
|
||||
CheckRank();
|
||||
}.bindenv(this);
|
||||
AddChild(PersonalRankBtn);
|
||||
|
|
@ -361,7 +365,9 @@ class WorldBossC extends LenheartNewUI_Windows {
|
|||
local RankPageStr = (RankPage + 1) + "/" + MaxRankPage;
|
||||
L_sq_DrawCode(RankPageStr, X + 524 - LenheartTextClass.GetStringLength(RankPageStr) / 2, Y + 418, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||
if (RewardList) {
|
||||
foreach(Pos, ItemId in RewardList[RewardType]) {
|
||||
local Typep = RewardType;
|
||||
if (Typep == 0 && RewardSubType == 1 && RewardList.len() == 3) Typep = 2;
|
||||
foreach(Pos, ItemId in RewardList[Typep]) {
|
||||
DrawItemEx(X + 34 + (Pos * 36), Y + 423, ItemId, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,5 +190,11 @@
|
|||
},
|
||||
"Project/SeriaZeal": {
|
||||
"description": "赛丽亚的热忱"
|
||||
},
|
||||
"Project/MonsterBlood": {
|
||||
"description": "怪物血条"
|
||||
},
|
||||
"Project/Trainingroom": {
|
||||
"description": "修炼场"
|
||||
}
|
||||
}
|
||||
|
|
@ -1016,6 +1016,7 @@ function onKeyFrameFlag_Blessofcourage(obj, flagIndex)
|
|||
|
||||
if(CNSquirrelAppendage.sq_IsAppendAppendage(obj, "character/priest/1crusader_bykk/ap_gloriousbless.nut")) CNSquirrelAppendage.sq_RemoveAppendage(obj, "character/priest/1crusader_bykk/ap_gloriousbless.nut");
|
||||
if(CNSquirrelAppendage.sq_IsAppendAppendage(obj, APDPATH_CRUXOFVICTORIA)) CNSquirrelAppendage.sq_RemoveAppendage(obj, APDPATH_CRUXOFVICTORIA);
|
||||
if(CNSquirrelAppendage.sq_IsAppendAppendage(obj, APDPATH_BLESSOFCOURAGE)) CNSquirrelAppendage.sq_RemoveAppendage(obj, APDPATH_BLESSOFCOURAGE);
|
||||
local skillLevel = sq_GetSkillLevel(obj, SKILL_BYKK_BLESSOFCOURAGE);
|
||||
local range = sq_GetIntData(obj, SKILL_BYKK_BLESSOFCOURAGE, 0);
|
||||
local buffTime = sq_GetLevelData(obj, SKILL_BYKK_BLESSOFCOURAGE, 0, skillLevel);
|
||||
|
|
|
|||
|
|
@ -1779,9 +1779,9 @@ function setCustomData_po_atpriest_bykk(obj, receiveData)
|
|||
CNSquirrelAppendage.sq_Append(AddAppendage, activeObj, sqrChr, true);
|
||||
|
||||
local tiaozheng = 1;
|
||||
if(isSameObject(sqrChr, activeObj)){
|
||||
tiaozheng = 0;
|
||||
}
|
||||
// if(isSameObject(sqrChr, activeObj)){
|
||||
// tiaozheng = 0;
|
||||
// }
|
||||
AddAppendage.getVar("custom").setInt(11, phAttack * tiaozheng);
|
||||
AddAppendage.getVar("custom").setInt(12, mgAttack * tiaozheng);
|
||||
AddAppendage.getVar("custom").setInt(13, attackSpeed);
|
||||
|
|
|
|||
|
|
@ -2644,7 +2644,7 @@ function createPassiveObject_k_k(obj,monsterobj,skillIndex,subtype,x,y,z,pvector
|
|||
// local bonusRate = obj.getVar("summoners_bonusRate").get_vector(0).tofloat() / 1000.0;
|
||||
//print("bonusRate = "+bonusRate);
|
||||
// pvector1 = (pvector1.tofloat() * bonusRate).tointeger();
|
||||
if((skillIndex == SKILL_BYKK_SUMMONRAMOS && subtype == 41) || (skillIndex == 25 && subtype == 7) || (skillIndex == 46 && subtype == 6)) pvector2 = (pvector2.tofloat() * summoners_kuk_setbonusRate(obj).tofloat() / 1000.0).tointeger();
|
||||
//if((skillIndex == SKILL_BYKK_SUMMONRAMOS && subtype == 41) || (skillIndex == 25 && subtype == 7) || (skillIndex == 46 && subtype == 6)) pvector2 = (pvector2.tofloat() * summoners_kuk_setbonusRate(obj).tofloat() / 1000.0).tointeger();
|
||||
local destX_01 = 0;
|
||||
local destY_01 = 0;
|
||||
if(!isSameObject(obj, monsterobj)){
|
||||
|
|
|
|||
|
|
@ -495,7 +495,8 @@ function setCustomData_po_swordman_bykk(obj, receiveData)
|
|||
for (local i = 0; i < objectManager.getCollisionObjectNumber(); i++){
|
||||
local object = objectManager.getCollisionObject(i);//得到控制類對象
|
||||
if (object && object.isObjectType(OBJECTTYPE_ACTIVE) && obj.isEnemy(object) && object.isInDamagableState(obj)){
|
||||
if(sq_Abs(sq_GetXPos(object) - xPos) <= 275 && sq_Abs(sq_GetYPos(object) - yPos) <= 138){
|
||||
local xDis = sq_Abs(sq_GetXPos(object) - xPos), yDis = sq_Abs(sq_GetYPos(object) - yPos);
|
||||
if((xDis <= 275 && yDis <= 15) || (xDis <= 220 && yDis <= 30) || (xDis <= 165 && yDis <= 45) || (xDis <= 110 && yDis <= 60) || (xDis <= 55 && yDis <= 75)){
|
||||
local activeObj = sq_GetCNRDObjectToActiveObject(object);
|
||||
if(!CNSquirrelAppendage.sq_IsAppendAppendage(activeObj, APDPATH_SM_HUNDREDSWORD_HOLD)){
|
||||
local AddAppendage = CNSquirrelAppendage.sq_AppendAppendage(activeObj, sqrChr, -1, false, APDPATH_SM_HUNDREDSWORD_HOLD, true);
|
||||
|
|
|
|||
Loading…
Reference in New Issue