Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Funcion completa de clic en x coordenada  (Visto 4232 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline caron22 Posteado: August 14, 2020, 05:07:56 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 622
  • Gracias recibida: 6517
  • ar
Bueno gente esta funcion la modifique para simplificar el sistema en una sola funcion, identificadas los offsets de las coordenadas y del clic izquierdo.
Esta funcion es muy necesaria para los que quieren hacer al juego un poco mas interactivo.




Creditos: Caron22

Gracias:

matheusgomesb, Icloud3d, Domedica, tutu100, nogsvn, nyanha, b0n3v, DeilanSasame, dedicadobk, Zike, Evangelio, Lotto4K4k, darkes607, zerg24, Smudevelop, joaovithor1, MUXP, ProGuard, Fakuzz, warrior, KropaPL, orl4nd1, Saige, usersa, xufqing, bustafa, DarkNite, zekcrom, jherson, GabrielDev, stopk, TheSilencer, lstuan, vipgale01, dieguitox, atlansdev, zhangjianle865, lostcross, kurtbangu, KhongGianOL, harry130, lkt22, robkaguerou, Percy, frenzo2009, walkeny, ZTMarkz, xxcondexx, tiendoanit, kosama11, muphantom, gpsturbo, victhorinox, iramondias, Zeus, MADRUGA, showmax, draco425, hamalina, Liaon, elalfred49, sannea, tdthanh95, darkalves2, matheusgom, NewGate, beibei, jonamix, sagamacus, louis, j4b1er, BladeKnight109, universalmu4, luciferlg, plyn, ronalksp, nnDoug, kove0816, cobyzero, fengyun52894, mendani, dizzys, Smith200, Nemesis, sagat202, luckydead, alexfy, dahouzi, zeruskill, Wendigo, BenjaminTv, czrdiamond, Karamelo, AntiChetO, thanhdopc93, xlockee, kingteamus, T-LEGENDARY, z348870672, MsotoC, ddoadm, Audi, markos182, DarkovaX, d3llam3a, PachoRasta, jorginhuz, maty12, laulinh2, boncha, Ryuno, InFamous, mustx1, juan1997, igznoth, DangeR, k12leito, Yasser, 423646802, nelson, mrchebu1990, Karuritoku, TheKing027, waltervg91, darblade34, dark, brunoxd123, matichile, herjuni, Chupulum, LightofHeaven, ailsoncost, admkolla, npt.formu, Ravoc, beecubin, Feche, zlethanhlong, webamoev, wanwaycom, 日メリーのRu, yoohz, SetecSoft, Androjd123, kaisudo, Denis Alves, joselagos, muzic25, artem, manfromvn, nguqua, PhantomKr, kallixtho, Odisk, lramon, smallz170, kaiocnx, Pasa_Pal_Fondo, LTP Team, dlawls662, viorb, mechaloco, axeman192, gacon201294, alefmello166, Xysad, ZabiinoOo, cri0, stark98, c4nhsatcodong, CorsarioDgx, comelon666, pulsefire, Dizzy, -Rastaa.TSM☢, Censored, 183358, kayito, GabrielDevel, osvaldo1811, Cartman, iggfree, s00x, knight.php, Dieguinho, SaintZeus, andreyzz, ConejoMalo, Pyke, hiep, neeck1234, JavixFer, Kapocha33

Offline kayito #1 Posteado: August 14, 2020, 06:03:30 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.090
  • Gracias recibida: 20987
  • ar
Eso vendría a ser como un "isworkzone" como traen los S6, no? Sólo que en lugar de verificar un objeto, verifica sólo las coordenadas

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (gObjUser.m_CursorX < this->Data[ObjectID].X || gObjUser.m_CursorX > this->Data[ObjectID].MaxX) || (gObjUser.m_CursorY < this->Data[ObjectID].Y || gObjUser.m_CursorY > this->Data[ObjectID].MaxY) )
return false;

return true;
}



Offline caron22 #2 Posteado: August 14, 2020, 06:30:50 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 622
  • Gracias recibida: 6517
  • ar
Eso vendría a ser como un "isworkzone" como traen los S6, no? Sólo que en lugar de verificar un objeto, verifica sólo las coordenadas

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (gObjUser.m_CursorX < this->Data[ObjectID].X || gObjUser.m_CursorX > this->Data[ObjectID].MaxX) || (gObjUser.m_CursorY < this->Data[ObjectID].Y || gObjUser.m_CursorY > this->Data[ObjectID].MaxY) )
return false;

return true;
}
Exacto, esta funcion hace lo mismo pero trabajado de otra manera, como mejore el metodo comparto los viejos sistemas, abrazo.


Offline takumi12 #3 Posteado: August 14, 2020, 08:31:09 PM | Modificado: August 14, 2020, 08:35:22 PM by takumi12

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.082
  • Gracias recibida: 48148
  • mx
Eso vendría a ser como un "isworkzone" como traen los S6, no? Sólo que en lugar de verificar un objeto, verifica sólo las coordenadas

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (gObjUser.m_CursorX < this->Data[ObjectID].X || gObjUser.m_CursorX > this->Data[ObjectID].MaxX) || (gObjUser.m_CursorY < this->Data[ObjectID].Y || gObjUser.m_CursorY > this->Data[ObjectID].MaxY) )
return false;

