sm

立即登录 | 账号注册

积分: 0 |用户组: 游客

搜索
服务器租用 传奇3一条龙 支付平台源码 无法下载点击此处反馈
查看: 1720|回复: 2

[传奇源码] AppleM22012_0501全套无加密代码 Delphi2007编译带教程

[复制链接]

826

主题

36

回帖

23万

积分

霸王教主

积分
234697
发表于 2022-4-22 22:41:33 | 显示全部楼层 |阅读模式
控件安装+编译视频教程 点击这里
  1. function TMagicManager.MagBigExplosionAndMakePoisonEx(BaseObject:
  2. TBaseObject; UserMagic: pTUserMagic; nPower, nX, nY: Integer; nRage:
  3. Integer): Boolean;
  4. var
  5.   i: Integer;
  6.   BaseObjectList: TList;
  7.   TargeTBaseObject: TBaseObject;
  8.   PlayObject: TPlayObject;
  9.   nPowerPoint: Integer;
  10.   nTime: Integer;
  11.   MakePoisonInfo: pTMakePoisonInfo;
  12. begin
  13.   Result := False;
  14.   nPowerPoint := Round(g_Config.nSkill71PowerRate / 100 * nPower);
  15.   nTime := 3 * UserMagic.btLevel + Random(2 * UserMagic.btLevel);
  16.   if BaseObject.m_btRaceServer <> RC_PLAYOBJECT then Exit;
  17.   PlayObject := TPlayObject(BaseObject);
  18.   BaseObjectList := TList.Create;
  19.   BaseObject.GetMapBaseObjects(BaseObject.m_PEnvir, nX, nY, nRage, BaseObjectList);
  20.   for i := 0 to BaseObjectList.Count - 1 do begin
  21.     TargeTBaseObject := TBaseObject(BaseObjectList.Items);
  22.     if BaseObject.IsProperTarget(TargeTBaseObject) then begin
  23.       PlayObject.SendDelayMsg(PlayObject, RM_DELAYMAGIC, nPowerPoint, MakeLong(nX, nY), 3, Integer(TargeTBaseObject), '', 600);
  24.       TargeTBaseObject.MagicQuest(PlayObject, UserMagic.wMagIdx, mfs_TagEx);
  25.       if PlayObject.m_Abil.Level > TargeTBaseObject.m_Abil.Level then begin
  26.         if TargeTBaseObject.m_btRaceServer = RC_PLAYOBJECT then begin
  27.           if g_Config.boSkill71MbAttackHuman then begin
  28.             New(MakePoisonInfo);
  29.             MakePoisonInfo.BaseObject := PlayObject;
  30.             MakePoisonInfo.nX := nX;
  31.             MakePoisonInfo.nY := nY;
  32.             MakePoisonInfo.nRate := 3;
  33.             MakePoisonInfo.boFastParalysis := g_Config.boSkill71MbFastParalysis;

  34.            TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  35. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 600);
  36.            end;
  37.         end else begin
  38.           if (TargeTBaseObject.m_Master <> nil) and (TargeTBaseObject.m_Master.m_btRaceServer = RC_PLAYOBJECT) then begin
  39.             if g_Config.boSkill71MbAttackSlave then begin
  40.               New(MakePoisonInfo);
  41.               MakePoisonInfo.BaseObject := PlayObject;
  42.               MakePoisonInfo.nX := nX;
  43.               MakePoisonInfo.nY := nY;
  44.               MakePoisonInfo.nRate := 3;
  45.               MakePoisonInfo.boFastParalysis := g_Config.boSkill71MbFastParalysis;

  46.              TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  47. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 600);
  48.             end;
  49.           end else begin
  50.             if g_Config.boSkill71MbAttackMon then begin
  51.               New(MakePoisonInfo);
  52.               MakePoisonInfo.BaseObject := PlayObject;
  53.               MakePoisonInfo.nX := nX;
  54.               MakePoisonInfo.nY := nY;
  55.               MakePoisonInfo.nRate := 3;
  56.               MakePoisonInfo.boFastParalysis := g_Config.boSkill71MbFastParalysis;

  57.              TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  58. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 600);
  59.             end;
  60.           end;
  61.         end;
  62.       end;

  63.       Result := True;
  64.     end;
  65.   end;
  66.   BaseObjectList.Free;
  67. end;

  68. function
  69. TMagicManager.MagBigExplosionAndMakePoison(BaseObject: TBaseObject;
  70. UserMagic: pTUserMagic; nPower, nX, nY: Integer; nRage: Integer):
  71. Boolean;
  72. var
  73.   i: Integer;
  74.   BaseObjectList: TList;
  75.   TargeTBaseObject: TBaseObject;
  76.   PlayObject: TPlayObject;
  77.   nPowerPoint: Integer;
  78.   nTime: Integer;
  79.   MakePoisonInfo: pTMakePoisonInfo;
  80. begin
  81.   Result := False;
  82.   nPowerPoint := Round(g_Config.nSkill72PowerRate / 100 * nPower);
  83.   nTime := 3 * UserMagic.btLevel + Random(2 * UserMagic.btLevel);
  84.   if BaseObject.m_btRaceServer <> RC_PLAYOBJECT then Exit;
  85.   PlayObject := TPlayObject(BaseObject);
  86.   BaseObjectList := TList.Create;
  87.   BaseObject.GetMapBaseObjects(BaseObject.m_PEnvir, nX, nY, nRage, BaseObjectList);
  88.   for i := 0 to BaseObjectList.Count - 1 do begin
  89.     TargeTBaseObject := TBaseObject(BaseObjectList.Items);
  90.     if BaseObject.IsProperTarget(TargeTBaseObject) then begin
  91.       PlayObject.SendDelayMsg(PlayObject, RM_DELAYMAGIC, nPowerPoint, MakeLong(nX, nY), 3, Integer(TargeTBaseObject), '', 1200);
  92.       TargeTBaseObject.MagicQuest(PlayObject, UserMagic.wMagIdx, mfs_TagEx);
  93.       if g_Config.boSkill72Damagearmor then begin
  94.         nPowerPoint := GetPower13(30, UserMagic) + GetRPow(PlayObject.m_WAbil.SC) * 2;
  95.         New(MakePoisonInfo);
  96.         MakePoisonInfo.BaseObject := PlayObject;
  97.         MakePoisonInfo.nX := nX;
  98.         MakePoisonInfo.nY := nY;
  99.         MakePoisonInfo.nRate := 3;

  100.        TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  101. POISON_DAMAGEARMOR {中毒类型 - 红毒}, nPower, Integer(MakePoisonInfo),
  102.           ROUND(UserMagic.btLevel / 3 * (nPower / g_Config.nAmyOunsulPoint)) {UserMagic.btLevel}, '', 1200);
  103.       end;
  104.       if g_Config.boSkill72DecHealth then begin
  105.         nPowerPoint := GetPower13(40, UserMagic) + GetRPow(PlayObject.m_WAbil.SC) * 2;
  106.         New(MakePoisonInfo);
  107.         MakePoisonInfo.BaseObject := PlayObject;
  108.         MakePoisonInfo.nX := nX;
  109.         MakePoisonInfo.nY := nY;
  110.         MakePoisonInfo.nRate := 3;
  111.         TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON, POISON_DECHEALTH {中毒类型 - 绿毒}, nPower, Integer(MakePoisonInfo),
  112.           ROUND(UserMagic.btLevel / 3 * (nPower / g_Config.nAmyOunsulPoint)) {UserMagic.btLevel}, '', 1200);
  113.       end;

  114.       if PlayObject.m_Abil.Level > TargeTBaseObject.m_Abil.Level then begin
  115.         if TargeTBaseObject.m_btRaceServer = RC_PLAYOBJECT then begin
  116.           if g_Config.boSkill72MbAttackHuman then begin
  117.             New(MakePoisonInfo);
  118.             MakePoisonInfo.BaseObject := PlayObject;
  119.             MakePoisonInfo.nX := nX;
  120.             MakePoisonInfo.nY := nY;
  121.             MakePoisonInfo.nRate := 3;
  122.             MakePoisonInfo.boFastParalysis := g_Config.boSkill72MbFastParalysis;

  123.            TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  124. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 1200);
  125.            end;
  126.         end else begin
  127.           if (TargeTBaseObject.m_Master <> nil) and (TargeTBaseObject.m_Master.m_btRaceServer = RC_PLAYOBJECT) then begin
  128.             if g_Config.boSkill72MbAttackSlave then begin
  129.               New(MakePoisonInfo);
  130.               MakePoisonInfo.BaseObject := PlayObject;
  131.               MakePoisonInfo.nX := nX;
  132.               MakePoisonInfo.nY := nY;
  133.               MakePoisonInfo.nRate := 3;
  134.               MakePoisonInfo.boFastParalysis := g_Config.boSkill72MbFastParalysis;

  135.              TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  136. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 1200);
  137.             end;
  138.           end else begin
  139.             if g_Config.boSkill72MbAttackMon then begin
  140.               New(MakePoisonInfo);
  141.               MakePoisonInfo.BaseObject := PlayObject;
  142.               MakePoisonInfo.nX := nX;
  143.               MakePoisonInfo.nY := nY;
  144.               MakePoisonInfo.nRate := 3;
  145.               MakePoisonInfo.boFastParalysis := g_Config.boSkill72MbFastParalysis;

  146.              TargeTBaseObject.SendDelayMsg(PlayObject, RM_MAKEPOISON,
  147. POISON_STONE {中毒类型 - 麻痹}, nTime, Integer(MakePoisonInfo), 0, '', 1200);
  148.             end;
  149.           end;

  150.         end;
  151.       end;
  152.       Result := True;
  153.     end;
  154.   end;
  155.   BaseObjectList.Free;
  156. end;

  157. function TMagicManager.MagBigExplosion(BaseObject: TBaseObject; nPower, nX,
  158.   nY: Integer; nRage, nMagID: Integer): Boolean; //00492F4C
  159. var
  160.   i: Integer;
  161.   BaseObjectList: TList;
  162.   TargeTBaseObject: TBaseObject;
  163. begin
  164.   Result := False;
  165.   BaseObjectList := TList.Create;
  166.   BaseObject.GetMapBaseObjects(BaseObject.m_PEnvir, nX, nY, nRage, BaseObjectList);
  167.   for i := 0 to BaseObjectList.Count - 1 do begin
  168.     TargeTBaseObject := TBaseObject(BaseObjectList.Items);
  169.     if BaseObject.IsProperTarget(TargeTBaseObject) then begin
  170.       BaseObject.SetTargetCreat(TargeTBaseObject);
  171.       TargeTBaseObject.SendMsg(BaseObject, RM_MAGSTRUCK, 0, nPower, 0, 0, '');
  172.       TargeTBaseObject.MagicQuest(BaseObject, nMagID, mfs_TagEx);
  173.       Result := True;
  174.     end;
  175.   end;
  176.   BaseObjectList.Free;
  177. end;
复制代码


下载地址.txt

108 Bytes, 下载次数: 6, 下载积分: 积分 -5

售价: 100 积分  [记录]





上一篇:C#传奇3大补帖增强免蜡源代码
下一篇:1.45传奇3RSR插件Delphi源代码道格拉斯完整版
回复

使用道具 举报

1

主题

412

回帖

535

积分

旋风流星刀

积分
535
发表于 2023-8-23 06:45:51 | 显示全部楼层
大佬,这个资源还是不能下载啊!
回复 支持 反对

使用道具 举报

3

主题

44

回帖

40

积分

旋风流星刀

积分
40
发表于 2023-12-12 10:13:32 | 显示全部楼层
在哪里下载的啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|美林GM论坛 ( 蜀ICP备2020030293号-2 )|网站地图

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系

GMT+8, 2024-4-20 19:26 , Processed in 0.309474 second(s), 64 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表