搜索
热搜: 活动 交友 discuz
查看: 2354|回复: 2

[讨论] 测试代码高亮帖子

[复制链接]

17

主题

40

帖子

483

积分

大摸导师

UID
1
金币
1987
精华
0
节操
-1

隐修议员

发表于 2019-10-12 13:41:08 | 显示全部楼层 |阅读模式

前方高能预警!非战斗人员请尽快登录!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
  1. function public:DamageFilter(params)
  2.         local hVictim = EntIndexToHScript(params.entindex_victim_const)
  3.         local hAttacker = EntIndexToHScript(params.entindex_attacker_const)
  4.         local iDamageType = params.damagetype_const
  5.         if IsValid(hAttacker) and hAttacker ~= hVictim then
  6.                 local fDamage = params.damage
  7.                 local iPlayerID = hAttacker:GetPlayerOwnerID()

  8.                 if PlayerResource:IsValidPlayerID(iPlayerID) then
  9.                         local hHero = PlayerResource:GetSelectedHeroEntity(iPlayerID)
  10.                         if hAttacker:IsSummoned() or hAttacker:IsIllusion() then
  11.                                 hAttacker = IsValid(hAttacker:GetSummoner()) and hAttacker:GetSummoner() or hAttacker
  12.                         end
  13.                         if hHero ~= hAttacker then
  14.                                 if iDamageType == DAMAGE_TYPE_NONE then
  15.                                         iDamageType = DAMAGE_TYPE_PURE
  16.                                 end
  17.                                 if hAttacker:IsBuilding() and hAttacker.GetBuilding ~= nil then
  18.                                         local hBuilding = hAttacker:GetBuilding()
  19.                                         local tRoundDamage = PlayerData.playerRoundDamage[iPlayerID]
  20.                                         local iIndex = #tRoundDamage
  21.                                         if tRoundDamage[iIndex][hBuilding:GetUnitEntityName()] == nil then
  22.                                                 tRoundDamage[iIndex][hBuilding:GetUnitEntityName()] = {}
  23.                                         end
  24.                                         tRoundDamage[iIndex][hBuilding:GetUnitEntityName()][iDamageType] = (tRoundDamage[iIndex][hBuilding:GetUnitEntityName()][iDamageType] or 0) + fDamage
  25.                                         hBuilding:ModifyTotalDamage(fDamage)
  26.                                 end
  27.                         end
  28.                 end
  29.         end
  30.         return true
  31. end
复制代码


  1.         <Panel class="FlyoutScoreboardRoot" hittest="false" >
  2.                 <Panel id="FlyoutScoreboard" hittest="false" >
  3.                         <Panel id="FlyoutScoreboardTitle" >
  4.                                 <Panel id="FlyoutScoreboardTitleContainer" >
  5.                                         <Panel id="GameModeInfo" >
  6.                                                 <Label id="GameModeInfo_CountingMode" class="GameModeInfoLabel" text="{s:counting_mode_name}" onmouseover="DOTAShowTitleTextTooltip('{s:counting_mode_name}','{s:counting_mode_description}')" onmouseout="DOTAHideTitleTextTooltip()" />
  7.                                                 <Label class="GameModeInfoLabel" text="/" />
  8.                                                 <Label id="GameModeInfo_Difficulty" class="GameModeInfoLabel" text="{s:difficulty_name}" onmouseover="DOTAShowTitleTextTooltip('{s:difficulty_name}','{s:difficulty_description}')" onmouseout="DOTAHideTitleTextTooltip()" />
  9.                                         </Panel>
  10.                                         <Label class="ScoreCol_Kills" text="#Score_Kills"/>
  11.                                         <Label class="ScoreCol_Missing" text="#Score_Missing"/>
  12.                                         <Label class="ScoreCol_VentureChallenge" text="#Score_VentureChallenge"/>
  13.                                 </Panel>
  14.                         </Panel>
  15.                         <Panel id="PlayersContainer" >
  16.                         </Panel>
  17.                 </Panel>
  18.                 <!-- <Image id="DouyuImage" scaling="stretch-to-fit-preserve-aspect" src="file://{images}/custom_game/adv/douyu_roshan.png" /> -->
  19.         </Panel>