return true;
}
de echo es la misma burra pero pintada de otra forma, lo que hace la función IsWorkZone es validar la coordenada del mouse y verificar si esta en la coordenada del objeto,
mas bien es lo mismo, solo que IsWorkZone es una función adaptada usando las offset del mouse por coordenada


y tu funcion que pones no es optima ya que si agregas eso en una función donde no apliques gObjectUser.refresh() entonces simplemente no funcionará, puedes cambiar esa función por esta

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (pCursorX < this->Data[ObjectID].X || pCursorX > this->Data[ObjectID].MaxX) || (pCursorY < this->Data[ObjectID].Y || pCursorY > this->Data[ObjectID].MaxY) )
     return false;

return true;
}


Offline kayito #4 Posteado: August 14, 2020, 09:07:28 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.090
  • Gracias recibida: 20987
  • ar
Eso vendría a ser como un "isworkzone" como traen los S6, no? Sólo que en lugar de verificar un objeto, verifica sólo las coordenadas

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (gObjUser.m_CursorX < this->Data[ObjectID].X || gObjUser.m_CursorX > this->Data[ObjectID].MaxX) || (gObjUser.m_CursorY < this->Data[ObjectID].Y || gObjUser.m_CursorY > this->Data[ObjectID].MaxY) )
return false;

return true;
}
de echo es la misma burra pero pintada de otra forma, lo que hace la función IsWorkZone es validar la coordenada del mouse y verificar si esta en la coordenada del objeto,
mas bien es lo mismo, solo que IsWorkZone es una función adaptada usando las offset del mouse por coordenada


y tu funcion que pones no es optima ya que si agregas eso en una función donde no apliques gObjectUser.refresh() entonces simplemente no funcionará, puedes cambiar esa función por esta

Code: [Select]
bool Interface::IsWorkZone(short ObjectID)
{
if( (pCursorX < this->Data[ObjectID].X || pCursorX > this->Data[ObjectID].MaxX) || (pCursorY < this->Data[ObjectID].Y || pCursorY > this->Data[ObjectID].MaxY) )
     return false;

return true;
}
jaja yo ni uso esa función así como está, simplemente la copypastié del update 13 para ponerla como ejemplo porque era lo que tenía más a mano :P


Offline caron22 #5 Posteado: August 14, 2020, 09:31:23 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 622
  • Gracias recibida: 6517
  • ar
Lo que mas me interesa de esto es como vio mi codigo takumi12
jaja Saludos

Gracias:


Online Feche #6 Posteado: August 15, 2020, 10:28:24 AM | Modificado: August 15, 2020, 10:30:29 AM by Feche

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 58
  • Gracias recibida: 1869
  • ar
Aporto offsets para deshabilitar el click, ya que si haces click el PJ se mueve, y tambien para que no cambie de icono al estar cerca de un lugar para sentarse, hablar con NPC, etc.

[/size]


Offline caron22 #7 Posteado: August 15, 2020, 10:32:28 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 622
  • Gracias recibida: 6517
  • ar
Aporto offsets para deshabilitar el click, ya que si haces click el PJ se mueve, y tambien para que no cambie de icono al estar cerca de un lugar para sentarse, hablar con NPC, etc.
 [/size]
Buena data, me faltaban algunos


Online Feche #8 Posteado: August 15, 2020, 12:15:06 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 58
  • Gracias recibida: 1869
  • ar
Aporto offsets para deshabilitar el click, ya que si haces click el PJ se mueve, y tambien para que no cambie de icono al estar cerca de un lugar para sentarse, hablar con NPC, etc.
 [/size]
Buena data, me faltaban algunos
Ya con todo esto se puede arMar algo completito!


Offline Audi #9 Posteado: September 24, 2020, 10:11:59 AM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 57
  • Gracias recibida: 588
  • ar

Offline ronalksp #10 Posteado: October 05, 2020, 12:53:30 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 57
  • Gracias recibida: 115
  • ve
como hago para no permitir que un usuario se equipe un ítem especifico?


Offline caron22 #11 Posteado: October 05, 2020, 02:35:45 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 622
  • Gracias recibida: 6517
  • ar
como hago para no permitir que un usuario se equipe un ítem especifico?
Eso lo podes resolver de la funcion del gs
GCInventoryItemOneSend o CGUseItemRecv, seria bueno que crees un tema para que te ayuden mejor con esto

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
1 Replies
6428 Views
Last post February 21, 2020, 08:50:42 AM
by denny785
11 Replies
3706 Views
Last post July 04, 2020, 07:21:59 PM
by lcthesecond
7 Replies
4754 Views
Last post June 19, 2021, 04:04:39 AM
by Dieguinho
0 Replies
450 Views
Last post August 01, 2023, 10:03:18 AM
by GameNet
1 Replies
1067 Views
Last post July 11, 2024, 12:05:31 PM
by gambasoxd