Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Right Click Mouse  (Visto 7485 veces)

0 Miembros and 1 Guest are viewing this topic.

Online c4nhsatcodong #180 on: June 28, 2020, 11:45:42 PM

c4nhsatcodong: giúp tui trên mã nguồn 1.04d đc ko
[note] scf
short InventoryInsertItemTemp(LPOBJ lpObj, CItem * Item)
{
   int w, h, iwidth, iheight;
   BYTE blank = 0;

   if (Item->GetSize((int &)iwidth, (int &)iheight) == 0)
   {
      LogAdd(lMsg.Get(527), __FILE__, __LINE__);
      return -1;
   }

   for (h = 0; h < 8; h++)
   {
      for (w = 0; w < 8; w++)
      {
         if (*(BYTE*)(lpObj->pInventoryMap + h * 8 + w) == 255)
         {
            blank = gObjInventoryRectCheck(lpObj->m_Index, w, h, iwidth, iheight);

            if (blank == 254)
            {
               goto NEXT1;
            }

            if (blank != 255)
            {
               return blank;
            }
         }
      }
   }
NEXT1:
   if (ReadConfig.IS_EXTENDED_INV(lpObj->m_Index, 1) == TRUE)
   {
      for (h = 8; h < 12; h++)
      {
         for (w = 0; w < 8; w++)
         {
            if (*(BYTE*)(lpObj->pInventoryMap + h * 8 + w) == 255)
            {
               blank = gObjInventoryRectCheck(lpObj->m_Index, w, h, iwidth, iheight);

               if (blank == 254)
               {
                  goto NEXT2;
               }

               if (blank != 255)
               {
                  return blank;
               }
            }
         }
      }
   }
NEXT2:
   if (ReadConfig.IS_EXTENDED_INV(lpObj->m_Index, 1) == TRUE)
   {
      for (h = 12; h < 16; h++)
      {
         for (w = 0; w < 8; w++)
         {
            if (*(BYTE*)(lpObj->pInventoryMap + h * 8 + w) == 255)
            {
               blank = gObjInventoryRectCheck(lpObj->m_Index, w, h, iwidth, iheight);

               if (blank == 254)
               {
                  goto GOTO_EndFunc;
               }

               if (blank != 255)
               {
                  return blank;
               }
            }
         }
      }
   }
GOTO_EndFunc:
   return -1;
}
void eMoveItemProc(PMSG_MOVEITEM* aRecv, short aIndex) {
   if (OBJMAX_RANGE(aIndex) == 0) { return; }


   LPOBJ lpObj = &gObj[aIndex];


   if (aRecv->Target == -1) { return; }
   if (aRecv->tFlag == 3 & aRecv->sFlag == 0 && lpObj->pInventory[aRecv->Source].IsItem()) //check input item
   {
      if (IsLuckyItem(lpObj->pInventory[aRecv->Source].m_Type))
      {
         GCServerMsgStringSend("You can't use Lucky items", aIndex, 0x01);
         return;
      }

      if (MuItemShop.IsCShopItemByType(lpObj->pInventory[aRecv->Source].m_Type, lpObj->pInventory[aRecv->Source].m_ItemOptionEx))
      {
         GCServerMsgStringSend("You can't use Xshop items", aIndex, 0x01);
         return;
      }
   }
   int p = 0, c = 0, d = 0, w = 0, h = 0, n = 0;

   int Target = -1;

   BYTE ItemInfo[MAX_ITEM_INFO];
   BOOL DurSend;
   BOOL DurTargetSend;

   if (aRecv->tFlag == 3 & aRecv->sFlag == 0 && lpObj->pInventory[aRecv->Source].IsItem())
   {
      ItemByteConvert(ItemInfo, lpObj->pInventory[aRecv->Source]);
      int TargetMap[CHAOS_BOX_SIZE] = { '\0' };
      for (n = 0; n < CHAOS_BOX_SIZE; n++) {
         if (lpObj->pChaosBox[n].IsItem()) {
            lpObj->pChaosBox[n].GetSize((int &)w, (int &)h);
            for (c = 0; c < w; c++) {
               for (d = 0; d < h; d++) {
                  p = c + d * 8 + n;
                  if (p < CHAOS_BOX_SIZE) {
                     TargetMap[p] = 1;
                  }
               }
            }
         }
      }

      for (n = 0; n < CHAOS_BOX_SIZE; n++) {
         if (!TargetMap[n]) {
            Target = n;
            lpObj->pInventory[aRecv->Source].GetSize((int &)w, (int &)h);
            for (c = 0; c < w; c++) {
               for (d = 0; d < h; d++) {
                  p = c + d * 8 + n;
                  if (p >= CHAOS_BOX_SIZE || TargetMap[p] || (n % 8) + c > 7) {
                     Target = -1;
                  }
               }
            }
            if (Target != -1)
               break;
         }
      }
   }
   else if (aRecv->tFlag == 0 & aRecv->sFlag == 3 && lpObj->pChaosBox[aRecv->Source].IsItem())
   {
      ItemByteConvert(ItemInfo, lpObj->pChaosBox[aRecv->Source]);
      if (aRecv->Source > CHAOS_BOX_SIZE) { return; }
      BYTE invPos = InventoryInsertItemTemp(lpObj, &lpObj->pChaosBox[aRecv->Source]);

      if (invPos >= 254) {
         GCServerMsgStringSend("Thùng đồ nhân vật không đủ chá»— trống.", aIndex, 0x01);
         return;
      }
      Target = invPos;
   }
   else if (aRecv->tFlag == 0 & aRecv->sFlag == 0 && lpObj->pInventory[aRecv->Source].IsItem())
   {
      ItemByteConvert(ItemInfo, lpObj->pInventory[aRecv->Source]);
      if (aRecv->Source > 11) {
         Target = lpObj->pInventory[aRecv->Source].GetSlot();
      }
      else {
         BYTE invPos = InventoryInsertItemTemp(lpObj, &lpObj->pInventory[aRecv->Source]);

         if (invPos >= 254) {
            GCServerMsgStringSend("Thùng đồ nhân vật không đủ chá»— trống.", aIndex, 0x01);
            return;
         }
         Target = invPos;
      }
   }
   else
   {
      return; //Wrong type!
   }

   if (Target == -1)
   {
      //GCServerMsgStringSend(lMsg.Get(MSGGET(15, 37)), aIndex, 0x01);
      return;
   }
//...
   int result = gObjInventoryMoveItem(lpObj->m_Index, aRecv->Source, Target, DurSend, DurTargetSend, aRecv->sFlag, aRecv->tFlag, ItemInfo);
   if (result == aRecv->tFlag)
   {
      if (aRecv->tFlag == 0 && aRecv->sFlag == 3){
         GCUserChaosBoxSend(lpObj, 0);
      }
      else if ((aRecv->tFlag == 3 || aRecv->tFlag == 0) && aRecv->sFlag == 0)
         GCInventoryItemDeleteSend(lpObj->m_Index, aRecv->Source, aRecv->sFlag);

      GCItemMoveResultSend(lpObj->m_Index, aRecv->tFlag, Target, ItemInfo);
   }

}

