ERROR EN PARTY
#1
Código PHP:
public Finish_Combo_Party(taskid) {
        static idid ID_COMBOPARTY;
 
 new 
i
 
 
for (0sizeof(gComboInfo)-1i++) {
 if (
gComboInfo[i][gCombos] > gCombo[id]) break;
 } 
 static 
szBonoszBono gCombo[id] * gComboInfo[i][gMulti]

 
set_hudmessage(2552552550.450.2701.51.51.01.0)
 
ShowSyncHudMsg(idgCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[id]), Add_Point(gCombo[id] * 2), Add_Point(szBono))
 
 
gComboDamage[id] = 0
 gHits
[id] = 0
 gCombo
[id] = 0
 g_iAmmoPacks
[id] += szBono 

 UpdateLevel
(id)
 

alguien me puede dar una mano? al terminar el combo del party, las ganancias no se dividen, solo gana quien hace el combo
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#2
Mostra donde ejecutas esta funcion, ya que deberias tener un for o un while donde le envie el task a todos los miembros cuando alguno de este party acabe de combear.

Algo asi me imagino yo que deberias tener...
Código PHP:
public funcion_donde_termina_de_combear(id)
{
    for (new 
miembros 1miembros 33miembros++)
    {
        if (
g_party[miembros] == g_party[id])
        {
            
remove_task(TASK_COMBOPARTY);
            
set_task(0.2"Finish_Combo_Party"miembros);
        }
    }
}

public 
Finish_Combo_Party(taskid)
{
    static 
miembromiembro ID_COMBOPARTY;

    new 
i;

    for (
0sizeof(gComboInfo)-1i++)
        if (
gComboInfo[i][gCombos] > gCombo[miembro]) break;

    
// Y si queres dividir la ganancia de verdad >    szBono = (gCombo[miembro] * gComboInfo[i][gMulti]) / total_de_miembros
    
static szBonoszBono gCombo[miembro] * gComboInfo[i][gMulti];

    
set_hudmessage(2552552550.450.2701.51.51.01.0)
    
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono))

    
gComboDamage[miembro] = 0;
    
gHits[miembro] = 0;
    
gCombo[miembro] = 0;
    
g_iAmmoPacks[miembro] += szBono;

    
UpdateLevel(miembro);

___________________________________
SI NECESITAS UN PLUGIN TE LO HAGO $$$
COMUNICATE A MI DISCORD: emanuelitop15
Responder
#3
(24/10/2022, 11:41 PM)[E]manuelitop15 escribió: Mostra donde ejecutas esta funcion, ya que deberias tener un for o un while donde le envie el task a todos los miembros cuando alguno de este party acabe de combear.

Algo asi me imagino yo que deberias tener...
Código PHP:
public funcion_donde_termina_de_combear(id)
{
 for (new 
miembros 1miembros 33miembros++)
 {
 if (
g_party[miembros] == g_party[id])
 {
 
remove_task(TASK_COMBOPARTY);
 
set_task(0.2"Finish_Combo_Party"miembros);
 }
 }
}

public 
Finish_Combo_Party(taskid)
{
 static 
miembromiembro ID_COMBOPARTY;

 new 
i;

 for (
0sizeof(gComboInfo)-1i++)
 if (
gComboInfo[i][gCombos] > gCombo[miembro]) break;

 
// Y si queres dividir la ganancia de verdad > szBono = (gCombo[miembro] * gComboInfo[i][gMulti]) / total_de_miembros
 
static szBonoszBono gCombo[miembro] * gComboInfo[i][gMulti];

 
set_hudmessage(2552552550.450.2701.51.51.01.0)
 
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono))

 
gComboDamage[miembro] = 0;
 
gHits[miembro] = 0;
 
gCombo[miembro] = 0;
 
g_iAmmoPacks[miembro] += szBono;

 
UpdateLevel(miembro);