复制代码




  1. // 主键
  2.         "npc_dota_hero_monkey_king_custom"
  3.         {
  4.                 // 名字
  5.                 "Name"        "齐天大圣"
  6.                 // 基类
  7.                 "BaseClass"        "npc_dota_creature"
  8.                 // 模型
  9.                 "Model"        "models/heroes/monkey_king/monkey_king.vmdl"
  10.                 // 模型尺寸
  11.                 "ModelScale"        "0.81"
  12.                 // 特殊数据
  13.                 "Creature"
  14.                 {
  15.                         // 挂载饰品
  16.                         "AttachWearables"
  17.                         {
  18.                                 "1"        { "ItemDef" "657" }
  19.                                 "2"        { "ItemDef" "594" }
  20.                                 "3"        { "ItemDef" "608" }
  21.                                 "4"        { "ItemDef" "609" }
  22.                         }
  23.                 }
  24.                 // 声音设置
  25.                 "SoundSet"        "Hero_MonkeyKing"
  26.                 // 选取音效
  27.                 "HeroSelectSoundEffect"        "Hero_MonkeyKing.Pick"
  28.                 // 粒子目录
  29.                 "particle_folder"        "particles/units/heroes/hero_monkey_king"
  30.                 // 声音文件
  31.                 "GameSoundsFile"        "soundevents/game_sounds_heroes/game_sounds_monkey_king.vsndevts"
  32.                 // 语音文件
  33.                 "VoiceFile"        "soundevents/voscripts/game_sounds_vo_monkey_king.vsndevts"
  34.                 // 技能1
  35.                 "Ability1"        "monkey_king_1"
  36.                 // 技能2
  37.                 "Ability2"        "monkey_king_2"
  38.                 // 技能3
  39.                 "Ability3"        "monkey_king_3"
  40.                 // 技能10
  41.                 "Ability10"        "special_bonus_unique_monkey_king_custom"
  42.                 // 技能11
  43.                 "Ability11"        "special_bonus_custom_attack_damage_50"
  44.                 // 技能12
  45.                 "Ability12"        "special_bonus_unique_monkey_king_custom_3"
  46.                 // 技能13
  47.                 "Ability13"        "special_bonus_unique_monkey_king_custom_2"
  48.                 // 技能14
  49.                 "Ability14"        "special_bonus_unique_monkey_king_custom_5"
  50.                 // 技能15
  51.                 "Ability15"        "special_bonus_unique_monkey_king_custom_4"
  52.                 // 技能16
  53.                 "Ability16"        "special_bonus_unique_monkey_king_custom_7"
  54.                 // 技能17
  55.                 "Ability17"        "special_bonus_unique_monkey_king_custom_6"
  56.                 // 技能槽位
  57.                 "AbilityLayout"        "4"
  58.                 // 血条高度
  59.                 "HealthBarOffset"        "200"
  60.                 // 移动速度
  61.                 "MovementSpeed"        "300"
  62.                 // 转身速度
  63.                 "MovementTurnRate"        "0.5"
  64.                 // 攻击姿态
  65.                 "HasAggressiveStance"        "0"
  66.                 // 移动类型
  67.                 "MovementCapabilities"        "DOTA_UNIT_CAP_MOVE_GROUND"
  68.                 // 护甲值
  69.                 "ArmorPhysical"        "0"
  70.                 // 魔抗
  71.                 "MagicalResistance"        "0"
  72.                 // 生命值
  73.                 "StatusHealth"        "100"
  74.                 // 生命恢复
  75.                 "StatusHealthRegen"        "0.25"
  76.                 // 魔法值
  77.                 "StatusMana"        "200"
  78.                 // 魔法恢复
  79.                 "StatusManaRegen"        "1"
  80.                 // 攻击类型
  81.                 "AttackCapabilities"        "DOTA_UNIT_CAP_MELEE_ATTACK"
  82.                 // 最小攻击力v812
  83.                 "AttackDamageMin"        "29"
  84.                 // 最大攻击力v812
  85.                 "AttackDamageMax"        "35"
  86.                 // 攻击间隔
  87.                 "AttackRate"        "1.3"
  88.                 // 攻击前摇
  89.                 "AttackAnimationPoint"        "0.45"
  90.                 // 攻击范围
  91.                 "AttackRange"        "900"
  92.                 // 警戒范围
  93.                 "AttackAcquisitionRange"        "900"
  94.                 // 投射物特效
  95.                 "ProjectileModel"        "particles/base_attacks/ranged_hero.vpcf"
  96.                 // 投射物速率
  97.                 "ProjectileSpeed"        "900"
  98.                 // 主属性
  99.                 "AttributePrimary"        "DOTA_ATTRIBUTE_AGILITY"
  100.                 // 力量v812
  101.                 "AttributeBaseStrength"        "19"
  102.                 // 力量成长v812
  103.                 "AttributeStrengthGain"        "8.6"
  104.                 // 敏捷v812
  105.                 "AttributeBaseAgility"        "22"
  106.                 // 敏捷成长v812
  107.                 "AttributeAgilityGain"        "14.1"
  108.                 // 智力v812
  109.                 "AttributeBaseIntelligence"        "20"
  110.                 // 智力成长v812
  111.                 "AttributeIntelligenceGain"        "6.6"
  112.                 // 单位标签
  113.                 "UnitLabel"        "HERO"
  114.                 // 是否有道具栏
  115.                 "HasInventory"        "1"
  116.                 // 物品栏格数
  117.                 "InventorySlots"        "6"
  118.                 // 作为英雄生命条
  119.                 "ConsideredHero"        "1"
  120.                 // 攻击类型
  121.                 "CombatClassAttack"        "DOTA_COMBAT_CLASS_ATTACK_HERO"
  122.                 // 防御类型
  123.                 "CombatClassDefend"        "DOTA_COMBAT_CLASS_DEFEND_HERO"
  124.                 // 初始
  125.                 "AmbientModifiers"        "modifier_ambient_monkey_king | modifier_ambient_monkey_king_attack_range | modifier_ambient_monkey_king_attack_speed"
  126.                 // 幽灵单位
  127.                 "GhostModelUnitName"        "npc_dota_hero_monkey_king"
  128.         }
