Injumatatirea valorilor buff-ului atunci cand este dat altui player

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
alexmetin123
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 26 Iul 2021, 12:51
Aprecieri: 62  
Mulţumiri: 1  
Medalii

*Problemă/Întrebare: As vrea sa injumatatesc valoarea buff-ului atunci cand este dat unui alt player decat mie (cele care nu au flag-ul SELFONLY).
Tipologie server:
*Resursă folosită: Sursa Clean
*ServerFiles utilizat: 2014.1 by Krazy
*Syserr:
Poză:
*Detalii suplimentare: Pe official, o data cu update-ul 17.5 s-au schimbat si anumite lucruri la buff-urile samannilor. As vrea si eu sa injumatatesc valoarea unui buff daca nu mi-l dau mie. Spre exemplu:
- Daca imi dau mie "Binecuvantarea" voi primi bonusul integral (50%), dar daca ii dau altcuiva, acesta sa primeasca (25%).
Banuiesc ca se poate face prin crearea unui nou affect flag, dar m-am cam impotmolit aici. Poate cineva a mai facut asta sau are vreo idee.

Multumesc anticipat.
Avatar utilizator
alexmetin123
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 26 Iul 2021, 12:51
Aprecieri: 62  
Mulţumiri: 1  
Medalii

Rezolvat intre timp, se poate inchide!
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

alexmetin123 scrie: ↑25 Aug 2021, 15:57 Rezolvat intre timp, se poate inchide!
ne poti lasa si noua rezolvarea te rog?
Avatar utilizator
alexmetin123
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 26 Iul 2021, 12:51
Aprecieri: 62  
Mulţumiri: 1  
Medalii

[HF]White scrie: ↑25 Aug 2021, 16:02
alexmetin123 scrie: ↑25 Aug 2021, 15:57 Rezolvat intre timp, se poate inchide!
ne poti lasa si noua rezolvarea te rog?
Sigur!
In char_skill.cpp:

Cauti: int iAmount3 = (int) pkSk->kPointPoly3.Eval();
Adaugi sub:
if (pkSk->dwVnum == SKILL_HOSIN || pkSk->dwVnum == SKILL_REFLECT || pkSk->dwVnum == SKILL_GICHEON || pkSk->dwVnum == SKILL_KWAESOK || pkSk->dwVnum == SKILL_JEUNGRYEOK)
if(pkVictim != this)
{
iAmount = iAmount / 2;
iAmount2 = iAmount2 / 2;
iAmount3 = iAmount3 / 2;
}

Cauti: // ADD_GRANDMASTER_SKILL
if (GetUsedSkillMasterType(pkSk->dwVnum) >= SKILL_GRAND_MASTER)
{
iAmount = (int) pkSk->kMasterBonusPoly.Eval();

Adaugi sub:
if (pkSk->dwVnum == SKILL_HOSIN || pkSk->dwVnum == SKILL_REFLECT || pkSk->dwVnum == SKILL_GICHEON || pkSk->dwVnum == SKILL_KWAESOK || pkSk->dwVnum == SKILL_JEUNGRYEOK)
if(pkVictim != this)
iAmount = iAmount / 2;
}

Acum nu sunt 100% sigur ca e cea mai inteligenta varianta de a obtine acest rezultat, dar functioneaza.
Pentru acest mesaj, alexmetin123 for the post:
[HF]White
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Multumim frumos. Problema marcata ca rezolvata
Pentru acest mesaj, [HF]White for the post:
alexmetin123
Închis

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 18 vizitatori