Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: 1.04D IceStorm / SuddenIce FIX skill  (Visto 5360 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline smiley #20 Posteado: April 29, 2020, 03:05:01 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 23
  • Gracias recibida: 472
  • br
I use my own build of gameserver, but is based on emu too

Gracias:


Offline artem #21 Posteado: April 29, 2020, 03:14:35 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
I use my own build of gameserver, but is based on emu too
i think this bug was in muemu too, but maybe rarely
on 1.04D(zteam) allways, monsters can bug after IceStorm every few mins. Like in PvP :'(


Online kayito #22 Posteado: April 29, 2020, 04:33:23 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.037
  • Gracias recibida: 15352
  • ar
The "bug" is when you use teleport skill and during the animation, you can attack with other spells like Ice Storm.

i think this "bug" its not really a bug. You have to add a delay after using teleport skill that matches with the duration of the teleport effect and during that time, you can't use another skill.
You can add in lpobj a timer with tickcount and when you use teleport skill, set a tickcount to that timer. If you want to use another skill, check that the timer is correct (you're not using teleport skill) otherwise return. i think that's a possibility to fix it.


Offline artem #23 Posteado: April 29, 2020, 04:46:51 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
The "bug" is when you use teleport skill and during the animation, you can attack with other spells like Ice Storm.

i think this "bug" its not really a bug. You have to add a delay after using teleport skill that matches with the duration of the teleport effect and during that time, you can't use another skill.
You can add in lpobj a timer with tickcount and when you use teleport skill, set a tickcount to that timer. If you want to use another skill, check that the timer is correct (you're not using teleport skill) otherwise return. i think that's a possibility to fix it.
but watch all videos, last few videos i didn't use teleport. And have bug, after using only icestorm.


Offline Odisk #24 Posteado: April 29, 2020, 06:27:48 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 882
  • Gracias recibida: 12449
  • pr
this problem exists since 97d

one day

Offline smiley #25 Posteado: April 29, 2020, 08:00:17 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 23
  • Gracias recibida: 472
  • br
97 has ice storm?

is a viewport bug!


Offline artem #26 Posteado: April 30, 2020, 04:36:23 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
97 has ice storm?

is a viewport bug!
are you know how to fix this?


Offline c4nhsatcodong #27 Posteado: April 30, 2020, 05:52:26 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 360
  • Gracias recibida: 1878
  • vn
Monster Lag no se debe a mi habilidad. El 90% de otras versiones tienen un error 1.04D. No lo he probado en 104E. Creo que es lo mismo

Publicar un anuncio Mu Online gratis - Mu Online Community GRATIS.
Post free Mu Online ads - FREE Mu Online Community
https://www.facebook.com/groups/274190243227367/

Gracias:


Offline artem #28 Posteado: April 30, 2020, 06:15:56 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
Monster Lag no se debe a mi habilidad. El 90% de otras versiones tienen un error 1.04D. No lo he probado en 104E. Creo que es lo mismo
Monster lag have 1.04E
But what about pvp bug? its happend only after ice storm its 100%. Monsters didn't lag with another classes (skills), only Soul Master have this bug.


Offline artem #29 Posteado: April 30, 2020, 07:19:04 AM | Modificado: April 30, 2020, 07:21:53 AM by artem

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
so... i think this problem in viewports with PVP. Becouse i try to do it with Skill Decay, and the same problem with object Players after skills...
Someone can help with this fix? $_$


Offline artem #30 Posteado: April 30, 2020, 07:34:48 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
New video with another skill PVP Bug, Skill  DECAY. Its viewports bug? So how to fix it.


Offline artem #31 Posteado: April 30, 2020, 07:52:45 AM | Modificado: April 30, 2020, 08:15:26 AM by artem

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
But i tested it on another Classes BK/DL/ELF and no bug, maybe some with Magic skills or ...
its code Decay:
Code: [Select]
int CObjUseSkill::SkillDeathPoison(int aIndex, CMagicInf * lpMagic, BYTE x, BYTE y, BYTE dir, BYTE TargetPos, int aTargetIndex) //Identical gs-cs 56
{
LPOBJ lpObj = &gObj[aIndex];
int tObjNum;
int count = 0;
int FirstHit = 0;
int HitCount = 0;
int bAttack;
int DuelIndex = lpObj->m_iDuelUser;
int EnableAttack;
LPOBJ lpTargetObj = &gObj[aTargetIndex];


while ( true )
{
if(lpObj->VpPlayer2[count].state != 0)
{
tObjNum = lpObj->VpPlayer2[count].number;

if(tObjNum >= 0)
{
EnableAttack = 0;

if(lpObj->VpPlayer2[count].type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon < 0)
{
EnableAttack = 1;
}
else if(tObjNum == aTargetIndex || DuelIndex == tObjNum)
{
EnableAttack = 1;
}

else if(lpObj->VpPlayer2[count].type != OBJ_NPC && gObj[tObjNum].MapNumber == MAP_INDEX_CASTLESIEGE && g_CastleSiege.GetCastleState() == CASTLESIEGE_STATE_STARTSIEGE)
{
EnableAttack = 1;
}

else
{
int CallMonIndex = gObj[tObjNum].m_Index;

if(gObj[tObjNum].Type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon >= 0)
{
CallMonIndex = gObj[gObj[tObjNum].m_RecallMon].m_Index;
}

if(gObjTargetGuildWarCheck(lpObj,&gObj[CallMonIndex])==1)
{
EnableAttack = 1;
}
}

if(EnableAttack != 0)
{
//LogAddC(2, "%s %d", gObj[tObjNum].Name, this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y));
if(this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y) < 4)
{
bAttack = 0;

if(HitCount > 10)
{
bAttack = 0;
}

if(HitCount >= 5)
{
if(rand()%2)
{
bAttack = 1;
}
}
else
{
bAttack = 1;
}

if(bAttack != 0)
{
int delay = rand()%500;
gObjAddAttackProcMsgSendDelay(lpObj,50,tObjNum,delay,lpMagic->m_Skill,0);
}
}
}
}
}

count++;
if(count > MAX_VIEWPORT -1)
{
break;
}
}
return true;
}
its Code IceStorm ( SuddenIce):
Code: [Select]
int CObjUseSkill::SkillSuddenIce(int aIndex, CMagicInf * lpMagic, BYTE x, BYTE y, BYTE dir, BYTE TargetPos, int aTargetIndex) //
{
LPOBJ lpObj = &gObj[aIndex];
int tObjNum;
int count = 0;
int FirstHit = 0;
int HitCount = 0;
int bAttack;
LPOBJ lpTargetObj = &gObj[aTargetIndex];
int DuelIndex = lpObj->m_iDuelUser;
int EnableAttack;

while ( true )
{
if(lpObj->VpPlayer2[count].state != 0)
{
tObjNum = lpObj->VpPlayer2[count].number;

if(tObjNum >= 0)
{
EnableAttack = 0;

if(lpObj->VpPlayer2[count].type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon < 0)
{
EnableAttack = 1;
}
else if(tObjNum == aTargetIndex || DuelIndex == tObjNum)
{
EnableAttack = 1;
}

else if(lpObj->VpPlayer2[count].type != OBJ_NPC && gObj[tObjNum].MapNumber == MAP_INDEX_CASTLESIEGE && g_CastleSiege.GetCastleState() == CASTLESIEGE_STATE_STARTSIEGE)
{
EnableAttack = 1;
}

else
{
int CallMonIndex = gObj[tObjNum].m_Index;

if(gObj[tObjNum].Type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon >= 0)
{
CallMonIndex = gObj[gObj[tObjNum].m_RecallMon].m_Index;
}

if(gObjTargetGuildWarCheck(lpObj,&gObj[CallMonIndex])==1)
{
EnableAttack = 1;
}
}

if(EnableAttack != 0)
{
if(this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y) < 4)
{
bAttack = 0;

if(HitCount > 10)
{
bAttack = 0;
}

if(HitCount >= 5)
{
if(rand()%2)
{
bAttack = 1;
}
}
else
{
bAttack = 1;
}

if(bAttack != 0)
{
int delay = rand()%500;
gObjAttack(lpObj,&gObj[tObjNum],lpMagic,1,1,0,0,0,0);
}
}
}
}
}

count++;
if(count > MAX_VIEWPORT -1)
{
break;
}
}
return true;
}


Offline YolaxD #32 Posteado: April 30, 2020, 08:30:00 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 540
  • Gracias recibida: 8079
  • ar
But i tested it on another Classes BK/DL/ELF and no bug, maybe some with Magic skills or ...
its code Decay:
Code: [Select]
int CObjUseSkill::SkillDeathPoison(int aIndex, CMagicInf * lpMagic, BYTE x, BYTE y, BYTE dir, BYTE TargetPos, int aTargetIndex) //Identical gs-cs 56
{
LPOBJ lpObj = &gObj[aIndex];
int tObjNum;
int count = 0;
int FirstHit = 0;
int HitCount = 0;
int bAttack;
int DuelIndex = lpObj->m_iDuelUser;
int EnableAttack;
LPOBJ lpTargetObj = &gObj[aTargetIndex];


while ( true )
{
if(lpObj->VpPlayer2[count].state != 0)
{
tObjNum = lpObj->VpPlayer2[count].number;

if(tObjNum >= 0)
{
EnableAttack = 0;

if(lpObj->VpPlayer2[count].type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon < 0)
{
EnableAttack = 1;
}
else if(tObjNum == aTargetIndex || DuelIndex == tObjNum)
{
EnableAttack = 1;
}

else if(lpObj->VpPlayer2[count].type != OBJ_NPC && gObj[tObjNum].MapNumber == MAP_INDEX_CASTLESIEGE && g_CastleSiege.GetCastleState() == CASTLESIEGE_STATE_STARTSIEGE)
{
EnableAttack = 1;
}

else
{
int CallMonIndex = gObj[tObjNum].m_Index;

if(gObj[tObjNum].Type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon >= 0)
{
CallMonIndex = gObj[gObj[tObjNum].m_RecallMon].m_Index;
}

if(gObjTargetGuildWarCheck(lpObj,&gObj[CallMonIndex])==1)
{
EnableAttack = 1;
}
}

if(EnableAttack != 0)
{
//LogAddC(2, "%s %d", gObj[tObjNum].Name, this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y));
if(this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y) < 4)
{
bAttack = 0;

if(HitCount > 10)
{
bAttack = 0;
}

if(HitCount >= 5)
{
if(rand()%2)
{
bAttack = 1;
}
}
else
{
bAttack = 1;
}

if(bAttack != 0)
{
int delay = rand()%500;
gObjAddAttackProcMsgSendDelay(lpObj,50,tObjNum,delay,lpMagic->m_Skill,0);
}
}
}
}
}

count++;
if(count > MAX_VIEWPORT -1)
{
break;
}
}
return true;
}
its Code IceStorm ( SuddenIce):
Code: [Select]
int CObjUseSkill::SkillSuddenIce(int aIndex, CMagicInf * lpMagic, BYTE x, BYTE y, BYTE dir, BYTE TargetPos, int aTargetIndex) //
{
LPOBJ lpObj = &gObj[aIndex];
int tObjNum;
int count = 0;
int FirstHit = 0;
int HitCount = 0;
int bAttack;
LPOBJ lpTargetObj = &gObj[aTargetIndex];
int DuelIndex = lpObj->m_iDuelUser;
int EnableAttack;

while ( true )
{
if(lpObj->VpPlayer2[count].state != 0)
{
tObjNum = lpObj->VpPlayer2[count].number;

if(tObjNum >= 0)
{
EnableAttack = 0;

if(lpObj->VpPlayer2[count].type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon < 0)
{
EnableAttack = 1;
}
else if(tObjNum == aTargetIndex || DuelIndex == tObjNum)
{
EnableAttack = 1;
}

else if(lpObj->VpPlayer2[count].type != OBJ_NPC && gObj[tObjNum].MapNumber == MAP_INDEX_CASTLESIEGE && g_CastleSiege.GetCastleState() == CASTLESIEGE_STATE_STARTSIEGE)
{
EnableAttack = 1;
}

else
{
int CallMonIndex = gObj[tObjNum].m_Index;

if(gObj[tObjNum].Type == OBJ_MONSTER && gObj[tObjNum].m_RecallMon >= 0)
{
CallMonIndex = gObj[gObj[tObjNum].m_RecallMon].m_Index;
}

if(gObjTargetGuildWarCheck(lpObj,&gObj[CallMonIndex])==1)
{
EnableAttack = 1;
}
}

if(EnableAttack != 0)
{
if(this->CalDistance(x,y,gObj[tObjNum].X,gObj[tObjNum].Y) < 4)
{
bAttack = 0;

if(HitCount > 10)
{
bAttack = 0;
}

if(HitCount >= 5)
{
if(rand()%2)
{
bAttack = 1;
}
}
else
{
bAttack = 1;
}

if(bAttack != 0)
{
int delay = rand()%500;
gObjAttack(lpObj,&gObj[tObjNum],lpMagic,1,1,0,0,0,0);
}
}
}
}
}

count++;
if(count > MAX_VIEWPORT -1)
{
break;
}
}
return true;
}


