15.04.2010, 13:56
(
Последний раз редактировалось ipsBruno; 08.10.2010 в 23:41.
)
Por DraKiNs
Introduзгo:
Olб hoje farei um Tutorial de como detectar aquele Bug da Eagle que й muito usado em server A/D para melhor precisгo e tiro mais rбpido da arma. [Ver Vнdeo Abaixo para melhor entender]
Comeзando:
Para comeзarmos precisamos usar uma Macro para detectar se o player estб clicando constantemente no Mouse, pois o Bug й feito desta forma
Topo GameMode:
pawn Код:
#define CLICANDO(%0) \
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
new TimerBug[500];
TimerBug = Array do Timer
Final GameMode:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPlayerWeapon(playerid) == 24 && CLICANDO(KEY_FIRE))
{
SetPVarInt(playerid,"UsandoBug",10);
TimerBug[playerid] = SetTimerEx("Tempo",1000,0,"i",playerid);
}
if(GetPVarInt(playerid,"UsandoBug") == 10 && newkeys != KEY_FIRE && newkeys & KEY_CROUCH)
{
SendClientMessage(playerid,COLOR,"Nгo use Bug da Eagle");
SetPVarInt(playerid,"UsandoBug",0);
KillTimer(TimerBug[playerid]);
}
return true;
}
SetPVarInt = Seta uma Variбvel para checar posteriormente
CLICANDO = Vк se o player esta Atirando
SetTimerEx = Tempo para remover Array do player
GetPVarInt = Pega a Array [definida ao clicar fire]
newkeys != KEY_FIRE == Vк se o player nгo esta atirando
newkeys & KEY_CROUCH = Vк se o player esta pressonando 'c' [usada no bug]
SendClientMessage = Envia mensagem
KillTimer = Termina o Timer para resetar Bug
Mais no Final:
pawn Код:
forward Tempo(playerid);
public Tempo(playerid)
{
SetPVarInt(playerid,"UsandoBug",10);
return true;
}
SetPVarInt = Defini o USANDONUG para '0'
Vнdeo do Bug
[ame]http://www.youtube.com/watch?v=D5o5ziF2ehQ&feature=related[/ame]