Quitar oro al ingresar a torneo automatico

Estado
Cerrado para nuevas respuestas.

Khardus

Newbie Lvl 6
hola a todos, bueno quisiera saber como hacer que cuando alguien participe en el evento osea cuando pone /PARTICIPAR, le reste 100k de oro.

yo abajo del case participar puse:


Case "/PARTICIPAR"

If UserList(userindex).Stats.GLD >= 100000 Then
refError = "Necesitas 100000 monedas de oro para participar."
UserList(userindex).Stats.GLD = UserList(userindex).Stats.GLD - 100000
End If

pero me salta error en REFERROR = , Como seria para q le reste 100k?

gracias y cuidense
 

-GanjaH^

Semper Widia Staff
refError ? :|, que flashaste jajaja.. acá te lo dejo funcional ;)

Código:
Case "/PARTICIPAR"
 
If UserList(userindex).Stats.GLD >= 100000 Then
senddata sendtarget.toindex,userindex,0,"||Necesitas 100000 monedas de oro para participar." & fonttype_info
exit sub
 
else
 
UserList(userindex).Stats.GLD = UserList(userindex).Stats.GLD - 100000
end if
exit sub
 

Mafia

Juree!
Agregale : SendUserStatsBox userindex << Para que actualize antes del end if ponelo
 

Khardus

Newbie Lvl 6
waw puse eso abajo del case y me arruino el codigo por completo

ahora no me deja ni poner /participar. encima cuando pongo participar en el label del oro del frmain aparece -100000 . que raro. alguno sabe como hacer q te descuente 100k al particpar???
 

Mafia

Juree!
Khardus dijo:
waw puse eso abajo del case y me arruino el codigo por completo

ahora no me deja ni poner /participar. encima cuando pongo participar en el label del oro del frmain aparece -100000 . que raro. alguno sabe como hacer q te descuente 100k al particpar???
Aver men, el codigo que te dieron esta bien hecho, si a vos no te da la cabeza o no sabes donde ubicarlo no es nuestro provlema.
 

Khardus

Newbie Lvl 6
Flaco no bardies estoy aprendiendo a programar. puse eso abajo del case y me arruino el comando. cada ves que alguien pone /participar. en el label de la billetera le aparece -100000 . aca el unico enfermo sos vos
 

-GanjaH^

Semper Widia Staff
Khardus dijo:
Flaco no bardies estoy aprendiendo a programar. puse eso abajo del case y me arruino el comando. cada ves que alguien pone /participar. en el label de la billetera le aparece -100000 . aca el unico enfermo sos vos
Jajaja, aver, mostrame como te quedó todo el comando.
 

Khardus

Newbie Lvl 6
emm, mira ganjah , uso revival , estoy optimizando el sistema de torneos automaticos , aca va el case ,


Case "/PARTICIPAR"

If UserList(userindex).Stats.GLD >= 100000 Then
senddata sendtarget.toindex,userindex,0,"||Necesitas 100000 monedas de oro para participar." & fonttype_info
exit sub

else

UserList(userindex).Stats.GLD = UserList(userindex).Stats.GLD - 100000
end if
exit sub

If MapInfo(UserList(userindex).pos.Map).Pk = True Then
Call SendData(SendTarget.toindex, userindex, 0, "||Debes estar en zona segura para poder ir a eventos." & FONTTYPE_INFO)
Exit Sub
End If
If UserList(userindex).flags.Invisible = 1 Then
Call SendData(SendTarget.toindex, userindex, 0, "||No puedes ir a eventos estando invisible!." & FONTTYPE_WARNING)
Exit Sub
End If
If UserList(userindex).flags.Oculto = 1 Then
Call SendData(SendTarget.toindex, userindex, 0, "||No puedes ir a eventos estando invisible!." & FONTTYPE_WARNING)
Exit Sub
End If
If UserList(userindex).flags.Muerto = 1 Then
Call SendData(SendTarget.toindex, userindex, 0, "||Estas muerto!!!" & FONTTYPE_INFO)
Exit Sub
End If
If UserList(userindex).Stats.ELV < 25 Then
Call SendData(toindex, userindex, 0, "||Debes ser nivel 25 o superior para ingresar al evento!." & FONTTYPE_INFO)
Exit Sub
End If
Call Torneos_Entra(userindex)
Exit Sub

y cuando pongo /PARTICIPAR, En el label del oro (del cliente) en la billetera aparece -100000 , y si vuelvo a poner /PARTICIPAR, sube a -200000 , no entiendo qe me hisistes poner :p..

lo q necesito seriá que le saque 100k al ingresar al torneo automatico
 

-GanjaH^

Semper Widia Staff
Jajaja, te lo habia pasado mal xD.. acá te lo dejo bien.

Reemplazá todo el case, por esté:


Código:
Case "/PARTICIPAR"
 
If MapInfo(UserList(userindex).pos.Map).Pk = True Then
Call SendData(SendTarget.toindex, userindex, 0, "||Debes estar en zona segura para poder ir a eventos." & FONTTYPE_INFO)
Exit Sub
End If
 
If UserList(userindex).flags.Invisible = 1 or userlist(userindex).flags.oculto = 1 Then
Call SendData(SendTarget.toindex, userindex, 0, "||No puedes ir a eventos estando invisible!." & FONTTYPE_WARNING)
Exit Sub
End If
 
If UserList(userindex).flags.Muerto = 1 Then
Call SendData(SendTarget.toindex, userindex, 0, "||Estas muerto!!!" & FONTTYPE_INFO)
Exit Sub
End If
If UserList(userindex).Stats.ELV <= 25 Then
Call SendData(toindex, userindex, 0, "||Debes ser nivel 25 o superior para ingresar al evento!." & FONTTYPE_INFO)
Exit Sub
End If
 
If UserList(userindex).Stats.GLD < 100000 Then
senddata sendtarget.toindex,userindex,0,"||Necesitas 100.000 monedas de oro para participar." & fonttype_info
exit sub
 
else
 
UserList(userindex).Stats.GLD = UserList(userindex).Stats.GLD - 100000
 SendUserStatsBox userindex
 
end if
 
Call Torneos_Entra(userindex)
Exit Sub
Listo, ahora si te va a andar xD..
 

Khardus

Newbie Lvl 6
Ahora si funcioná, esté mafia es un entrometido se meté y no aporta ayuda, gracias ganjah =)

era lo mismo pero lo tenia que poner antes del exit sub?
 

Reicko

Engineering Manager @ Tienda Nube
Ex-Staff
If UserList(userindex).Stats.GLD >= 100000 Then
senddata sendtarget.toindex,userindex,0,"||Necesitas 100000 monedas de oro para participar." & fonttype_info
exit sub

else

UserList(userindex).Stats.GLD = UserList(userindex).Stats.GLD - 100000
end if
exit sub

Lo que marqué en rojo estaba mal. Pensá que lo que estabas poniendo es que si el oro del usuario era MAYOR a 100k que tire el mensaje que necesitas 100k para participar, caso contrario si el oro del usuario era MENOR te restaba los 100k y por eso te quedaba en negativo.

Fuera de que tambien primero tomaba en cuenta si tenias el oro y despues hacia el resto de los chequeos para ver si podias entrar. Entonces si vos tenias el oro pero estabas muerto, te sacaba el oro e igualmente no te dejaba entrar.
 
Estado
Cerrado para nuevas respuestas.
Arriba