[AJUDA]Bugs.. -
Victor_Souz4 - 05.12.2011
1є- Ola galera o pharrel criou um comando para mim de veiculos ex: /v [id] [cor1] [cor2] ate ai funciona perfeitamente cria o carro com a cor certinha mais as vezes quando crio um carro ai o outro player cria tbm o meu some eo dele aparece oque poderia ser isso ?
2є- Esse bug e com o anti-cheat ele kicka o xiter depois ele comeзa kickar varios players que entra no servidor..
1є:
pawn Код:
//topo
new VeiculoCriado [MAX_PLAYERS];
if(strcmp(cmd, "/v", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(id < 400 || id > 611 || id == 425 || id == 520 || id == 432) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}ID invalido ou estб bloqueado os ids sгo de 400 atй 611.");
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor2 = strval(tmp);
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(VeiculoCriado[playerid] != 0) DestroyVehicle(VeiculoCriado[playerid]);
VeiculoCriado[playerid] = CreateVehicle(id, Pos[0], Pos[1], Pos[2], 0.0, cor1, cor2, -1);
PutPlayerInVehicle(playerid, VeiculoCriado[playerid], 0);
new string[100];
format(string, sizeof(string), "{EE3B3B}[INFO]: {FFFFFF}Veiculo ''{EE3B3B} %d {FFFFFF}'' criado com sucesso.", id);
SendClientMessage(playerid, 0xFF0000AA,string);
return 1;
}
public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(oldstate == PLAYER_STATE_DRIVER) {
if(VeiculoCriado[playerid] != 0)
DestroyVehicle(VeiculoCriado[playerid]);
}
return 1;
}
2є:
pawn Код:
stock AntiCheatUpdate(playerid)
{
new slot = GetMaxPlayers();
while(slot--) {
if(IsPlayerConnected(slot) && !IsPlayerAdmin(slot) && !GetPVarInt(playerid, "BlockCheat")) {
new pName[MAX_PLAYER_NAME];
new ArmaNome[35];
new string[128];
GetPlayerName(slot, pName, sizeof(pName));
switch(GetPlayerWeapon(slot)) {
case 17: ArmaNome = #Granada de Gбs;
case 18: ArmaNome = #Molotov Cocktail;
case 35: ArmaNome = #Lanзador de Mнsseis;
case 36: ArmaNome = #Lanзador de Mнsseis Automбtico;
case 37: ArmaNome = #Lanзador de Chamas;
case 38: ArmaNome = #Minigun;
case 39: ArmaNome = #Carga Explosiva;
case 40: ArmaNome = #Detonador;
case 44: ArmaNome = #Visгo Noturna;
case 45: ArmaNome = #Visгo Tйrmica;
default: goto stop;
}
format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(%s)",pName,ArmaNome);
SendClientMessageToAll(0xFF0000AA,string);
Kick(slot);
stop:
}
}
return true;
}
forward OnPlayerUpdateCheat(playerid);
public OnPlayerUpdateCheat(playerid)
{
AntiCheatUpdate(playerid);
return 1;
}
//onplayerconnect
UpdateCheat[playerid] = SetTimerEx("OnPlayerUpdateCheat",1000,1,"i",playerid);
SetPVarInt(playerid, "BlockCheat", true);
//onplayerspawn
SetPVarInt(playerid, "BlockCheat", false);
Re: [AJUDA]Bugs.. -
whiXґ - 05.12.2011
nao vejo erro algum..
Respuesta: [AJUDA]Bugs.. -
ErickOwnZ - 06.12.2011
Fiz um rapidinho para vocк.. basta adaptar oque vocк precisa nele..
pawn Код:
if(strcmp(cmd, "/v", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){ SendClientMessage(playerid, -1, "USE: /v [ID DO VEICULO] [COR 1] [COR 2]");return 1;}
new veiculo;
veiculo = strval(tmp);
if(veiculo < 400 || veiculo > 611 || veiculo == 425 || veiculo == 520 || veiculo == 432) { SendClientMessage(playerid, -1, "O ID do veнculo nгo pode ser inferior a 400 nem superior a 611!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_GRAD2, "USE: /v [ID DO VEICULO] [COR 1] [COR 2]"); return 1; }
new COR1;
COR1 = strval(tmp);
if(COR1 < 0 || COR1 > 255) { SendClientMessage(playerid, -1, "O nъmero da Cor 1 nгo pode ser menor a 1 nem maior a 255!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {SendClientMessage(playerid, -1, "USE: /v [ID DO VEICULO] [COR 1] [COR 2]"); return 1; }
new COR2;
COR2 = strval(tmp);
if(COR2 < 0 || COR2 > 255) { SendClientMessage(playerid, -1, "O nъmero da Cor 2 nгo pode ser menor a 1 nem maior a 255!"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carro = AddStaticVehicle(carro, X,Y,Z, 0.0, COR1, COR2);
format(string, sizeof(string), "Carro %d criado com sucesso.", carro);
}
return 1;
}
Re: [AJUDA]Bugs.. -
StrondA_ - 06.12.2011
Pronto Manolo.
pawn Код:
new VeiculoCriado[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
DeletarCarro(playerid);
return 1;
}
if(strcmp(cmd, "/v", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(id < 400 || id > 611 || id == 425 || id == 520 || id == 432) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}ID invalido ou estб bloqueado os ids sгo de 400 atй 611.");
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor2 = strval(tmp);
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(VeiculoCriado[playerid] != 0) DestroyVehicle(VeiculoCriado[playerid]);
VeiculoCriado[playerid] = CreateVehicle(id, Pos[0], Pos[1], Pos[2], 0.0, cor1, cor2, -1);
PutPlayerInVehicle(playerid, VeiculoCriado[playerid], 0);
new string[100];
format(string, sizeof(string), "{EE3B3B}[INFO]: {FFFFFF}Veiculo ''{EE3B3B} %d {FFFFFF}'' criado com sucesso.", id);
SendClientMessage(playerid, 0xFF0000AA,string);
return 1;
}
stock DeletarCarro(playerid)
{
if(VeiculoCriado[playerid] != 0) DestroyVehicle(VeiculoCriado[playerid]);
return true;
}
// AntiArmas
public OnPlayerUpdate(playerid)
{
new string[128];
if(GetPlayerWeapon(playerid) == 17) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Granada de Gбs)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 18) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Molotov Cocktail)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 35) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Lanзador de Mнsseis)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 36) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Lanзador de Mнsseis Automбtico)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 37) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Lanзador de Chamas)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 38) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Minigun)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 39) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Carga Explosiva)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 40) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Detonador)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 44) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Visгo Noturna)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
if(GetPlayerWeapon(playerid) == 45) return format(string,128,"{F9FAF5}[Anti-Cheat]: {F7AF05}%s foi kickado por usar arma proibida! {F9FAF5}(Visгo Tйrmica)", pName), SendClientMessageToAll(0xFF0000AA,string), Kick(playerid);
return true;
}
Re: [AJUDA]Bugs.. -
|_MeGaTroN_| - 06.12.2011
OnPlayerUpdate nao ira lagar o servidor ?
Re: [AJUDA]Bugs.. -
ReDKiiL - 06.12.2011
nem.
Re: [AJUDA]Bugs.. -
Victor_Souz4 - 06.12.2011
Funcinou agora outro bug. O bug e o seguinte eu crio um veiculo com o comando /v ate ai tudo certo cria o veiculo sertin mais quando qualquer player comete DB o meu veiculo evapora..
pawn Код:
new playerState = GetPlayerState(killerid);
if (playerState == PLAYER_STATE_PASSENGER || playerState == PLAYER_STATE_DRIVER) {
//Funзoes aqui!
}
pawn Код:
new VeiculoCriado[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
DeletarCarro(playerid);
return 1;
}
if(strcmp(cmd, "/v", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(id < 400 || id > 611 || id == 425 || id == 520 || id == 432) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}ID invalido ou estб bloqueado os ids sгo de 400 atй 611.");
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{EE3B3B}[INFO]: {FFFFFF}/V [ID] [cor1] [cor2]");
new cor2 = strval(tmp);
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(VeiculoCriado[playerid] != 0) DestroyVehicle(VeiculoCriado[playerid]);
VeiculoCriado[playerid] = CreateVehicle(id, Pos[0], Pos[1], Pos[2], 0.0, cor1, cor2, -1);
PutPlayerInVehicle(playerid, VeiculoCriado[playerid], 0);
new string[100];
format(string, sizeof(string), "{EE3B3B}[INFO]: {FFFFFF}Veiculo ''{EE3B3B} %d {FFFFFF}'' criado com sucesso.", id);
SendClientMessage(playerid, 0xFF0000AA,string);
return 1;
}
stock DeletarCarro(playerid)
{
if(VeiculoCriado[playerid] != 0) DestroyVehicle(VeiculoCriado[playerid]);
return true;
}