[note]
Publicar un anuncio Mu Online gratis - Mu Online Community GRATIS
https://www.facebook.com/groups/274190243227367/

Offline Smith200 #181 on: June 29, 2020, 03:50:52 AM

@c4nhsatcodong Well, that's a progress, thank you very much, but people here (me too) is not really smart so can you please explain where should we put this code?

Online c4nhsatcodong #182 on: June 29, 2020, 04:15:42 AM

@c4nhsatcodong Well, that's a progress, thank you very much, but people here (me too) is not really smart so can you please explain where should we put this code?

Put it at the end of User.cpp
Publicar un anuncio Mu Online gratis - Mu Online Community GRATIS
https://www.facebook.com/groups/274190243227367/

Gracias:


Offline Kosh #183 on: June 29, 2020, 02:09:25 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 192
  • Gracias recibida: 1264
  • uy
« Ultima edicion: July 01, 2020, 06:12:32 PM by Kosh »
Um simple noob, pode se tornar um mestre. BLZ

Online takumi12 #184 on: June 29, 2020, 02:16:46 PM

  • Php Coder
  • +9 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 877
  • Gracias recibida: 10234
  • mx
Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please

Y bueno, yo puse de esta forma mientras..

&& !lpObj->Inventory[ItemInfo.TwoHand].IsItem()

algún groso podrá mejorarlo.

https://imgur.com/2vteTQj.mp4

segundo vídeo:

https://imgur.com/1aeT60j.mp4

por lo que pude notar, no te deja colocarle al rf el segundo claws, y en el bm la segunda arma, solo te diré que es mejor validar clase, y no item, asi de simple.

Offline Kosh #185 on: June 29, 2020, 02:19:45 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 192
  • Gracias recibida: 1264
  • uy
Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please

Y bueno, yo puse de esta forma mientras..

&& !lpObj->Inventory[ItemInfo.TwoHand].IsItem()

algún groso podrá mejorarlo.

https://imgur.com/2vteTQj.mp4

segundo vídeo:

https://imgur.com/1aeT60j.mp4

por lo que pude notar, no te deja colocarle al rf el segundo claws, y en el bm la segunda arma, solo te diré que es mejor validar clase, y no item, asi de simple.

Claro, por eso dije algún groso podrá mejorar. Pero mientras es mejor así antes de que usar 2 scepters.
Ya que no te bloquea ni agilas, ni arcos, ni escudos.
Veré de la otra forma que dices también. Pero bueno esta el vídeo también para que antes de que lo metan vean sus causas.
« Ultima edicion: June 29, 2020, 02:22:12 PM by Kosh »
Um simple noob, pode se tornar um mestre. BLZ

Online takumi12 #186 on: June 29, 2020, 02:41:54 PM

  • Php Coder
  • +9 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 877
  • Gracias recibida: 10234
  • mx
Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please

Y bueno, yo puse de esta forma mientras..

&& !lpObj->Inventory[ItemInfo.TwoHand].IsItem()

algún groso podrá mejorarlo.

https://imgur.com/2vteTQj.mp4

segundo vídeo:

https://imgur.com/1aeT60j.mp4

por lo que pude notar, no te deja colocarle al rf el segundo claws, y en el bm la segunda arma, solo te diré que es mejor validar clase, y no item, asi de simple.

Claro, por eso dije algún groso podrá mejorar. Pero mientras es mejor así antes de que usar 2 scepters.
Ya que no te bloquea ni agilas, ni arcos, ni escudos.
Veré de la otra forma que dices también. Pero bueno esta el vídeo también para que antes de que lo metan vean sus causas.


Offline Kosh #187 on: June 29, 2020, 02:57:02 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 192
  • Gracias recibida: 1264
  • uy
Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please

Y bueno, yo puse de esta forma mientras..

&& !lpObj->Inventory[ItemInfo.TwoHand].IsItem()

algún groso podrá mejorarlo.

https://imgur.com/2vteTQj.mp4

segundo vídeo:

https://imgur.com/1aeT60j.mp4

por lo que pude notar, no te deja colocarle al rf el segundo claws, y en el bm la segunda arma, solo te diré que es mejor validar clase, y no item, asi de simple.

Claro, por eso dije algún groso podrá mejorar. Pero mientras es mejor así antes de que usar 2 scepters.
Ya que no te bloquea ni agilas, ni arcos, ni escudos.
Veré de la otra forma que dices también. Pero bueno esta el vídeo también para que antes de que lo metan vean sus causas.



me alegro de su "100%", siga con el resto que tiene más cosas que reparar. Aquí no es quien tiene más completo un sistema que otro. No es competencia esto! Saludos
Um simple noob, pode se tornar um mestre. BLZ

Gracias:


Offline Llalex #188 on: June 29, 2020, 05:24:28 PM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer


Video

Actualizacion 01-07-2020
Fix RF
« Ultima edicion: July 02, 2020, 07:33:17 AM by Llalex »

Offline comelon666 #189 on: June 29, 2020, 05:47:04 PM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

El Vídeo se esta subiendo...

+10000000000 ... :D

Gracias:


Offline Llalex #190 on: June 29, 2020, 06:14:44 PM

Video subido

Gracias:


Offline erickmalfoy #191 on: June 29, 2020, 10:15:41 PM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

Video


Gracias Bro me sirvio Y el codigo que dejaste Lo entiendo bien xD ya que lo otros sufro para enterlos y poder arreglar xD... !
Sin mas que decir Suerte bro :D Gracias  please aplausos cool2 comiendo

Offline Llalex #192 on: June 29, 2020, 10:43:35 PM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

Video


Gracias Bro me sirvio Y el codigo que dejaste Lo entiendo bien xD ya que lo otros sufro para enterlos y poder arreglar xD... !
Sin mas que decir Suerte bro :D Gracias  please aplausos cool2 comiendo

De nada, ya quedaría de parte de los demás intentar hacer el fix de la maquina de chaos y compartirla...

Offline MaxVoll #193 on: June 30, 2020, 12:45:01 AM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

Video


Gracias Bro me sirvio Y el codigo que dejaste Lo entiendo bien xD ya que lo otros sufro para enterlos y poder arreglar xD... !
Sin mas que decir Suerte bro :D Gracias  please aplausos cool2 comiendo

De nada, ya quedaría de parte de los demás intentar hacer el fix de la maquina de chaos y compartirla...

Que tiene la maquina de chaos??

Offline erickmalfoy #194 on: June 30, 2020, 01:52:28 AM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

Video


Gracias Bro me sirvio Y el codigo que dejaste Lo entiendo bien xD ya que lo otros sufro para enterlos y poder arreglar xD... !
Sin mas que decir Suerte bro :D Gracias  please aplausos cool2 comiendo

De nada, ya quedaría de parte de los demás intentar hacer el fix de la maquina de chaos y compartirla...

Que tiene la maquina de chaos??

Hola no caeria mal que vieras los guantes de rf custom noce pueden subir a +1+2+3+4+5+6 con bless.. !
pero con soul si cual seria el error ? :( please

Offline Llalex #195 on: June 30, 2020, 06:38:09 AM

Holas Gente El anticlick funciona perfecto pero hay un problemita que me pasa exactamente con el DarkLork
cuando presiono anticlik para ponerme el otro spcecter se pone en el otro lado solo me pasa con el anticlick aca un video informativo como lo soluciono Gracias noce si les pasa lo mismo :D  please

 


Alguien me ayuda.. !
 please
Fix
- El Fix contiene
     * Raza (Las razas como son SM, ELF, DL que solo usan un arma y un escudo seguirán asi, no dará problema con ninguna de esta raza a la hora de intentar poner mas de un arma básica de una sola mano en ambas manos)
     * Scepte,Staff,Bow (Ya no se pondrán usar dos sceptes,staff, bow o una de las antes mencionadas con un arma básica como seria una staff y una espada o un scepte y un hacha)

OBSERVACIÓN
- Hice el código asi de largo para mejor facilidad de edición para las persona que están comenzando esto (que también es mi caso) y eso también tiene cosas buenas un ejemplo de ello es:
   * Poder agregar o eliminar index individuales (nada de englobar una cierta cantidad de items, agregar el item necesario y listo)

GameServer

Video


Gracias Bro me sirvio Y el codigo que dejaste Lo entiendo bien xD ya que lo otros sufro para enterlos y poder arreglar xD... !
Sin mas que decir Suerte bro :D Gracias  please aplausos cool2 comiendo

De nada, ya quedaría de parte de los demás intentar hacer el fix de la maquina de chaos y compartirla...

Que tiene la maquina de chaos??
Le falta el refresh, asi queda..

Offline Llalex #196 on: June 30, 2020, 06:40:08 AM

Hola no caeria mal que vieras los guantes de rf custom noce pueden subir a +1+2+3+4+5+6 con bless.. !
pero con soul si cual seria el error ? :( please
Ese error no tiene nada que ver con estas sources, yo a todos mi items sean o no custom les puedo subir desde +1 hasta +6 con bless sin ningun error..
« Ultima edicion: June 30, 2020, 09:37:18 AM by Llalex »

Offline kind #197 on: June 30, 2020, 09:55:26 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 157
  • Gracias recibida: 930
  • ar
Aclarando un poco las cosas.
@Kosh tu codigo esta MUY mal. Te explico:
 lpObj->Inventory[ItemInfo.TwoHand].IsItem() Inventory[SLOT]
Lo que va entre corchetes [] es el slot donde va ubicado el item, si vos le pasas la propiedad ItemInfo.TwoHand, no tiene nada que ver, absolutamente nada que ver, que te funcione es de ojete, porque lleva 0 o 1 la variable esa, nada mas que por eso.

@Llalex Si bien no esta mal lo que hiciste, estas validando de la forma incorrecta, y como dijiste vos mismo, cada vez que agregues un item vas a tener que agregarlo al source tambien. Ademas de que es muy poco optimizado.

La forma correcta de hacerlo es como dijo @takumi12, validando la class del pj y del item, y que si el item de la mano izquierda es para RF/DL/ME solamente, en la mano derecha no te deje ponerte un item que tambien puede equipar un DK por ej. Con ItemInfo se hacen esas verificaciones.

Respecto al bug de la chaos machine, el único que tengo es que no actualiza la combinación luego de retirar los items, prefiero eso al bug que presentaste vos @Llalex

Offline Llalex #198 on: June 30, 2020, 10:42:16 AM

Aclarando un poco las cosas.
@Kosh tu codigo esta MUY mal. Te explico:
 lpObj->Inventory[ItemInfo.TwoHand].IsItem() Inventory[SLOT]
Lo que va entre corchetes [] es el slot donde va ubicado el item, si vos le pasas la propiedad ItemInfo.TwoHand, no tiene nada que ver, absolutamente nada que ver, que te funcione es de ojete, porque lleva 0 o 1 la variable esa, nada mas que por eso.

@Llalex Si bien no esta mal lo que hiciste, estas validando de la forma incorrecta, y como dijiste vos mismo, cada vez que agregues un item vas a tener que agregarlo al source tambien. Ademas de que es muy poco optimizado.

La forma correcta de hacerlo es como dijo @takumi12, validando la class del pj y del item, y que si el item de la mano izquierda es para RF/DL/ME solamente, en la mano derecha no te deje ponerte un item que tambien puede equipar un DK por ej. Con ItemInfo se hacen esas verificaciones.

Respecto al bug de la chaos machine, el único que tengo es que no actualiza la combinación luego de retirar los items, prefiero eso al bug que presentaste vos @Llalex
@kind  Gracias por el consejo, pero lo único que me falto a mi fue colocarlo dinámico, del resto lo veo perfecto. (recordemos que no soy coder profesional...)

Acá donde dices "validando la class del pj y del item, y que si el item de la mano izquierda es para RF/DL/ME solamente, en la mano derecha no te deje ponerte un item que tambien puede equipar un DK" tienes un error, porque si el item es de DL y BK, SM y DL, ELF y SUM o sean de múltiples razas, lo que son las razas como SM,DL, ELF... entonces pondrán usar armas en la segunda mano, ya que no serian armas únicamente para esa raza y por lo tanto darían error en esa parte, Yo valide todo por separado pensando en este tipo de cosas, sin englobar nada, ya que la mas mínima cosa daría pie para otro error.

Una vez mas gracias por tu consejo, pero como dije arriba, solo me falto volverlo dinámico o ese es mi punto de vista.

Online takumi12 #199 on: June 30, 2020, 01:34:40 PM

  • Php Coder
  • +9 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 877
  • Gracias recibida: 10234
  • mx
Aclarando un poco las cosas.
@Kosh tu codigo esta MUY mal. Te explico:
 lpObj->Inventory[ItemInfo.TwoHand].IsItem() Inventory[SLOT]
Lo que va entre corchetes [] es el slot donde va ubicado el item, si vos le pasas la propiedad ItemInfo.TwoHand, no tiene nada que ver, absolutamente nada que ver, que te funcione es de ojete, porque lleva 0 o 1 la variable esa, nada mas que por eso.

@Llalex Si bien no esta mal lo que hiciste, estas validando de la forma incorrecta, y como dijiste vos mismo, cada vez que agregues un item vas a tener que agregarlo al source tambien. Ademas de que es muy poco optimizado.

La forma correcta de hacerlo es como dijo @takumi12, validando la class del pj y del item, y que si el item de la mano izquierda es para RF/DL/ME solamente, en la mano derecha no te deje ponerte un item que tambien puede equipar un DK por ej. Con ItemInfo se hacen esas verificaciones.

Respecto al bug de la chaos machine, el único que tengo es que no actualiza la combinación luego de retirar los items, prefiero eso al bug que presentaste vos @Llalex
@kind  Gracias por el consejo, pero lo único que me falto a mi fue colocarlo dinámico, del resto lo veo perfecto. (recordemos que no soy coder profesional...)

Acá donde dices "validando la class del pj y del item, y que si el item de la mano izquierda es para RF/DL/ME solamente, en la mano derecha no te deje ponerte un item que tambien puede equipar un DK" tienes un error, porque si el item es de DL y BK, SM y DL, ELF y SUM o sean de múltiples razas, lo que son las razas como SM,DL, ELF... entonces pondrán usar armas en la segunda mano, ya que no serian armas únicamente para esa raza y por lo tanto darían error en esa parte, Yo valide todo por separado pensando en este tipo de cosas, sin englobar nada, ya que la mas mínima cosa daría pie para otro error.

Una vez mas gracias por tu consejo, pero como dije arriba, solo me falto volverlo dinámico o ese es mi punto de vista.

perdon @Llalex pero lo que dices no tiene cuerencia, quizas te lo estas imaginando mal pero la mejor forma de corregir el problema con las scepter o que el mago equipe armas y staff como tambien el rf pueda equiar claws con spaditas cortas es validar por clase, haces la validacion normal de items, y lueg haces 3 validaciones si es dw, y si es dl aplica la misma, pero otra adicional si es rf es un poco mas complicado porque tienes que validar si el item que esta equipando es claws o es espada, bueno ya no lo postie porque kosh piensa que yo lo veo como una competencia para ver quien tiene mejor source, pero ya que cosa que no importa, igual con solo decirles como pueden solucionar ya ayuda bastante para meter la idea de como se solventa estos problemas

dejo esta funcion que es la que valida item por classe exclusiva
Code: [Select]
bool CItemManager::CheckItemRequireClassUnick(WORD Class,int index) // OK
{
ITEM_INFO ItemInfo;

if(this->GetInfo(index,&ItemInfo) == 0)
{
return false;
}

if(CHECK_RANGE(Class,MAX_CLASS) == 0)
{
return false;
}
int isClass = 0;

if(ItemInfo.RequireClass[Class] != 0)
{
isClass++;
}
int classes = 0;

for(int i = 0; i < MAX_CLASS ; i++){

if(ItemInfo.RequireClass[i] != 0 && i != Class){
classes++;
}
}

if(classes != 0)
{
return false;
}

if(isClass != 0)
{
return true;
}
else
{
return false;
}
}
« Ultima edicion: June 30, 2020, 01:48:35 PM by takumi12 »

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

 

Related Topics

  Subject / Started by Replies Last post
3 Replies
718 Views
Last post September 05, 2018, 12:21:14 PM
by Sistem
18 Replies
920 Views
Last post May 29, 2020, 06:17:31 AM
by artem
7 Replies
839 Views
Last post April 27, 2020, 01:21:45 PM
by Odisk
0 Replies
85 Views
Last post May 30, 2020, 03:23:25 PM
by FePRO
4 Replies
229 Views
Last post June 10, 2020, 02:43:00 PM
by EmmaDCG