[Aportes indexados] Cuando morís perdés experiencia.

Estado
Cerrado para nuevas respuestas.

Amraphen

Aprendiz Lvl 6
[AO] Cuando morís perdés experiencia.

Bueno, hice este código a pedido de un usuario, en otro thread, el cual no respondí, ya que pensé que sería más organizado colocarlo bajo un TAG y así mantener el foro organizado.

Bien, sin más que decir, seguimos con el motivo principal del post:

Buscamos en el servidor, dentro del modulo UsUaRiOs (Modulo_UsUaRiOs.bas) el siguiente sub:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1"><span style="color: #b1b100;">Sub</span> UserDie<span style="color: #66cc66;">(</span>ByVal UserIndex <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Integer</span><span style="color: #66cc66;">)</span></li><li style="" class="li2"> </li></ol></div>[/vb]

Dentro de ese sub, buscamos la siguiente línea:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1">UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">flags</span>.<span style="color: #66cc66;">Muerto</span> = <span style="color: #cc66cc;">1</span></li><li style="" class="li2"> </li></ol></div>[/vb]

Y debajo de esa misma línea colocamos el siguiente código:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1">UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> = Round<span style="color: #66cc66;">(</span>UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> - <span style="color: #66cc66;">(</span><span style="color: #66cc66;">(</span>UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> * <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">)</span> / <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></li><li style="" class="li2"> </li></ol></div>[/vb]

En ese caso, el usuario pierde un 4% de su experiencia actual. Pueden cambiarlo a gusto.

Espero que les haya servido!
 

zapato

STAND BY!
Re: [AO] Cuando morís perdés experiencia.

Amraphen dijo:
Bueno, hice este código a pedido de un usuario, en otro thread, el cual no respondí, ya que pensé que sería más organizado colocarlo bajo un TAG y así mantener el foro organizado.

Bien, sin más que decir, seguimos con el motivo principal del post:

Buscamos en el servidor, dentro del modulo UsUaRiOs (Modulo_UsUaRiOs.bas) el siguiente sub:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1"><span style="color: #b1b100;">Sub</span> UserDie<span style="color: #66cc66;">(</span>ByVal UserIndex <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Integer</span><span style="color: #66cc66;">)</span></li><li style="" class="li2"> </li></ol></div>[/vb]

Dentro de ese sub, buscamos la siguiente línea:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1">UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">flags</span>.<span style="color: #66cc66;">Muerto</span> = <span style="color: #cc66cc;">1</span></li><li style="" class="li2"> </li></ol></div>[/vb]

Y debajo de esa misma línea colocamos el siguiente código:

[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1">UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> = UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> - <span style="color: #66cc66;">(</span><span style="color: #66cc66;">(</span>UserList<span style="color: #66cc66;">(</span>UserIndex<span style="color: #66cc66;">)</span>.<span style="color: #66cc66;">Stats</span>.<span style="color: #b1b100;">Exp</span> * <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">)</span> / <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">)</span></li><li style="" class="li2"> </li></ol></div>[/vb]

En ese caso, el usuario pierde un 4% de su experiencia actual. Pueden cambiarlo a gusto.

Espero que les haya servido!

Doy una sugerencia: mientras mas lvl, mas % se pierde, :wink:
 
W

Wolftein

Invitado
Pocho dijo:
pone que si usuario.exp - el 4%, es menor o igual a 0 entonces

usuario.exp = 0


;)

Nunca Va A Ser Menor q 0 porque es el 4% de la exp actual no de la del maxexp
 

Amraphen

Aprendiz Lvl 6
Pocho dijo:
pone que si usuario.exp - el 4%, es menor o igual a 0 entonces

usuario.exp = 0


;)

No hace falta, ya que si vos haceés 0 - ((0 * 4) / 100) es igual a 0, ya que simplificando te da 0 - 0 ya que multiplicar por 0 es igual a cero y dividir es multiplicar por el recíproco, o sea que tenemos que multiplicar 0 por otro número lo que nos dará nuevamente 0, por lo tanto al tener 0 de exp pierde 0, o sea que no pierde.

Pero igual tengo que arreglar una línea (la ultima porción que dejé de código, ya que no se que puede pasar y la cambio por las dudas). Fijense que está arreglado en el primer post desde este momento.

Saludos.
 

Amraphen

Aprendiz Lvl 6
Wolftein dijo:
DarkMage dijo:
pero de esa forma no podrian dar valores con decimales? como 109,53?

Existe La Funcion FIX :p Convierte Por ejemplo de 104.43 a 104 :p

Justo cuando postee mi ultimo post, no ví el que posteo DarkMage, asi que ahora redondee (ojo, no usé FIX), así que el código está ahora actualizado y funcionando.

Saludos!
 

Amraphen

Aprendiz Lvl 6
Redondea según la ley de redondeo, o sea:

0,4 redondea a 0
0,5 redondea a 1
0,6 redondea a 1

O sea, si la última cifra significativa es menor que 5 redondea para abajo, sino redondea para arriba.

Saludos
 
Estado
Cerrado para nuevas respuestas.
Arriba