It's been a while since I've done anything related to programming, but shouldn't you add this in your method?
Code:if(BarrageTimer > 0) {
|
|

Process Timer:
Code:if(BarrageTimer > 0) { BarrageTimer -= 1; }
Barrage Method:
Code:public void attackPlayersBarrage(int maxDamage, int range, int dx, int dy) { // for (Player p : server.playerHandler.players) { // Linux (java 1.4.2-compatible) change - Devolution for (Player p : server.playerHandler.players) { if (p != null) { client person = (client) p; if (person.playerName != null) { if ((person.distanceToPoint(dx, dy) <= range) && (person.playerId != playerId)) { int damage = misc.random(maxDamage); if(!person.uber) { if(person.multitime) { if(person.pvpmode) { if (person.playerLevel[3] - damage < 0) { damage = person.playerLevel[3]; } if(dontatk != person.playerId) { if(BarrageTimer >= 60) { sM("You must wait 30 seconds inbetween casts for the freezing effect to work!"); } if(person.lastEntangle > person.entangleDelay && BarrageTimer <= 0) { person.lateSpells(369, 2, false); person.lastEntangle = System.currentTimeMillis(); person.entangleDelay = 8999; if(playerEquipment[playerWeapon] != 4068) { BarrageTimer += 60; } person.hitDiff = damage; person.offTimer = System.currentTimeMillis(); person.hitID = playerId; //person.startAnimation(anim); dontatk = -1; person.updateRequired = true; person.hitUpdateRequired = true; person.currentHealth -= damage; } else { dontatk = -1; } } } } } } } } } }
My barrage is working fine, except the timer isn't, Can someone please help?

It's been a while since I've done anything related to programming, but shouldn't you add this in your method?
Code:if(BarrageTimer > 0) {
Im sorry but you gotta admit, that is slightly funny![]()





The Reason For 42 Instead Of 60 Is Because Ice Barrage Is 20 Seconds.
The Extra "2" Is So The Player Will Have At Least 1 Second Before Being Refrozen.
You'll Need To Change "isInMult()" And "isInWild()" To Your Methods.
Code:iceBarrage(castOnPlayer.absX,castOnPlayer.absY,castOnPlayer)in Process or eventCode:public void iceBarrage(int X, int Y, client p){ for (Player P : server.playerHandler.players) { client person = (client) P; if(!person.playerName.equals(p.playerName) && !person.playerId == playerId && (person.distanceToPoint(X, Y) < 2) && person.isInMulti() && person.isInWild()){ if(person.barrageTimer < 3){ person.sM("you have been frozened."); person.toX = absX; person.toY = absY; person.barrageTimer = 42; } int DMG = misc.random(30); person.hitDiff = DMG > person.currentHealth ? person.currentHealth : DMG; person.dealDamage = DMG > person.currentHealth ? person.currentHealth : DMG; person.hitUpdateRequired = true; person.updateRequired = true; person.lowGFX(369,0); } } }
In Walking PacketCode:if(BarrageTimer > 0) BarrageTimer--;
Code:if(BarrageTimer > 2){ sM("a magical force prevents your movement"); break; }

Freezing is a completely seperate thing from making your barrage method, maybe thats why?
You gotta make the effect only happen if BarrageTimer > 0.
No need to be rude tbh, your the one asking for help.
| « PAYING 10$ Dollar's!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | I need help with New Era V2 Client » |
| Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |