|
You last visited: Today at 00:57
Advertisement
RadiantPalm Bug
Discussion on RadiantPalm Bug within the CO2 Private Server forum part of the Conquer Online 2 category.
02/17/2013, 16:39
|
#1
|
elite*gold: 0
Join Date: Oct 2008
Posts: 708
Received Thanks: 46
|
RadiantPalm Bug
I Have Shit Bug At This SKill I try Alot to fix it but i fail
and this Skill Code
Code:
//Radiant Palm
case 10381:
// case 10315:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
Game.Attacking.InLineAlgorithm ila = new Conquer_Online_Server.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = SpellID;
suse.SpellLevel = attacker.Owner.Spells[SpellID].Level;
suse.X = X;
suse.Y = Y;
for (int c = 0; c < attacker.Owner.Screen.Objects.Length; c++)
{
//For a multi threaded application, while we go through the collection
//the collection might change. We will make sure that we wont go off
//the limits with a check.
if (c >= attacker.Owner.Screen.Objects.Length)
break;
Interfaces.IMapObject _obj = attacker.Owner.Screen.Objects[c];
if (_obj == null)
continue;
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (ila.InLine(attacked.X, attacked.Y))
{
if (!CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell);
attack.Damage = damage;
// damage = ReceiveAttack(suse, attacker, attacked, attack, damage, spell);
ReceiveAttack( attacker, attacked, attack, damage, spell);
suse.Targets.Add(attacked.UID, damage);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (ila.InLine(attackedsob.X, attackedsob.Y))
{
if (!CanAttack(attacker, attackedsob, spell))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob);
damage = (uint)(damage * spell.PowerPercent);
attack.Damage = damage;
ReceiveAttack( attacker, attackedsob, attack, damage, spell);
suse.Targets.Add(attackedsob.UID, damage);
}
}
}
attacker.Owner.SendScreen(suse, true);
}
attacker.AttackPacket = null;
break;
}
the Bug sometimes the skill out other way i turn (sory for bad english)
|
|
|
02/17/2013, 16:47
|
#2
|
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 950
|
At least tell us your "bug", so we know what to look for.
|
|
|
02/17/2013, 17:09
|
#3
|
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 329
|
that's not even RadiantPalm
that's the DragonWhirl
Quote:
Thunder 1000
Fire 1001
Cure 1005
Lightning 1010
Accuracy 1015
Shield 1020
Superman 1025
Tornado 1002
Roar 1040
FastBlade 1045
ScentSword 1046
Volcano 1125
Revive 1050
Dash 1051
HealingRain 1055
Invisibility 1075
StarofAccuracy 1085
MagicShield 1090
Stigma 1095
Pray 1100
Restore 1105
Cyclone 1110
Hercules 1115
FireCircle 1120
FireRing 1150
FireBall 1150
Bomb 1160
FireofHell 1165
Nectar 1170
AdvancedCure 1175
FireMeteor 1180
SpiritHealing 1190
Meditation 1195
WideStrike 1250
SpeedGun 1260
Golem 1270
WaterElf 1280
Penetration 1290
Halt 1300
FlyingMoon 1320
DivineHare 1350
NightDevil 1360
Dance2 1380
Dance3 1385
Dance4 1390
Dance5 1395
Dance6 1400
Dance7 1405
Dance8 1410
BattleDance 1415
Triumph 1416
StepStomp 1417
Phoenix 1420
Melody 1421
Dodge 3080
Pervade 3090
Pervade21 3091
Piglet 3321
SummonGuard 4000
SummonBat 4010
SummonBatBoss 4020
BloodyBat 4050
PoisonousArrows 5002
Snow 5010
StrandedMonster 5020
Boom 5040
Boreas 5050
IronShirt 5100
TwofoldBlades 6000
ToxicFog 6001
ShurikenVortex 6010
FatalStrike 6011
Counter-Kill 6003
PoisonStar 6002
ArcherBane 6004
Seizer 7000
Earthquake 7010
Rage 7020
Celestial 7030
Roamer 7040
Seizer0 7100
Seizer1 7101
Seizer2 7102
Seizer3 7103
Seizer4 7104
Seizer5 7105
Seizer6 7106
Seizer7 7107
Seizer8 7108
Seizer9 7109
Poison10 7130
Poison11 7131
Poison12 7132
Poison13 7133
Poison14 7134
Poison15 7135
Poison16 7136
Poison17 7137
Poison18 7138
Poison19 7139
RapidFire 8000
ScatterFire 8001
Fly 8002
ArrowRain 8030
Scatter2 8031
Scatter3 8032
Scatter4 8033
Scatter5 8034
Scatter6 8035
Guard`sSpell 8036
Turkey 8040
StoneMonster 8041
FireSnake 8042
RoaringApe 8043
SandMonster 8044
Temptress 8046
Siren 8047
EasterRooster 8056
RatKing 8060
FireRat 8061
ToxicRat 8062
FishLady 8068
Eidolon 8080
UltimatePluto 8082
FireRatA 8086
Cateran 8088
FurySkeleton 8090
ElfKing1 8096
BloodyBat1 8097
HillMonsterKin 8098
BirdKing1 8099
WingedSnakeKin 8100
BlueCooer 8101
BlueCock 8112
MagentaCock 8113
FishA 8114
BrownCock 8115
PurpleRooster 8117
Snakeman 8124
BullDevil 8125
FishB 8126
KungFuBunny 8129
Pheasant 8130
TurtleDove 8131
Robin 8132
Apparition 8133
WingedSnake 8134
Bandit 8135
Ratling 8136
PinkPiglet 8204
yishe 8212
Transform8 8213
ChristmasElf 8214
Pig 8215
Bat 8218
Mink 8219
GrumPig 8225
LavaRat 8226
BanditsL95 8257
WeirdPumpkin 8258
EvilSnakeMsgr 8260
ScriptElf 8261
Turtledove 8271
Babirusa 8279
Rabbit 8280
BigWhirl 8282
LittleWhirl 8283
BronzeHead 8284
IronHead 8285
BigLark 8286
LittleLark 8287
BlueDragon 8288
RedDragon 8289
Happy 8290
VeryHappy 8291
Loud 8292
VeryLoud 8293
BigJay 8294
LittleJay 8295
BrightWing 8296
DarkWing 8297
GoodLuck 8298
BetterLuck 8299
GoodFly 8300
BetterFly 8301
YellowOx 8302
HeavenOx 8303
GoldenOx 8304
SilverOx 8305
RedFox1 8307
BlueFox1 8308
RedFox2 8309
BlueFox2 8310
Guard 8311
Transform1 8318
Transform2 8319
Transform3 8320
Transform4 8321
Transform5 8322
Transform6 8323
Transform7 8324
Minotaur 8325
MaleGhost1 8326
FemaleGhost1 8317
Piggy 8329
Bandit1 8330
Bandit2 8332
OccultBeast2 8333
WaterElf2 8334
OccultBeast1 8335
WaterElf1 8336
Pumpkin1 8337
Pumpkin2 8338
Pumpkin3 8339
HeavenTiger 8350
GoldenTiger 8351
SilverTiger 8352
TigerRoarer 8353
Intensify 9000
TailSweep 7011
Destroy 7012
FlameShower 7013
DragonBreath 7014
FearRoar 7015
BloodRestore 7016
MistyFlame 7017
MistyQuake 9965
RoarBlade 9966
Scorch 9967
ArchChop 9968
AsuraChop 9969
DespotKill 9970
SandyShatter 9971
DestinyFire 9972
NineFlames 9973
DestinyThunder 9974
HeavenShatter 9975
DeathChop 9976
InfernoSting 9977
RedLocust 9978
BlueLocust 9979
WhiteLocust 9980
ScarletFog 9981
WhiteShuttle 9982
FireShower 9983
FeralAttack 9984
BlueShadow 9985
PurpleShadow 9986
FanaticBite 9987
IcyCurse 9989
WhirlCurse 9990
SandBite 9991
FlyingFlame 9992
FireImplosion 9993
DireScorch 9994
FirePenetration 9995
SwiftBlaze 9996
DarkShadow 9997
PoisonousAwn 9998
FeralBoil 9999
Blade 10000
Smash 10001
Sweep 10003
UnholyImplosion 10004
AcidicBreath 10005
Poison0 10010
Poison1 10011
Poison2 10012
Poison3 10013
IcyArrow0 10015
IcyArrow1 10016
IcyArrow2 10017
Bolt0 10020
Bolt1 10021
Bolt2 10022
Bolt3 10023
Bolt10 10030
Bolt11 10031
Bolt12 10032
Bolt13 10033
Bolt20 10040
Bolt21 10041
Bolt22 10042
Bolt23 10043
ArrowStorm0 10050
ArrowStorm1 10051
ArrowStorm2 10052
ArrowStorm3 10053
ArrowStorm10 10060
ArrowStorm11 10061
ArrowStorm12 10062
ArrowStorm13 10063
ArrowStorm20 10070
ArrowStorm21 10071
ArrowStorm22 10072
ArrowStorm23 10073
ArrowStorm30 10080
ArrowStorm31 10081
ArrowStorm32 10082
ArrowStorm33 10083
Rocket0 10100
Rocket1 10101
Rocket2 10102
Rocket3 10103
Rocket10 10110
Rocket11 10111
Rocket12 10112
Rocket13 10113
Rocket20 10120
Rocket21 10121
Rocket22 10122
Rocket23 10123
Rocket30 10130
Rocket31 10131
Rocket32 10132
Rocket33 10133
Rocket40 10140
Rocket41 10141
Rocket42 10142
Rocket43 10143
Rocket50 10150
Rocket51 10151
Rocket52 10152
Rocket53 10153
Rocket60 10160
Rocket61 10161
Rocket62 10162
Rocket63 10163
Rocket70 10170
Rocket71 10171
Rocket72 10172
Rocket73 10173
Rocket80 10180
Rocket81 10181
Rocket82 10182
Rocket83 10183
Poisoning 10200
Bless 9876
Riding 7001
Spook 7002
WarCry 7003
SoulEnticer 10304
AtrociousSeal 10305
AppalingWind 10306
IcySting 10307
Thwart 10308
ChainBolt 10309
HeavenBlade 10310
Perseverance 10311
AzureShield 30000
StarArrow 10313
DragonWhirl 10315
Immolation 10500
RevengePunch 10505
BladeStorm 10502
BladeVortex 10506
SwordBeam 10504
ArrowHail 30013
Avalanche 30012
IceShock 30011
IceBolt 30010
SurgingShake 10360
BloodyBattle 10361
SoaringLeap 10362
LightningCrash 10363
PiercingStrike 10364
FrostClaw 30014
Slash 10369
Recovery 10370
Metaplasia 10372
IceBurst 10373
Heal 10374
RadiantPalm 10381
Oblivion 10390
TyrantAura 10395
Serenity 10400
SoulShackle 10405
FendAura 10410
WhirlwindKick 10415
Tranquility 10425
Compassion 10430
ElementalAuraMetal 10420
ElementalAuraWood 10421
ElementalAuraWater 10422
ElementalAuraFire 10423
ElementalAuraEarth 10424
ShieldBlock 10470
DeathBlow 10484
HeresySnakeman 10486
Macaque 10487
TripleAttack 10490
BladeGhostMessenger 10501
FatalCrash 10508
IcyTouch 10509
Fumigate 10510
RosySpell 10511
RomanticStrike 10512
LoverHug 10513
GoldenHare 10523
SilverHare 10524
HareGuard 10525
GoldRabbit 10526
SilverRabbit 10527
Freeze 10529
Frenzy 10530
Stunt 10531
DragonTail 11000
ViperFang 11005
WingedSnake1 11010
Ratling1 11012
Macaque1 11013
GiantApe1 11014
Snakeman1 11015
SandMonster1 11016
Rockmonster1 11017
BladeGhost1 11018
PumpkinSpell 11020
PirateOctopus 11021
DoomSlash 11022
HeavenSlash 11024
EarthSlash 11025
FrostBurst 11026
BreathRecovery 11027
MagicStones 11028
EagleEye 11030
ScurvyBomb 11040
CannonBarrage 11050
Blackbeard`sRage 11060
GaleBomb 11070
Soul-IceSpell 11083
Soul-IcyClaw 11084
Soul-IcyStun 11085
Soul-IcyPunch 11086
Soul-IcyArrow 30015
Soul-Transform 11088
Soul-FreezingCall 11089
Kraken`sRevenge 11100
BladeTempest 11110
BlackSpot 11120
AdrenalineRush 11130
Windstorm 11140
Deer 11154
UndeadSoldier 11155
Phantom 11156
Revenant 11157
DefensiveStance 11160
BloodyScythe 11170
MortalDrag 11180
ChargingVortex 11190
MagicDefender 11200
GapingWounds 11230
FruitMonster 11324
|
and it sounds to me that you are casting the spell in a wrong line , check that algorithm parameters but not in that code because that's the dragonwhirl skill
|
|
|
02/17/2013, 17:18
|
#4
|
elite*gold: 0
Join Date: Oct 2008
Posts: 708
Received Thanks: 46
|
  
Code:
public enum SkillIDs : ushort
{
Accuracy = 0x3f7,
AdrenalineRush = 0x2b7a,
AdvancedCure = 0x497,
AdvancedFly = 0x1f43,
ArcherBane = 0x1774,
ArrowRain = 0x1f5e,
AuraEarth = 0x28b8,
AuraFire = 0x28b7,
AuraMetal = 0x28b4,
AuraWater = 0x28b6,
AuraWood = 0x28b5,
AzureShield = 0x7530,
BlackbeardRage = 0x2b34,
BlackSpot = 0x2b70,
BladeTempest = 0x2b66,
Windstorm = 0x2b84,
Bless = 0x2694,
BloodyBat = 0xfd2,
Bomb = 0x488,
Boom = 0x13b0,
Boreas = 0x13ba,
CannonBarrage = 0x2b2a,
Celestial = 0x1b76,
Compassion = 0x28be,
CounterKill = 0x1773,
CruelShade = 0xbea,
Cure = 0x3ed,
Cyclone = 0x456,
Dance2 = 0x564,
Dance3 = 0x569,
Dance4 = 0x56e,
Dance5 = 0x573,
Dance6 = 0x578,
Dance7 = 0x57d,
Dance8 = 0x582,
Dash = 0x41b,
DeathBlow = 0x28f4,
DeflectionAura = 0x28aa,
DivineHare = 0x546,
Dodge = 0xc08,
DragonBreath = 0x1b66,
DragonBreath2 = 0x1b69,
DragonBreath3 = 0x1b67,
DragonBreath4 = 0x1b63,
DragonBreath5 = 0x1b64,
DragonTail = 0x2af8,
DragonWhirl = 0x284b,
EarthQuake = 0x1b62,
FastBlade = 0x415,
FatalStrike = 0x177b,
Fire = 0x3e9,
FireCircle = 0x460,
FireEvil = 0xfdc,
FireMeteor = 0x49c,
FireOfHell = 0x48d,
FireRing = 0x47e,
FlashStep = 0x11c6,
FlyingMoon = 0x528,
GaleBomb = 0x2b3e,
gm = 0xcf9,
Halt = 0x514,
HealingRain = 0x41f,
HeavenBlade = 0x2846,
Hercules = 0x45b,
Intensify = 0x2328,
Invisibility = 0x433,
IronShirt = 0x13ec,
KrakensRevenge = 0x2b5c,
Lightning = 0x3f2,
MagicShield = 0x442,
Meditation = 0x4ab,
Nectar = 0x492,
NightDevil = 0x550,
Oblivion = 0x2896,
Penetration = 0x50a,
Perseverance = 0x2847,
Pervade = 0xc12,
Phoenix = 0x13a6,
PiEagleEye = 0x2b16,
PoisonStar = 0x1772,
Pray = 0x44c,
RadiantPalm = 0x288d,
Rage = 0x1b6c,
RapidFire = 0x1f40,
Reflect = 0xbf4,
Restore = 0x451,
Riding = 0x1b59,
Roamer = 0x1b80,
Roar = 0x410,
Robot = 0x4f6,
Scatter = 0x1f41,
ScentSword = 0x416,
ScurvyBomb = 0x2b20,
Seizer = 0x1b58,
Serenity = 0x28a0,
Shield = 0x3fc,
ShurikenVortex = 0x177a,
Skeleton = 0xfe6,
Snow = 0x1392,
SoulShackle = 0x28a5,
SpeedGun = 0x4ec,
SpeedLightning = 0x1389,
SpiritHealing = 0x4a6,
Spook = 0x1b5a,
StarArrow = 0x2849,
StarOfAccuracy = 0x43d,
Stigma = 0x447,
StrandedMonster = 0x139c,
SummonBat = 0xfaa,
SummonBatBoss = 0xfb4,
SummonGuard = 0xfa0,
SuperMan = 0x401,
Thunder = 0x3e8,
Tornado = 0x3ea,
ToxicFog = 0x1771,
Tranquility = 0x28b9,
TripleAttack = 0x28fa,
TwofoldBlades = 0x1770,
TyrantAura = 0x289b,
ViperFang = 0x2afd,
Volcano = 0x465,
WarCry = 0x1b5b,
WaterElf = 0x500,
WhirlWindKick = 0x28af,
WideStrike = 0x4e2,
XPFly = 0x1f42,
XPRevive = 0x41a
}
Anyway i mean this skill i use at the Pic where i can Search to fix it please go to for
|
|
|
02/17/2013, 18:13
|
#5
|
elite*gold: 0
Join Date: May 2011
Posts: 19
Received Thanks: 4
|
no, it's 'RadiantPalm'.
test a breakpoint @ this line "suse.Targets.Add(attacked.UID, damage);"
|
|
|
02/17/2013, 18:16
|
#6
|
elite*gold: 0
Join Date: Jun 2009
Posts: 611
Received Thanks: 195
|
Quote:
Originally Posted by go for it
that's not even RadiantPalm
that's the DragonWhirl
and it sounds to me that you are casting the spell in a wrong line , check that algorithm parameters but not in that code because that's the dragonwhirl skill
|
The dragonwhirl id is commented out.
|
|
|
02/17/2013, 18:28
|
#7
|
elite*gold: 0
Join Date: Oct 2008
Posts: 708
Received Thanks: 46
|
Quote:
Originally Posted by M.Dego
no, it's 'RadiantPalm'.
test a breakpoint @ this line "suse.Targets.Add(attacked.UID, damage);"
|
where search about that i have alot of this line
|
|
|
02/18/2013, 06:19
|
#8
|
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 329
|
Quote:
no it's not !
00x284B is DragonWhirl which is 10315 in dec
anyway , you are using trinity edited base
go to the handle class
break point on the switch of skills
it should go to the right skill (trace it step by step or hover over the parameter of switch) aka hove over
\Game\Attacking\Handle.cs
line 1607
hover with pointer over key and you should figure out what is the spell id , then keep on stepping over throw the whole case while looking at the client coords of player and monster to figure out what's wrong
|
|
|
02/18/2013, 10:36
|
#9
|
elite*gold: 0
Join Date: May 2011
Posts: 19
Received Thanks: 4
|
Quote:
Originally Posted by go for it
no it's not !
00x284B is DragonWhirl which is 10315 in dec
anyway , you are using trinity edited base
go to the handle class
break point on the switch of skills
it should go to the right skill (trace it step by step or hover over the parameter of switch) aka hove over
\Game\Attacking\Handle.cs
line 1607
hover with pointer over key and you should figure out what is the spell id , then keep on stepping over throw the whole case while looking at the client coords of player and monster to figure out what's wrong
|
oh, i mean the skill in pic.
Quote:
Originally Posted by magnon
where search about that i have alot of this line
|
search for "case 10381:", then check it
|
|
|
02/18/2013, 17:37
|
#10
|
elite*gold: 0
Join Date: Oct 2008
Posts: 708
Received Thanks: 46
|
Quote:
Originally Posted by M.Dego
oh, i mean the skill in pic.
search for "case 10381:", then check it
|
Dego If i can check it why i put at this Forum i try and fail if u you have any idea please help
|
|
|
02/18/2013, 19:16
|
#11
|
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 329
|
Quote:
Originally Posted by magnon
Dego If i can check it why i put at this Forum i try and fail if u you have any idea please help 
|
and do you expect that someone will be able to do it for you ?
there is no syntax errors and i duno what this methods contains to tell you what's wrong with them until i trace them
that's from trinity edited base (duno who's that stupid mf who coded it this way but anyway it's working pretty fine)
just pray it fit in your source
but to be honest , you need to learn programming which is way better than begging every once in a while for someone to code something for you or fix something for you , you want to play stupid ? be stupid stay stupid stay broke , sorry mate but this is the truth
Code:
case 0x288d:
{
if (CanUseSpell(spell, this.attacker.Owner))
{
ushort num29;
ushort num30;
if (attacker != null)
{
num29 = attacker.X;
num30 = attacker.Y;
}
else
{
num29 = sob.X;
num30 = sob.Y;
}
if (Kernel.GetDistance(this.attacker.X, this.attacker.Y, num29, num30) <= spell.Range)
{
if (((sob == null) && attacker.ContainsFlag(0x8000000L)) || this.attacker.ContainsFlag(0x8000000L))
{
return;
}
PrepareSpell(spell, this.attacker.Owner);
use = new SpellUse(true) {
Attacker = this.attacker.UID,
SpellID = spell.ID,
SpellLevel = spell.Level,
X = x,
Y = y
};
bool flag8 = false;
if (sob == null)
{
if (CanAttack(this.attacker, attacker, spell, this.attack.AttackType == 2))
{
this.attack.Effect1 = Attack.AttackEffects1.None;
power = Calculate.Melee(this.attacker, attacker, spell, ref this.attack);
use.Effect1 = this.attack.Effect1;
ReceiveAttack(this.attacker, attacker, this.attack, power, spell);
use.Targets.Add(attacker.UID, power);
flag8 = true;
}
}
else if (CanAttack(this.attacker, sob, spell))
{
this.attack.Effect1 = Attack.AttackEffects1.None;
power = (uint) (Calculate.Melee(this.attacker, sob, ref this.attack) * spell.PowerPercent);
ReceiveAttack(this.attacker, sob, this.attack, power, spell);
use.Effect1 = this.attack.Effect1;
use.Targets.Add(sob.UID, power);
flag8 = true;
}
if (flag8)
{
this.attacker.Owner.SendScreen(use, true);
}
}
else
{
this.attacker.AttackPacket = null;
}
}
this.attacker.Owner.IncreaseSpellExperience(experience, key);
if (this.attacker.MapID == 0x40f)
{
if ((spell.ID == 0x1b59) || (spell.ID == 0x2694))
{
this.attacker.AttackPacket = null;
}
else if (this.attacker.AttackPacket != null)
{
this.attack.Damage = spell.ID;
this.attacker.AttackPacket = this.attack;
if (SpellTable.WeaponSpells.ContainsValue(spell.ID))
{
if (this.attacker.AttackPacket == null)
{
this.attack.AttackType = 2;
this.attacker.AttackPacket = this.attack;
}
else
{
this.attacker.AttackPacket.AttackType = 2;
}
}
}
}
else if (spell.NextSpellID != 0)
{
if (((spell.NextSpellID >= 0x3e8) && (spell.NextSpellID <= 0x3ea)) && (uid >= 0xf4240))
{
this.attacker.AttackPacket = null;
}
else
{
this.attack.Damage = spell.NextSpellID;
this.attacker.AttackPacket = this.attack;
}
}
else if (!(SpellTable.WeaponSpells.ContainsValue(spell.ID) && (spell.ID != 0x2694)))
{
this.attacker.AttackPacket = null;
}
else if (this.attacker.AttackPacket == null)
{
this.attack.AttackType = 2;
this.attacker.AttackPacket = this.attack;
}
else
{
this.attacker.AttackPacket.AttackType = 2;
}
}
|
|
|
02/19/2013, 00:18
|
#12
|
elite*gold: 0
Join Date: Feb 2013
Posts: 94
Received Thanks: 13
|
Quote:
Originally Posted by go for it
(duno who's that stupid mf who coded it this way but anyway it's working pretty fine)
|
this what happen if code is reflected..
|
|
|
02/19/2013, 00:58
|
#13
|
elite*gold: 50232
Join Date: Sep 2006
Posts: 1,089
Received Thanks: 2,608
|
this is trinity files edited by kimo reflected by magnon and with some other ppls so he can update it him self , this is the reflector **** ^^
|
|
|
02/19/2013, 06:50
|
#14
|
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 329
|
Quote:
|
this what happen if code is reflected..
|
Quote:
|
this is trinity files edited by kimo reflected by magnon and with some other ppls so he can update it him self , this is the reflector **** ^^
|
explains why it's so ****** up , was kinda impressed by that source once i got it, but right now i curse myself for using it and not using a native trinity base and update it on my own was way better than editing this one
the more i learn programming the more i figure out how dumb who edit this was
but to be honest i used so many stuff he edited , so i guess we are even o-0
|
|
|
02/19/2013, 07:30
|
#15
|
elite*gold: 0
Join Date: Oct 2008
Posts: 708
Received Thanks: 46
|
i'm not use Reflector Source i'm use other source and this i use at my source
Code:
case 10381:
// case 10315:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
Game.Attacking.InLineAlgorithm ila = new Conquer_Online_Server.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = SpellID;
suse.SpellLevel = attacker.Owner.Spells[SpellID].Level;
suse.X = X;
suse.Y = Y;
for (int c = 0; c < attacker.Owner.Screen.Objects.Length; c++)
{
//For a multi threaded application, while we go through the collection
//the collection might change. We will make sure that we wont go off
//the limits with a check.
if (c >= attacker.Owner.Screen.Objects.Length)
break;
Interfaces.IMapObject _obj = attacker.Owner.Screen.Objects[c];
if (_obj == null)
continue;
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (ila.InLine(attacked.X, attacked.Y))
{
if (!CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell);
attack.Damage = damage;
// damage = ReceiveAttack(suse, attacker, attacked, attack, damage, spell);
ReceiveAttack( attacker, attacked, attack, damage, spell);
suse.Targets.Add(attacked.UID, damage);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (ila.InLine(attackedsob.X, attackedsob.Y))
{
if (!CanAttack(attacker, attackedsob, spell))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob);
damage = (uint)(damage * spell.PowerPercent);
attack.Damage = damage;
ReceiveAttack( attacker, attackedsob, attack, damage, spell);
suse.Targets.Add(attackedsob.UID, damage);
}
}
}
attacker.Owner.SendScreen(suse, true);
}
attacker.AttackPacket = null;
break;
}
Quote:
Originally Posted by go for it
and do you expect that someone will be able to do it for you ?
there is no syntax errors and i duno what this methods contains to tell you what's wrong with them until i trace them
that's from trinity edited base (duno who's that stupid mf who coded it this way but anyway it's working pretty fine)
just pray it fit in your source
but to be honest , you need to learn programming which is way better than begging every once in a while for someone to code something for you or fix something for you , you want to play stupid ? be stupid stay stupid stay broke , sorry mate but this is the truth
Code:
case 0x288d:
{
if (CanUseSpell(spell, this.attacker.Owner))
{
ushort num29;
ushort num30;
if (attacker != null)
{
num29 = attacker.X;
num30 = attacker.Y;
}
else
{
num29 = sob.X;
num30 = sob.Y;
}
if (Kernel.GetDistance(this.attacker.X, this.attacker.Y, num29, num30) <= spell.Range)
{
if (((sob == null) && attacker.ContainsFlag(0x8000000L)) || this.attacker.ContainsFlag(0x8000000L))
{
return;
}
PrepareSpell(spell, this.attacker.Owner);
use = new SpellUse(true) {
Attacker = this.attacker.UID,
SpellID = spell.ID,
SpellLevel = spell.Level,
X = x,
Y = y
};
bool flag8 = false;
if (sob == null)
{
if (CanAttack(this.attacker, attacker, spell, this.attack.AttackType == 2))
{
this.attack.Effect1 = Attack.AttackEffects1.None;
power = Calculate.Melee(this.attacker, attacker, spell, ref this.attack);
use.Effect1 = this.attack.Effect1;
ReceiveAttack(this.attacker, attacker, this.attack, power, spell);
use.Targets.Add(attacker.UID, power);
flag8 = true;
}
}
else if (CanAttack(this.attacker, sob, spell))
{
this.attack.Effect1 = Attack.AttackEffects1.None;
power = (uint) (Calculate.Melee(this.attacker, sob, ref this.attack) * spell.PowerPercent);
ReceiveAttack(this.attacker, sob, this.attack, power, spell);
use.Effect1 = this.attack.Effect1;
use.Targets.Add(sob.UID, power);
flag8 = true;
}
if (flag8)
{
this.attacker.Owner.SendScreen(use, true);
}
}
else
{
this.attacker.AttackPacket = null;
}
}
this.attacker.Owner.IncreaseSpellExperience(experience, key);
if (this.attacker.MapID == 0x40f)
{
if ((spell.ID == 0x1b59) || (spell.ID == 0x2694))
{
this.attacker.AttackPacket = null;
}
else if (this.attacker.AttackPacket != null)
{
this.attack.Damage = spell.ID;
this.attacker.AttackPacket = this.attack;
if (SpellTable.WeaponSpells.ContainsValue(spell.ID))
{
if (this.attacker.AttackPacket == null)
{
this.attack.AttackType = 2;
this.attacker.AttackPacket = this.attack;
}
else
{
this.attacker.AttackPacket.AttackType = 2;
}
}
}
}
else if (spell.NextSpellID != 0)
{
if (((spell.NextSpellID >= 0x3e8) && (spell.NextSpellID <= 0x3ea)) && (uid >= 0xf4240))
{
this.attacker.AttackPacket = null;
}
else
{
this.attack.Damage = spell.NextSpellID;
this.attacker.AttackPacket = this.attack;
}
}
else if (!(SpellTable.WeaponSpells.ContainsValue(spell.ID) && (spell.ID != 0x2694)))
{
this.attacker.AttackPacket = null;
}
else if (this.attacker.AttackPacket == null)
{
this.attack.AttackType = 2;
this.attacker.AttackPacket = this.attack;
}
else
{
this.attacker.AttackPacket.AttackType = 2;
}
}
|
go to for i know you good helper i know this work fine but i'm talk about my skill
i want fix it please i try alot but fail and i'm noob at C#
Code:
//Radiant Palm
case 10381:
// case 10315:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
Game.Attacking.InLineAlgorithm ila = new Conquer_Online_Server.Game.Attacking.InLineAlgorithm(attacker.X,
X, attacker.Y, Y, (byte)spell.Range, InLineAlgorithm.Algorithm.DDA);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = SpellID;
suse.SpellLevel = attacker.Owner.Spells[SpellID].Level;
suse.X = X;
suse.Y = Y;
for (int c = 0; c < attacker.Owner.Screen.Objects.Length; c++)
{
//For a multi threaded application, while we go through the collection
//the collection might change. We will make sure that we wont go off
//the limits with a check.
if (c >= attacker.Owner.Screen.Objects.Length)
break;
Interfaces.IMapObject _obj = attacker.Owner.Screen.Objects[c];
if (_obj == null)
continue;
if (_obj.MapObjType == MapObjectType.Monster || _obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Entity;
if (ila.InLine(attacked.X, attacked.Y))
{
if (!CanAttack(attacker, attacked, spell, attack.AttackType == Attack.Melee))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, spell);
attack.Damage = damage;
// damage = ReceiveAttack(suse, attacker, attacked, attack, damage, spell);
ReceiveAttack( attacker, attacked, attack, damage, spell);
suse.Targets.Add(attacked.UID, damage);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as SobNpcSpawn;
if (ila.InLine(attackedsob.X, attackedsob.Y))
{
if (!CanAttack(attacker, attackedsob, spell))
continue;
uint damage = Game.Attacking.Calculate.Melee(attacker, attackedsob);
damage = (uint)(damage * spell.PowerPercent);
attack.Damage = damage;
ReceiveAttack( attacker, attackedsob, attack, damage, spell);
suse.Targets.Add(attackedsob.UID, damage);
}
}
}
attacker.Owner.SendScreen(suse, true);
}
attacker.AttackPacket = null;
break;
}
|
|
|
All times are GMT +1. The time now is 00:58.
|
|