[Ajuda]Anti C-Bug -
Felipe_Wesker - 27.02.2012
Eae galera, eu to com um FS aqui que serve de anti c-bug, para os players n bugarem mais a eagle e tal, sу q ele detecta o bug, e levanta o player 1m de altura, fazendo com q o player n possa atirar, pq ele vai estar no ar, mas eu quero mudar isso, eu qro por pra q quando o player faзa c-bug ele seje congelado por 5 segundos e apareзa a mensagem no chat dizendo para ele n fazer mais o bug.
[FS]:
Код:
#include <a_samp>
/*
*
* "Anti C-Bug"
*
*
*/
stock
AG_fireTick[MAX_PLAYERS],
AG_crouchTick[MAX_PLAYERS]
;
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE)) {
switch(GetPlayerWeapon(playerid)) {
case 22 .. 25, 27, 29 .. 31, 33, 34: { //Weapons ID
AG_fireTick[playerid] = GetTickCount();
}
}
}
}
public OnPlayerUpdate(playerid) {
new
iVar = GetTickCount()
;
if(((iVar - AG_fireTick[playerid]) < 520 && (AG_crouchTick[playerid] < iVar) && (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK))) {
switch(GetPlayerCameraMode(playerid)) {
case 4, 53, 7: {
new
iKey,
iCheck
;
GetPlayerKeys(playerid, iKey, iCheck, iCheck);
if((iKey & KEY_CROUCH)) {
AG_crouchTick[playerid] = iVar + 520;
CallRemoteFunction("OnPlayerGlitch", "i", playerid);
}
}
}
}
}
forward OnPlayerGlitch(playerid);
public OnPlayerGlitch(playerid) {
new
Float:fCoords[3]
;
GetPlayerPos(playerid, fCoords[0], fCoords[1], fCoords[2]);
SetPlayerPos(playerid, fCoords[0], fCoords[1], fCoords[2] + 1.0);
}
й aqui no final que estб a parte em q o player й jogado pro alto e talz, eu qro tirar isso e por sу para ele ser congelado sem poder se mover ou atirar
Re: [Ajuda]Anti C-Bug -
Biel_Eu - 27.02.2012
Copia isso:
pawn Код:
public OnPlayerGlitch(playerid)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,-1,"Congelado por BUG do C!");
return 1;
}
@EDIT: Para descongela-lo apos 10 segundos:
pawn Код:
forward Descongelar(playerid);
public Descongelar(playerid);
{
TogglePlayerControllable(playerid,1);
return 1;
}
public OnPlayerGlitch(playerid)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,-1,"Congelado por BUG do C!");
SetTimer("Descongelar",10000,0);
return 1;
}
@EDIT:
Caso queria trocar para 5 segundos, em vez de SetTimer("Descongelar",10000,0);, coloque SetTimer("Descongelar",5000,0);
Re: [Ajuda]Anti C-Bug -
Kmatsu - 27.02.2012
Biel vocк testou o codigo?
Nao tem como enviar parametros no SetTimer, apenas no SetTimerEx
troque o
pawn Код:
SetTimer("Descongelar",10000,0);
por:
pawn Код:
SetTimerEx("Descongelar", 10000, false, "i", playerid);
Re: [Ajuda]Anti C-Bug -
Biel_Eu - 27.02.2012
Nao precisa porque la no Descongelar Ja Fala que eh o playerid.
Praq especificar ele denovo?
Re: [Ajuda]Anti C-Bug -
paulor - 27.02.2012
Quote:
Originally Posted by Biel_Eu
Nao precisa porque la no Descongelar Ja Fala que eh o playerid.
Praq especificar ele denovo?
|
Nгo fale oq vc nгo sabe!
Vc ta usando o timer para executar a funзгo e esta funзгo precisa do ID do player para funcionar entao vc usa o SetTimerEx para especificar os argumentos q a funзгo pede!
Re: [Ajuda]Anti C-Bug -
Biel_Eu - 27.02.2012
Paulor, em 1o lugar venho lhe agradecer pelo seu post la no /dono e /lider, porque acabei de testar com meu amigo e deu certo.
Agora quanto a isso mano, eu nunca usei SetTimerEx e sempre funfo meus baguio no meu GM.
Re: [Ajuda]Anti C-Bug -
Kmatsu - 27.02.2012
Quote:
Originally Posted by Biel_Eu
Paulor, em 1o lugar venho lhe agradecer pelo seu post la no /dono e /lider, porque acabei de testar com meu amigo e deu certo.
Agora quanto a isso mano, eu nunca usei SetTimerEx e sempre funfo meus baguio no meu GM.
|
vocк ja testou em um servidor com 3 pessoas online?
Re: [Ajuda]Anti C-Bug -
Lуs - 27.02.2012
Quote:
Originally Posted by Biel_Eu
Paulor, em 1o lugar venho lhe agradecer pelo seu post la no /dono e /lider, porque acabei de testar com meu amigo e deu certo.
Agora quanto a isso mano, eu nunca usei SetTimerEx e sempre funfo meus baguio no meu GM.
|
І
Re: [Ajuda]Anti C-Bug -
Felipe_Wesker - 27.02.2012
Ta tendo uma briga aqui, nem consegui ler tudo, galera ainda tem aquela parte no script q levanta o cara pra cima, eu nao sei oq devo tirar e oque n devo, alguem ai pf n pode remover aquela parte e por essa do descongelar? vlws
Re: [Ajuda]Anti C-Bug -
humildadeforever - 27.02.2012
Quote:
Originally Posted by Biel_Eu
Paulor, em 1o lugar venho lhe agradecer pelo seu post la no /dono e /lider, porque acabei de testar com meu amigo e deu certo.
Agora quanto a isso mano, eu nunca usei SetTimerEx e sempre funfo meus baguio no meu GM.
|
Com o SetTimer, as funзхes que estarгo na public chamada, serб feita para todos players do servidor, exemplo, se vocк cria um SetTimer chamando uma public pra quando um player conectar, e nessa public ter SendClientMessage ou ShowPlayerDialog falando sobre as regras do servidor, essas mensagens, ou esse dialog aparecerб para todos!