When the monster is "immobile" in your viewport it is because it was not erased correctly, the monster died therefore it ceased to belong to the intactness of your VP and was "bugged" without being erased from its location in the VP, this occurs in XTEAM also only that not so frequent or with a skill in ex-specific, so it is the same error but caused in a different way, try to review the change states of LIVE -> DYING and verify that you always send to delete the GS from the VP to the Main :)


Offline c4nhsatcodong #33 Posteado: April 30, 2020, 08:34:53 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 360
  • Gracias recibida: 1878
  • vn
Monster Lag no se debe a mi habilidad. El 90% de otras versiones tienen un error 1.04D. No lo he probado en 104E. Creo que es lo mismo
Monster lag have 1.04E
But what about pvp bug? its happend only after ice storm its 100%. Monsters didn't lag with another classes (skills), only Soul Master have this bug.

También uso Exteam, lo intentaré como tú

Publicar un anuncio Mu Online gratis - Mu Online Community GRATIS.
Post free Mu Online ads - FREE Mu Online Community
https://www.facebook.com/groups/274190243227367/

Gracias:


Offline artem #34 Posteado: April 30, 2020, 08:53:26 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
When the monster is "immobile" in your viewport it is because it was not erased correctly, the monster died therefore it ceased to belong to the intactness of your VP and was "bugged" without being erased from its location in the VP, this occurs in XTEAM also only that not so frequent or with a skill in ex-specific, so it is the same error but caused in a different way, try to review the change states of LIVE -> DYING and verify that you always send to delete the GS from the VP to the Main :)
monsters its critical bug, but bug in videos with PVP players illusions was rly critical for players.


Offline artem #35 Posteado: April 30, 2020, 10:52:44 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
so, if someone can fix this bug for $$$ , PM me please.


Offline artem #36 Posteado: April 30, 2020, 02:02:12 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
Its my Viewports:
void gObjViewportListProtocolCreate(LPOBJ lpObj) -


void gObjViewportListProtocol(short aIndex) -


void gObjViewportClose(LPOBJ lpObj) -


void gObjViewportListCreate(short aIndex) -


int ViewportAdd(int aIndex, int aAddIndex, int aType) -


void gObjViewportListDestroy(short aIndex) -



Maybe someone find error there.





Offline artem #37 Posteado: May 01, 2020, 03:00:15 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua
So... Someone can fix it for $?


Offline artem #38 Posteado: May 02, 2020, 02:45:59 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 17
  • ua

Offline Odisk #39 Posteado: May 02, 2020, 04:24:38 AM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 882
  • Gracias recibida: 12449
  • pr
one day

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
4 Replies
1182 Views
Last post August 13, 2017, 06:09:33 AM
by tigre1123
1 Replies
1225 Views
Last post October 21, 2017, 05:24:05 PM
by FuegO
5 Replies
1588 Views
Last post May 01, 2019, 06:19:33 PM
by kayito
4 Replies
975 Views
Last post August 05, 2019, 02:51:18 AM
by Tauro14
1 Replies
837 Views
Last post August 20, 2019, 11:43:45 PM
by MuvnzPlus