*Problemă: Roua permanenta
Tipologie server: PVM
*Resursă folosită: https://forum.turkmmo.com/konu/3712377- ... ykatil199/
*ServerFiles utilizat:
*Syserr: Gol
Poză:
*Detalii suplimentare: Pot activa si roua clasica si asta nou implementata, ma poate ajuta cineva?
Roua permanenta
Daca folosesti doua tipuri de roua per fiecare culoare,in item proto,scoate-l pe cel care nu functioneaza conform acestui sistem.
Ideea e ca vreau sa le folosesc pe ambele, gen din alea clasice sa se faca asta permanenta. Banuiesc ca ar trebui un if sau ceva cand este activata una sa nu poata fi activata si cealalta, nu am idee. E doar o banuiala.
UP
UP
Cod: Selectaţi tot
if (FindAffect(AFFECT_BLEND, apply_type))
{
ChatPacket(CHAT_TYPE_INFO, ("Ai activat deja roua."));
}Cod: Selectaţi tot
int apply_type = aApplyInfo[item->GetSocket(0)].bPointType;Cod: Selectaţi tot
int check_new_blend = AFFECT_NEW_AFFECT_POTION_1;
int check_new_blend2 = AFFECT_NEW_AFFECT_POTION2;
int check_new_blend3 = AFFECT_NEW_AFFECT_POTION3;
int check_new_blend4 = AFFECT_NEW_AFFECT_POTION4;
int check_new_blend5 = AFFECT_NEW_AFFECT_POTION5;
int check_new_blend6 = AFFECT_NEW_AFFECT_POTION6;
Poftim check-ul:
Cod: Selectaţi tot
if (FindAffect(check_new_blend) || (check_new_blend2) || (check_new_blend3) || (check_new_blend4) || (check_new_blend5) || (check_new_blend6))
{
ChatPacket(CHAT_TYPE_INFO, ("Ai activat deja roua."));
}Imi apare mesajul ala cu "Ai activat deja roua" dar tot o activeaza, nu o blocheaza.Syron scrie: ↑19 Oct 2019, 15:36Poti sa il pui inainte de AddEffect in functia principala. AFFECT_BLEND sunt toate potiunile de tip roua normale. In caz ca nu e definit apply_type:Cod: Selectaţi tot
if (FindAffect(AFFECT_BLEND, apply_type)) { ChatPacket(CHAT_TYPE_INFO, ("Ai activat deja roua.")); }Parelel trebuie in char_item.cpp la case ITEM_BLEND sa creezi un check pentru potiunile permanente. Ce e 'naspa' la acest 'sistem' e ca, sunt facute affecte separate pentru fiecare roua (cand la cele normale toate se fuziuneaza sub AFFECT_BLEND) si anume:Cod: Selectaţi tot
int apply_type = aApplyInfo[item->GetSocket(0)].bPointType;Asa vizualizam situatia:Cod: Selectaţi tot
int check_new_blend = AFFECT_NEW_AFFECT_POTION_1; int check_new_blend2 = AFFECT_NEW_AFFECT_POTION2; int check_new_blend3 = AFFECT_NEW_AFFECT_POTION3; int check_new_blend4 = AFFECT_NEW_AFFECT_POTION4; int check_new_blend5 = AFFECT_NEW_AFFECT_POTION5; int check_new_blend6 = AFFECT_NEW_AFFECT_POTION6;Poftim check-ul:
//edit: am uitat de apply_type, ca sa faca diferenta intre diferitele tipuri de roua.Cod: Selectaţi tot
if (FindAffect(check_new_blend) || (check_new_blend2) || (check_new_blend3) || (check_new_blend4) || (check_new_blend5) || (check_new_blend6)) { ChatPacket(CHAT_TYPE_INFO, ("Ai activat deja roua.")); }
Adauga:
unde ai pus check-ul la functia aluia. Pentru ITEM_BLEND este facut deja un else unde (daca nu se gasesc restul) se activeaza.
Deci in momentul de fata ar trebuii sa nu mearga sa activezi roua temporara daca ai roua permanente. (asta daca AFFECT-urile care le-am pus eu acolo sunt cele de la sistemul aluia)
Dupa cum am spus, e o mizerie sistemul, nu prea imi dau seama ce e si cum... dar nu e greu de realizat ce trebuie sa pui si unde.
Cod: Selectaţi tot
return false;Deci in momentul de fata ar trebuii sa nu mearga sa activezi roua temporara daca ai roua permanente. (asta daca AFFECT-urile care le-am pus eu acolo sunt cele de la sistemul aluia)
Dupa cum am spus, e o mizerie sistemul, nu prea imi dau seama ce e si cum... dar nu e greu de realizat ce trebuie sa pui si unde.
La fel...Syron scrie: ↑20 Oct 2019, 17:49 Adauga:unde ai pus check-ul la functia aluia. Pentru ITEM_BLEND este facut deja un else unde (daca nu se gasesc restul) se activeaza.Cod: Selectaţi tot
return false;
Deci in momentul de fata ar trebuii sa nu mearga sa activezi roua temporara daca ai roua permanente. (asta daca AFFECT-urile care le-am pus eu acolo sunt cele de la sistemul aluia)
Dupa cum am spus, e o mizerie sistemul, nu prea imi dau seama ce e si cum... dar nu e greu de realizat ce trebuie sa pui si unde.
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 41 vizitatori