Código PHP:
for(new ig_PartyData[attacker][Amount_In_Party]; i++)
 {
 
user Players[i]
 
 while (
gDamageDealt[attacker] >= szDamage) {
 
gCombo[user]+= szReward 
 g_iAmmoPacks
[user]++
 
gDamageDealt[attacker] -= szDamage 
 gHits
[user]++
 }
 
set_task(5.0"Finish_Combo_Party"user)
 return 
HAM_IGNORED;

algo asi??, probe como me dijiste y nada..
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#4
(24/10/2022, 02:48 AM)Blackk escribió:
Código PHP:
public Finish_Combo_Party(taskid) {
        static idid ID_COMBOPARTY;
 
 new 
i
 
 
for (0sizeof(gComboInfo)-1i++) {
 if (
gComboInfo[i][gCombos] > gCombo[id]) break;
 } 
 static 
szBonoszBono gCombo[id] * gComboInfo[i][gMulti]

 
set_hudmessage(2552552550.450.2701.51.51.01.0)
 
ShowSyncHudMsg(idgCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[id]), Add_Point(gCombo[id] * 2), Add_Point(szBono))
 
 
gComboDamage[id] = 0
 gHits
[id] = 0
 gCombo
[id] = 0
 g_iAmmoPacks
[id] += szBono 

 UpdateLevel
(id)
 

alguien me puede dar una mano? al terminar el combo del party, las ganancias no se dividen, solo gana quien hace el combo
Si estas usando party de rak con esto deberia ser suficiente

Código PHP:
static szBonoszBono gCombo[id] * gComboInfo[i][gMulti]/g_PartyData[taskid][Amount_In_Party
Aporte(?
Discord: leo$#9073
Responder
#5
Sigue sin funcionar
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#6
Muestra el código completo de los combos (lo relacio al party), como lo incias, lo mostras y lo terminas.
Responder
#7
(26/12/2022, 12:56 PM)aramayo123 escribió: Si estas usando party de rak con esto deberia ser suficiente

Código PHP:
static szBonoszBono gCombo[id] * gComboInfo[i][gMulti]/g_PartyData[taskid][Amount_In_Party

(22/05/2023, 07:14 PM)SVC escribió: Muestra el código completo de los combos (lo relacio al party), como lo incias, lo mostras y lo terminas.

el problema es al dividir la exp
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#8
(23/05/2023, 12:43 PM)Blackk escribió: el problema es al dividir la exp

Bueno en ese caso (ya que no conozco la rutina completa....), debuguea esta funcion Finish_Combo_Party:
Código PHP:
public Finish_Combo_Party(taskid)
{
 static 
miembromiembro ID_COMBOPARTY;
log_amx("Finish_Combo_Party() for 'miembro-id' %d"miembro)

 new 
i;

 for (
0sizeof(gComboInfo)-1i++)
 if (
gComboInfo[i][gCombos] > gCombo[miembro]) break;

 
// Y si queres dividir la ganancia de verdad > szBono = (gCombo[miembro] * gComboInfo[i][gMulti]) / total_de_miembros
 
static szBonoszBono gCombo[miembro] * gComboInfo[i][gMulti];

 
set_hudmessage(2552552550.450.2701.51.51.01.0)
 
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono))

 
gComboDamage[miembro] = 0;
 
gHits[miembro] = 0;
 
gCombo[miembro] = 0;
 
g_iAmmoPacks[miembro] += szBono;

 
UpdateLevel(miembro);


Y verifica que, se te este mostrando ese LOG a los jugadores en la party, una vez finalizado el combo
Responder
#9
bien ahora agarra, el tema es que me muestra las ganancias y total de ammopacks en 0 cuando finalizo el combo, pero la exp la divide
osea el hud sale primero y atrás sale otro diciendo q gane 0, como q se repite el msghud
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#10
Cambia este HUD:
Código PHP:
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono)) 
>>>>>


Muestralo asi y verificas si es la funcion Add_Point():
Código PHP:
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%d)^nRendimiento de %d^nTotal %d AmmoPacks^n",gCombo[miembro], gCombo[miembro] * 2szBono

Más no veo que este mal, pero como no veo todo el codigo del combo, no puedo saber si es desde otra parte que este teniendo ese problema...
Responder
#11
(23/05/2023, 08:14 PM)SVC escribió: Cambia este HUD:
Código PHP:
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%s)^nRendimiento de %s^nTotal %s AmmoPacks^n",Add_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono)) 
>>>>>


