31/08/2021 09:39
(31/08/2021 09:18)Lightz/Conta nova Escreveu:infelizmente nao faco ideia do que to fazendo =( tentei de algumas maneiras, a ultima foi essa, provavelmente ta tudo errado, mas to tentando:(31/08/2021 09:09)lilpretovisk Escreveu:(31/08/2021 09:05)Lightz/Conta nova Escreveu:nao entendi muito bem, ficar afk ou se mover nao seria um coordenadas diferentes? ou em si esse script puxa qualquer coordenada?(31/08/2021 01:34)lilpretovisk Escreveu:(31/08/2021 01:21)xbruno1000x Escreveu: O que aconteceu é que eu fiz o código enquanto estava em aula e não prestei atenção a todos os detalhes kkkkkkkkkkkkk
Código:if(!IsPlayerInRangeOfPoint(playerid, 1.0, X, Y, Z))
Eu errei o operador da if, o código seria lido em caso do jogador estar dentro da posição do spawn, quando na verdade precisamos que o código seja lido quando ele não estiver. Basta mudar o operador como fiz acima e tudo funcionará corretamente.
o problema agora que menos parado esta contabilizando que se mexeu, tentei mudar os valores das coordenadas e nao resolveu
Irei mandar uma base ai você tenta adaptar, se não conseguir fala ai que nois da um jeito
Código PHP:new Float:AFKPos[MAX_PLAYERS][6];
OnPlayerConnect(playerid)
{
SetTimerEx("VerificarAFK", 10*60*1000, 1, "i", playerid);
return 1;
}
forward VerificarAfk(playerid);
public VerificarAfk(playerid)
{
GetPlayerPos(playerid, AFKPos[playerid][0], AFKPos[playerid][1], AFKPos[playerid][2]);
if(AFKPos[playerid][0] == AFKPos[playerid][3] && AFKPos[playerid][1] == AFKPos[playerid][4] && AFKPos[playerid][2] == AFKPos[playerid][5])
{
new PlayerName[MAX_PLAYER_NAME];
new String[100];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
format(String, sizeof(String), "%s Ficou Ausente Automaticamente.", PlayerName);
SendClientMessageToAll(-1, String);
//Preguiça de colocar funções do comando afk
AFKPos[playerid][3] = AFKPos[playerid][0];
AFKPos[playerid][4] = AFKPos[playerid][1];
AFKPos[playerid][5] = AFKPos[playerid][2];
return 1;
}
Quase isso, mandei para você entender como funciona, nesse sistema ele pega as coordenadas do jogador, e se ele ficar nela por 10 minutos ele fica ausente automaticamente.
Código:
#include <a_samp>
#define FILTERSCRIPT
#include Pawn.CMD
COMMAND:kill(playerid){
SetPlayerHealth(playerid, 0.0);
return 1;
}
new Float:AFKPos[MAX_PLAYERS][6];
new TimerSpawnKill[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
SetPlayerHealth(playerid, 999999);
SendClientMessage(playerid, -1, "Você está protegido contra Spawn Kill até se mover.");
GetPlayerPos(playerid, AFKPos[playerid][0], AFKPos[playerid][1], AFKPos[playerid][2]);{
AFKPos[playerid][3] = AFKPos[playerid][0];
AFKPos[playerid][4] = AFKPos[playerid][1];
AFKPos[playerid][5] = AFKPos[playerid][2];
SetTimerEx("EndAntiSpawnKill", 1*1*1000, 1, "i", playerid);
}
return 1;
}
forward EndAntiSpawnKill(playerid, X, Y, Z);
public EndAntiSpawnKill(playerid, X, Y, Z)
{
if(AFKPos[playerid][0] == AFKPos[playerid][1] && AFKPos[playerid][2]) {
SendClientMessage(playerid, -1, "Você não está mais protegido contra Spawn Kill");
SetPlayerHealth(playerid, 100);
KillTimer(TimerSpawnKill[playerid]);
}
return 1;
}