复制代码



  1. function StartBuildingHelper( params )
  2. {
  3.         if (params !== undefined)
  4.         {
  5.                 // Set the parameters passed by AddBuilding
  6.                 state = params.state;
  7.                 size = params.size;
  8.                 overlay_size = size * 3;
  9.                 grid_alpha = Number(params.grid_alpha);
  10.                 model_alpha = Number(params.model_alpha);
  11.                 recolor_ghost = Number(params.recolor_ghost);
  12.                 builderIndex = params.builderIndex;
  13.                 var scale = params.scale;
  14.                 var entindex = params.entindex;
  15.                 var attack_range = params.attack_range;

  16.                 // If we chose to not recolor the ghost model, set it white
  17.                 var ghost_color = [0, 255, 0]
  18.                 if (!recolor_ghost)
  19.                         ghost_color = [255,255,255]

  20.                 var localHeroIndex = Players.GetPlayerHeroEntityIndex( Players.GetLocalPlayer() );

  21.                 if (modelParticle !== undefined) {
  22.                         Particles.DestroyParticleEffect(modelParticle, true)
  23.                 }
  24.                 if (gridParticles !== undefined) {
  25.                         for (var i in gridParticles) {
  26.                                 Particles.DestroyParticleEffect(gridParticles[i], true)
  27.                         }
  28.                 }

  29.                 // Range
  30.                 rangeParticle = Particles.CreateParticle("particles/ui_mouseactions/range_display.vpcf", ParticleAttachment_t.PATTACH_CUSTOMORIGIN, -1);
  31.                 Particles.SetParticleControl(rangeParticle, 1, [attack_range, attack_range, attack_range]);

  32.                 // Building Ghost
  33.                 modelParticle = Particles.CreateParticle("particles/buildinghelper/ghost_model.vpcf", ParticleAttachment_t.PATTACH_ABSORIGIN, localHeroIndex);
  34.                 Particles.SetParticleControlEnt(modelParticle, 1, entindex, ParticleAttachment_t.PATTACH_ABSORIGIN_FOLLOW, "", Entities.GetAbsOrigin(entindex), true)
  35.                 Particles.SetParticleControl(modelParticle, 2, ghost_color)
  36.                 Particles.SetParticleControl(modelParticle, 3, [model_alpha,0,0])
  37.                 Particles.SetParticleControl(modelParticle, 4, [scale,0,0])

  38.                 // Grid squares
  39.                 gridParticles = [];
  40.                 for (var x=0; x < size*size; x++)
  41.                 {
  42.                         var particle = Particles.CreateParticle("particles/buildinghelper/square_sprite.vpcf", ParticleAttachment_t.PATTACH_CUSTOMORIGIN, 0)
  43.                         Particles.SetParticleControl(particle, 1, [32,0,0])
  44.                         Particles.SetParticleControl(particle, 3, [grid_alpha,0,0])
  45.                         gridParticles.push(particle)
  46.                 }

  47.                 overlayParticles = [];
  48.                 for (var y=0; y < overlay_size*overlay_size; y++)
  49.                 {
  50.                         var particle = Particles.CreateParticle("particles/buildinghelper/square_overlay.vpcf", ParticleAttachment_t.PATTACH_CUSTOMORIGIN, 0)
  51.                         Particles.SetParticleControl(particle, 1, [32,0,0])
  52.                         Particles.SetParticleControl(particle, 3, [0,0,0])
  53.                         overlayParticles.push(particle)
  54.                 }
  55.         }

  56.         if (state == 'active')
  57.         {
  58.                 $.Schedule(0, StartBuildingHelper);

  59.                 var mPos = GameUI.GetCursorPosition();
  60.                 var GamePos = GameUI.GetScreenWorldPosition(mPos);;

  61.                 if ( GamePos !== null )
  62.                 {
  63.                         SnapToGrid(GamePos, size)

  64.                         var invalid = false;
  65.                         var color = [0,255,0]
  66.                         var part = 0
  67.                         var halfSide = (size/2)*64
  68.                         var boundingRect = {}
  69.                         boundingRect["leftBorderX"] = GamePos[0]-halfSide
  70.                         boundingRect["rightBorderX"] = GamePos[0]+halfSide
  71.                         boundingRect["topBorderY"] = GamePos[1]+halfSide
  72.                         boundingRect["bottomBorderY"] = GamePos[1]-halfSide

  73.                         if (GamePos[0] > 10000000) return

  74.                         // Building Base Grid

  75.                         for (var x=boundingRect["leftBorderX"]+32; x <= boundingRect["rightBorderX"]-32; x+=64)
  76.                         {
  77.                                 for (var y=boundingRect["topBorderY"]-32; y >= boundingRect["bottomBorderY"]+32; y-=64)
  78.                                 {
  79.                                         var pos = [x,y,GamePos[2]]
  80.                                         if (part>size*size)
  81.                                                 return

  82.                                         var gridParticle = gridParticles[part]
  83.                                         Particles.SetParticleControl(gridParticle, 0, pos)
  84.                                         part++;

  85.                                         // Grid color turns red when over invalid positions
  86.                                         // Until we get a good way perform clientside FindUnitsInRadius & Gridnav Check, the prevention will stay serverside
  87.                                         color = [0,255,0]
  88.                                         for (var index = 0; index < blockers.length; index++) {
  89.                                                 if (IsPointInPolygon(pos, blockers[index]))
  90.                                                 {
  91.                                                         color = [255,0,0]
  92.                                                         invalid = true //Mark invalid for the ghost recolor
  93.                                                         break;
  94.                                                 }
  95.                                         }

  96.                                         Particles.SetParticleControl(gridParticle, 2, color)
  97.                                 }
  98.                         }

  99.                         // Overlay Grid, visible with Alt pressed
  100.                         // Keep in mind that a particle with 0 alpha does still eat frame rate.
  101.                         //overlay_alpha = GameUI.IsAltDown() ? 90 : 0;

  102.                         //color = [255,255,255]
  103.                         var part2 = 0
  104.                         var halfSide2 = (overlay_size/2)*64
  105.                         var boundingRect2 = {}
  106.                         boundingRect2["leftBorderX"] = GamePos[0]-halfSide2
  107.                         boundingRect2["rightBorderX"] = GamePos[0]+halfSide2
  108.                         boundingRect2["topBorderY"] = GamePos[1]+halfSide2
  109.                         boundingRect2["bottomBorderY"] = GamePos[1]-halfSide2

  110.                         for (var x2=boundingRect2["leftBorderX"]+32; x2 <= boundingRect2["rightBorderX"]-32; x2+=64)
  111.                         {
  112.                                 for (var y2=boundingRect2["topBorderY"]-32; y2 >= boundingRect2["bottomBorderY"]+32; y2-=64)
  113.                                 {
  114.                                         var pos2 = [x2,y2,GamePos[2]]
  115.                                         if (part2>=overlay_size*overlay_size)
  116.                                                 return

  117.                                         var overlayParticle = overlayParticles[part2]
  118.                                         Particles.SetParticleControl(overlayParticle, 0, pos2)
  119.                                         part2++;

  120.                                         // Grid color turns red when over invalid positions
  121.                                         // Until we get a good way perform clientside FindUnitsInRadius & Gridnav Check, the prevention will stay serverside
  122.                                         color = [255,255,255]
  123.                                         for (var index = 0; index < blockers.length; index++) {
  124.                                                 if (IsPointInPolygon(pos2, blockers[index]))
  125.                                                 {
  126.                                                         color = [255,0,0]
  127.                                                         break;
  128.                                                 }
  129.                                         }
  130.                                         Particles.SetParticleControl(overlayParticle, 2, color)
  131.                                         Particles.SetParticleControl(overlayParticle, 3, [overlay_alpha,0,0])
  132.                                 }
  133.                         }

  134.                         // Update the range particle
  135.                         Particles.SetParticleControl(rangeParticle, 0, GamePos)

  136.                         // Update the model particle
  137.                         Particles.SetParticleControl(modelParticle, 0, GamePos)

  138.                         // Turn the model red if we can't build there
  139.                         if (recolor_ghost){
  140.                                 if (invalid)
  141.                                         Particles.SetParticleControl(modelParticle, 2, [255,0,0])
  142.                                 else
  143.                                         Particles.SetParticleControl(modelParticle, 2, [255,255,255])
  144.                         }
  145.                 }
  146.         }
  147. }
复制代码



  1. #LoadingTitle
  2. {
  3.         vertical-align: center;
  4.         horizontal-align: center;
  5.         /* margin-left: -50px; */
  6.         margin-top: -190px;
  7.         width: 780px;
  8.         height: 584.85px;
  9.         background-image: url("file://{images}/custom_game/loading/title_2.png");
  10.         background-size: 100%;
  11.         background-position: 50%;
  12.         background-repeat: no-repeat;
  13. }
复制代码


欢迎大家 加入研究~
回复

使用道具 举报

0

主题

11

帖子

835

积分

Lv:4 虚灵先知

UID
12961
金币
259
精华
0
节操
0
发表于 2019-10-13 00:56:37 | 显示全部楼层
首页下面的友链被篡改了,全是黄连
回复 支持 反对

使用道具 举报

0

主题

5

帖子

284

积分

Lv:2 长袍法师

UID
15173
金币
203
精华
0
节操
0
发表于 2020-4-29 18:44:10 | 显示全部楼层
最近广告有点多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|Archiver|手机版|小黑屋|AMHC!dota2rpg~ ( 闽ICP备14009209 )

GMT+8, 2020-7-5 22:33 , Processed in 0.061852 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Theme.Yeei

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