Muestralo asi y verificas si es la funcion Add_Point():
Código PHP:
ShowSyncHudMsg(miembrogCombopHud"Combo de party finalizado (%d)^nRendimiento de %d^nTotal %d AmmoPacks^n",gCombo[miembro], gCombo[miembro] * 2szBono

Más no veo que este mal, pero como no veo todo el codigo del combo, no puedo saber si es desde otra parte que este teniendo ese problema...

sigue igual, te paso el code de takedamage
Código PHP:
if (!g_PartyData[attacker][In_Party]) {    
            static 
szRewardszFlags;
            
szFlags get_user_flags(attacker)
            
            if (
szFlags STAFFszReward 
            
else if (szFlags ADMINszReward 3  
            
else if (szFlags VIP_FULLszReward 2  
            
else szReward gGananciaAdmingratis[attacker]
                
            
gDamageDealt[attacker] += floatround(damage)
            
gComboDamage[attacker] += floatround(damage)
            
gHits[attacker]++
            
UpdateLevel(attacker)
            
remove_task(attacker+TASK_COMBO)
                
    
            
g_iAmmoPacks[attacker] = clamp(g_iAmmoPacks[attacker], 574536200
            
            static 
szDamage
            if(
get_user_weapon(attacker) == CSW_DEAGLE && gDeagle[attacker]) szDamage 250 60
            
else if(get_user_weapon(attacker) == CSW_AWP && gM200[attacker]) szDamage 250 70
            
else if(gLevel[attacker][1] > 20szDamage 105 20 
            
else szDamage 100 gLevel[attacker][1] + 2            
            
while (gDamageDealt[attacker] >= szDamage) {
                
gCombo[attacker]+= szReward gLevel[attacker][1] + Ammount_Combaso(gMejorasT[attacker][1][1])
                
g_iAmmoPacks[attacker]++
                
gDamageDealt[attacker] -= szDamage
            
}
            new 
szComboDamage[10], szComboDamage2[10]
            
acortar(floatround(damage), szComboDamage9)
            
acortar2(gComboDamage[attacker], szComboDamage29
        
            for (new 
isizeof(gComboInfo) - 1i++) {
                if (
gCombo[attacker] >= gComboInfo[i][gCombos]) {
                    
set_hudmessage(gComboInfo[i][Rojo], gComboInfo[i][Verde], gComboInfo[i][Azul], gPosicionCombo2[attacker], gPosicionCombo[attacker], 01.51.51.01.0)
                    
ShowSyncHudMsg(attackergComboHud"Combo %s AmmoPacks^n%s %d hits %s de Daño^nhit %s de Daño" ,Add_Point(gCombo[attacker]),gComboInfo[i][gMessage], gHits[attacker], szComboDamage2szComboDamage)
                }
            }
            if(
gMejorasT[attacker][1][1]) set_task(5.0"Finish_Combo"attacker+TASK_COMBO)
            else 
set_task(4.0"Finish_Combo"attacker+TASK_COMBO)
            
            return 
HAM_IGNORED;
        }
        else if (
g_PartyData[attacker][In_Party]){
            new 
Players[32], Users
            get_party_index
(attackerPlayers)

            for (new 
ig_PartyData[attacker][Amount_In_Party]; i++) {
                
Users Players[i]

                
gDamageDealt[attacker] += floatround(damage)
                
gComboDamage[Users] += floatround(damage)

                
remove_task(Users+TASK_COMBO_PARTY)
                
g_iAmmoPacks[attacker] = clamp(g_iAmmoPacks[attacker], 574536200
                
UpdateLevel(Users)
                static 
szRewardszFlags;
                
szFlags get_user_flags(attacker)
            
                if (
szFlags STAFFszReward 
                
else if (szFlags ADMINszReward 
                
else if (szFlags VIP_FULLszReward 
                
else szReward gGananciaAdmingratis[attacker]
                
                static 
szDamage
                if(
get_user_weapon(attacker) == CSW_DEAGLE && gDeagle[attacker]) szDamage 250 60
                
else if(get_user_weapon(attacker) == CSW_AWP && gM200[attacker]) szDamage 250 70
                
else if(gLevel[attacker][1] > 20szDamage 105 20
                
else szDamage 100 gLevel[attacker][1] + 2
                
                
new szComboDamage[10], szComboDamage2[10]
                
                
acortar2(gComboDamage[Users], szComboDamage29
                
                new 
szComboPDamage[10]
                
acortar2(floatround(damage), szComboPDamage9)
                while (
gDamageDealt[attacker] >= szDamage) {
                    
gCombo[Users]+= szReward gLevel[attacker][1] + Ammount_Combaso(gMejorasT[attacker][1][1])
                    
g_iAmmoPacks[attacker]++
                    
gDamageDealt[attacker] -= szDamage
                
}
                for (new 
isizeof(gComboInfo); i++) {
                    if (
gCombo[Users] >= gComboInfo[i][gCombos]) {        
                        
set_hudmessage(gComboInfo[i][Rojo], gComboInfo[i][Verde], gComboInfo[i][Azul], gPosicionCombo2[attacker], gPosicionCombo[attacker], 01.51.51.01.0)
                        
ShowSyncHudMsg(UsersgCombopHud"        [PARTY]    ^nCombo %s AmmoPacks^n%s %s de Daño^nhit %s de Daño",Add_Point(gCombo[Users]),gComboInfo[i][gMessage], szComboDamage2szComboPDamage)

                    }        
                    
set_task(5.0"Finish_Combo_Party"Users+TASK_COMBO_PARTY)
                }
            }
        }
        return 
HAM_IGNORED
    


al cambiarlo así
Código PHP:
Color(miembro"!g%s!y Combo de party finalizado (%s) |Rendimiento de %s Total %s AmmoPacks ",g_szModPrefixAdd_Point(gCombo[miembro]), Add_Point(gCombo[miembro] * 2), Add_Point(szBono)) 
en consola me salta lo siguiente
Código PHP:
[ZTCombo de party finalizado (2.028Rendimiento de 4.056 Total 3.042 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
[ZTCombo de party finalizado (0Rendimiento de 0 Total 0 AmmoPacks 
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#12
A simple vista no veo nada malo con el codigo...

Cuando estas en PARTY, este HUD
Código PHP:
ShowSyncHudMsg(UsersgCombopHud"        [PARTY]    ^nCombo %s AmmoPacks^n%s %s de Daño^nhit %s de Daño",Add_Point(gCombo[Users]),gComboInfo[i][gMessage], szComboDamage2szComboPDamage

Se muestra correctamente?
Es decir, a todos los miembros le muestra lo mismo?

Por otro lado, puedes seguir debugeando la funcion Finish_Combo_Party mostrando qué valores tienen gCombo y demaces para cerciorar que al llamarse siguen teniendo los valores
Responder
#13
(23/05/2023, 09:00 PM)SVC escribió: A simple vista no veo nada malo con el codigo...

Cuando estas en PARTY, este HUD
Código PHP:
ShowSyncHudMsg(UsersgCombopHud"        [PARTY]    ^nCombo %s AmmoPacks^n%s %s de Daño^nhit %s de Daño",Add_Point(gCombo[Users]),gComboInfo[i][gMessage], szComboDamage2szComboPDamage

Se muestra correctamente?
Es decir, a todos los miembros le muestra lo mismo?

Por otro lado, puedes seguir debugeando la funcion Finish_Combo_Party mostrando qué valores tienen gCombo y  demaces para cerciorar que al llamarse siguen teniendo los valores

deje al bot combeando y me salio lo mismo, asique si, le muestra a todos lo mismo

https://ibb.co/nj3tRFD
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#14
Código PHP:
if (!g_PartyData[attacker][In_Party]) {    
            static 
szRewardszFlags;
            
szFlags get_user_flags(attacker)
            
            if (
szFlags STAFFszReward 
            
else if (szFlags ADMINszReward 3  
            
else if (szFlags VIP_FULLszReward 2  
            
else szReward gGananciaAdmingratis[attacker]
                
            
gDamageDealt[attacker] += floatround(damage)
            
gComboDamage[attacker] += floatround(damage)
            
gHits[attacker]++
            
UpdateLevel(attacker)
            
remove_task(attacker+TASK_COMBO)
                
    
            
g_iAmmoPacks[attacker] = clamp(g_iAmmoPacks[attacker], 574536200
            
            static 
szDamage
            if(
get_user_weapon(attacker) == CSW_DEAGLE && gDeagle[attacker]) szDamage 250 60
            
else if(get_user_weapon(attacker) == CSW_AWP && gM200[attacker]) szDamage 250 70
            
else if(gLevel[attacker][1] > 20szDamage 105 20 
            
else szDamage 100 gLevel[attacker][1] + 2            
            
while (gDamageDealt[attacker] >= szDamage) {
                
gCombo[attacker]+= szReward gLevel[attacker][1] + Ammount_Combaso(gMejorasT[attacker][1][1])
                
g_iAmmoPacks[attacker]++
                
gDamageDealt[attacker] -= szDamage
            
}
            new 
szComboDamage[10], szComboDamage2[10]
            
acortar(floatround(damage), szComboDamage9)
            
acortar2(gComboDamage[attacker], szComboDamage29
        
            for (new 
isizeof(gComboInfo) - 1i++) {
                if (
gCombo[attacker] >= gComboInfo[i][gCombos]) {
                    
set_hudmessage(gComboInfo[i][Rojo], gComboInfo[i][Verde], gComboInfo[i][Azul], gPosicionCombo2[attacker], gPosicionCombo[attacker], 01.51.51.01.0)
                    
ShowSyncHudMsg(attackergComboHud"Combo %s AmmoPacks^n%s %d hits %s de Daño^nhit %s de Daño" ,Add_Point(gCombo[attacker]),gComboInfo[i][gMessage], gHits[attacker], szComboDamage2szComboDamage)
                }
            }
            if(
gMejorasT[attacker][1][1]) set_task(5.0"Finish_Combo"attacker+TASK_COMBO)
            else 
set_task(4.0"Finish_Combo"attacker+TASK_COMBO)
            
            return 
HAM_IGNORED;
        }
        else if (
g_PartyData[attacker][In_Party]){
            new 
Players[32], Users
            get_party_index
(attackerPlayers)

            for (new 
ig_PartyData[attacker][Amount_In_Party]; i++) {
                
Users Players[i]

                
gDamageDealt[attacker] += floatround(damage)
                
gComboDamage[Users] += floatround(damage)

                
remove_task(Users+TASK_COMBO_PARTY)
                
g_iAmmoPacks[attacker] = clamp(g_iAmmoPacks[attacker], 574536200
                
UpdateLevel(Users)
                static 
szRewardszFlags;
                
szFlags get_user_flags(attacker)
            
                if (
szFlags STAFFszReward 
                
else if (szFlags ADMINszReward 
                
else if (szFlags VIP_FULLszReward 
                
else szReward gGananciaAdmingratis[attacker]
                
                static 
szDamage
                if(
get_user_weapon(attacker) == CSW_DEAGLE && gDeagle[attacker]) szDamage 250 60
                
else if(get_user_weapon(attacker) == CSW_AWP && gM200[attacker]) szDamage 250 70
                
else if(gLevel[attacker][1] > 20szDamage 105 20
                
else szDamage 100 gLevel[attacker][1] + 2
                
                
new szComboDamage[10], szComboDamage2[10]
                
                
acortar2(gComboDamage[Users], szComboDamage29
                
                new 
szComboPDamage[10]
                
acortar2(floatround(damage), szComboPDamage9)
                while (
gDamageDealt[attacker] >= szDamage) {
                    
gCombo[Users]+= szReward gLevel[attacker][1] + Ammount_Combaso(gMejorasT[attacker][1][1])
                    
g_iAmmoPacks[attacker]++
                    
gDamageDealt[attacker] -= szDamage
                
}
                for (new 
isizeof(gComboInfo); i++) {
                    if (
gCombo[Users] >= gComboInfo[i][gCombos]) {        
                        
set_hudmessage(gComboInfo[i][Rojo], gComboInfo[i][Verde], gComboInfo[i][Azul], gPosicionCombo2[attacker], gPosicionCombo[attacker], 01.51.51.01.0)
                        
ShowSyncHudMsg(UsersgCombopHud"        [PARTY]    ^nCombo %s AmmoPacks^n%s %s de Daño^nhit %s de Daño",Add_Point(gCombo[Users]),gComboInfo[i][gMessage], szComboDamage2szComboPDamage)

                    }        
remove_task(Users+TASK_COMBO_PARTY// checa             
set_task(5.0"Finish_Combo_Party"Users+TASK_COMBO_PARTY)
                }
            }
        }
        return 
HAM_IGNORED
    

Responder
#15
lmao, gracias xdDDdd
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#16
(24/05/2023, 01:45 AM)Blackk escribió: lmao, gracias xdDDdd

Estoy desde el tlf
La parte del combo para un jugador sin party también necesita que hagas lo mismo.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)