Raised This Month: $ Target: $400
 0% 

Bug throwing_knives


  
 
 
Thread Tools Display Modes
Author Message
Marcelo21
Member
Join Date: Mar 2010
Location: Argentina
Old 01-01-2012 , 15:44   Bug throwing_knives
#1

Resulta que tengo un bug con este plugin y necesito que me de una ayuda, pasa que cuando ponen a correr una demo le vuelve dar cuchillos y si paran la dem y vuelve a ejecutar el comando record le vuelve a dar los cuchillos y simplemente con un bind pueden tener cuchillos infinitos.. por eso necesito una solucion que no sea sacar el plugin ^^..
Marcelo21 is offline
Send a message via MSN to Marcelo21 Send a message via Skype™ to Marcelo21
fearAR
Veteran Member
Join Date: Oct 2010
Old 01-02-2012 , 09:01   Re: Bug throwing_knives
#2

El problema esta en alguna de estas funciones debido a que la variable que contiene el numero de municiones para los cuchillos lanzables, es unicamente alternada en estas 2 funciones.

PHP Code:
public new_spawn(id) {

    if(
knifeammo[id] < get_cvar_num("amx_knifeammo")) knifeammo[id] = get_cvar_num("amx_knifeammo")
    if(
knifeammo[id] > get_cvar_num("amx_maxknifeammo")) knifeammo[id] = get_cvar_num("amx_maxknifeammo")
    
tossdelay[id] = 0.0
}

public 
client_connect(id) {

    
knifeammo[id] = get_cvar_num("amx_knifeammo")
    
holdammo[id] = 0
    tossdelay
[id] = 0.0
    knifeout
[id] = false

Me parece que el problema esta en la función new_spawn, ya que se refiere al evento "ResetHUD", el cual es llamado cuando el HUD que indica el time de la ronda, es reseteado o devuelto a "00:00", debe de haber alguna interferencia entre los cambios de este evento con el comando de DEMO, es así que te recomiendo que hagas esto.

No es la mejor forma, debido a que utilizaremos una librería solamente para utilizar una función de ella, pero te doy una idea, si no busca un evento/message/función que se asimile al respawn de un player, y que se ubique sobre un solo objetivo, es decir que mediante esta función consigas ejecutarla una sola vez por jugador.

PHP Code:

// plugin_init

RegisterHam(Ham_Spawn"player""fw_PlayerSpawn");

// Luego

public fw_PlayerSpawnplr )
{
       if(
knifeammo[plr] < get_cvar_num("amx_knifeammo")) knifeammo[plr] = get_cvar_num("amx_knifeammo")
    if(
knifeammo[plr] > get_cvar_num("amx_maxknifeammo")) knifeammo[plr] = get_cvar_num("amx_maxknifeammo")
    
tossdelay[plr] = 0.0

Debes borrar el registro del evento "ResetHUD" y la función por completo "new_spawn".

Saludos.
__________________
~~~~ NPC AI ~~~~

[ Pathfinding - OK ]
[ Citizen AI - OK ]
[ Handle Weapons - --- ]
fearAR is offline
Send a message via MSN to fearAR
Marcelo21
Member
Join Date: Mar 2010
Location: Argentina
Old 01-02-2012 , 12:32   Re: Bug throwing_knives
#3

Quote:
Originally Posted by fearAR View Post
El problema esta en alguna de estas funciones debido a que la variable que contiene el numero de municiones para los cuchillos lanzables, es unicamente alternada en estas 2 funciones.

PHP Code:
public new_spawn(id) {

    if(
knifeammo[id] < get_cvar_num("amx_knifeammo")) knifeammo[id] = get_cvar_num("amx_knifeammo")
    if(
knifeammo[id] > get_cvar_num("amx_maxknifeammo")) knifeammo[id] = get_cvar_num("amx_maxknifeammo")
    
tossdelay[id] = 0.0
}

public 
client_connect(id) {

    
knifeammo[id] = get_cvar_num("amx_knifeammo")
    
holdammo[id] = 0
    tossdelay
[id] = 0.0
    knifeout
[id] = false

Me parece que el problema esta en la función new_spawn, ya que se refiere al evento "ResetHUD", el cual es llamado cuando el HUD que indica el time de la ronda, es reseteado o devuelto a "00:00", debe de haber alguna interferencia entre los cambios de este evento con el comando de DEMO, es así que te recomiendo que hagas esto.

No es la mejor forma, debido a que utilizaremos una librería solamente para utilizar una función de ella, pero te doy una idea, si no busca un evento/message/función que se asimile al respawn de un player, y que se ubique sobre un solo objetivo, es decir que mediante esta función consigas ejecutarla una sola vez por jugador.

PHP Code:

// plugin_init

RegisterHam(Ham_Spawn"player""fw_PlayerSpawn");

// Luego

public fw_PlayerSpawnplr )
{
       if(
knifeammo[plr] < get_cvar_num("amx_knifeammo")) knifeammo[plr] = get_cvar_num("amx_knifeammo")
    if(
knifeammo[plr] > get_cvar_num("amx_maxknifeammo")) knifeammo[plr] = get_cvar_num("amx_maxknifeammo")
    
tossdelay[plr] = 0.0

Debes borrar el registro del evento "ResetHUD" y la función por completo "new_spawn".

Saludos.

Gracias ^^ funciono.
Marcelo21 is offline
Send a message via MSN to Marcelo21 Send a message via Skype™ to Marcelo21
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:01.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode