Queria criar um sistema que quando o jogador ir na area 51 sem ser do exercito eles iam avisar para sair antes do player morrer fiz isso com territorio invisível e fiz quando ele entrar ele ia ser avisado mas n dava pra por um timer dentro de um timer ae nao consegui fazer se alguem tem uma ideia de como fazer e se ele sai da area 51 ele para de dar aviso e volta tudo ao normal.
Alguem pode me ajuda como que eu crio um sistema de /localizar para policias mas ele so consegue localizar se estiver procurado e vai mostra no minimapa de vermelho
Como que usa variável bidimensional? Tô querendo aprender sobre isso para otimizar meus sistemas, um deles é uma variável flutuante contendo posições de determinados lugares, como um caixa eletrônico e usar uma forma de verificar se ele está em uma dessas posições, ou puxar dados variantes em sistemas que exigem uma grande quantidade de dados combinando loops e variáveis bidimensionais.
Espero que me ajudem a entender melhor como funciona, o uso e as formas de usar, obrigado.
C:\Users\welli\Desktop\rp\pawno\include\foreach.inc(927) : warning 213: tag mismatch: expected tag "bool", but found none ("_")
C:\Users\welli\Desktop\rp\pawno\include\foreach.inc(975) : warning 213: tag mismatch: expected tag "bool", but found none ("_")
Gente atualizei minha include foreach, e ta dando esses warnings qnd compilo o gm.
Por um acaso isso pode influenciar no funcionamento da mesma?
coloquei as funçao certinho, criei a tela de login e etc. mais quando vou me registrar, o servidor cai(samp server), e quando vou ver em logs-sql, ta o erro: [ERROR] exception 0XC0000005 (ACCESS_VIOLATION) from Vectored Exception Handler catched; shutting log-core down. OQ PODE TAR CAUSANDO ISSO?
[15:50:22] [debug] #1 00316c8c in public Tempo () in GRP.amx
[15:50:23] [debug] Run time error 4: "Array index out of bounds"
[15:50:23] [debug] Attempted to read/write array element at negative index -1
esta aparecendo essas mensagens no log
segue o codigo
Código:
public Tempo()
{
new Dia,Mes,Ano;
getdate(Dia,Mes,Ano);
new HoraRoYal, MinutoRoYal, SegundoRoYal;
gettime(HoraRoYal, MinutoRoYal, SegundoRoYal);
switch(HoraRoYal)
{
case 0: SetWorldTime(0);
case 1: SetWorldTime(0);
case 2: SetWorldTime(1);
case 3: SetWorldTime(2);
case 4: SetWorldTime(4);
case 5:
{
if(MinutoRoYal == 0 && SegundoRoYal == 0)
{
SetWorldTime(5);
SendClientMessageToAll(COR_AMARELO, "| GMX | Atencao o Servidor ira reiniciar automaticamente em 30 segundos.");
SetTimer("ReiniciarServidor", 30000, false);
printf("[gmx] primeiro aviso de restart dado com sucesso [%d:%d:%d].", HoraRoYal, MinutoRoYal, SegundoRoYal);
}
else
{
SetWorldTime(5);
}
}
case 6: SetWorldTime(6);
case 7: SetWorldTime(7);
case 8: SetWorldTime(8);
case 9: SetWorldTime(9);
case 10: SetWorldTime(10);
case 11: SetWorldTime(11);
case 12: SetWorldTime(12);
case 13: SetWorldTime(13);
case 14: SetWorldTime(14);
case 15: SetWorldTime(15);
case 16: SetWorldTime(16);
case 17: SetWorldTime(20);
case 18: SetWorldTime(21);
case 19: SetWorldTime(22);
case 20: SetWorldTime(22);
case 21: SetWorldTime(23);
case 22: SetWorldTime(23);
case 23: SetWorldTime(23);
}
foreach(Player, i)
{
new str[100];
format(str, sizeof(str), "%02d/%02d/%d - %02d:%02d",Ano,Mes,Dia, HoraRoYal, MinutoRoYal);
TextDrawSetString(SpaceTD[2], str);
TextDrawShowForPlayer(i,SpaceTD[2]);
MostrarTDPrincipal(i);
EsconderTDPrincipal(i);
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
if(GetPlayerSpeed(i) > 300)
{
if(PlayerInfo[i][Admin] == 0)
{
format(gstring,sizeof(gstring), "AntCheat: O Player %s(%d) Foi Kickado por Suspeita de Speed Hack", PlayerName(i), i);
SendClientMessageToAll(COLOR_LIGHTRED, gstring);
ShowPlayerDialog(i,5000,DIALOG_STYLE_MSGBOX,"{FFFFFF}Kick {8B008B}Space RolePlay","{8B008B}> {FFFFFF}Voce foi Kickado por Suspeita de Speed Hack\n{8B008B}> {FFFFFF}Prox.Vez Sera Banido.","Sair","");
SetTimerEx("KickPlayer", 100, false, "i", i);
}
return 1;
}
}
else
{
if(GetPlayerState(i) == PLAYER_STATE_ONFOOT)
{
if(GetPlayerSpeed(i) > 100)
{
if(PlayerInfo[i][Admin] == 0)
{
format(gstring,sizeof(gstring), "AntCheat: O Player %s(%d) Foi Kickado por Suspeita de Fly Hack ou Surf", PlayerName(i), i);
SendClientMessageToAll(COLOR_LIGHTRED, gstring);
ShowPlayerDialog(i,5000,DIALOG_STYLE_MSGBOX,"{FFFFFF}Kick {8B008B}Space RolePlay","{8B008B}> {FFFFFF}Voce foi Kickado por Suspeita de Fly Hack ou Surf\n{8B008B}> {FFFFFF}Voce nao pode Praticar Surf em Nosso Servidor, Prox.Vez Sera Banido.","Sair","");
SetTimerEx("KickPlayer", 100, false, "i", i);
}
return 1;
}
}
}
if(IsPlayerInAnyVehicle(i))
{
new vid = GetPlayerVehicleID(i);
if(GetVehicleModel(vid) != 481 && GetVehicleModel(vid) != 509 && GetVehicleModel(vid) != 510)
{
if (GetPlayerVehicleSeat(i) == 0)
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(i), health);
if(health <= 300 && health > 0)
{
SetVehicleHealth(GetPlayerVehicleID(i), 300);
motor[vid] = false;
new engine, farol, alarme, portas, capo, portamalas, objetivo;
GetVehicleParamsEx(vid, engine, farol, alarme, portas, capo, portamalas, objetivo);
SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, farol, alarme, portas, capo, portamalas, objetivo);
GameTextForPlayer(i, "~w~Veiculo ~r~Quebrado", 1000, 4);
}
}
}
}
if(GetPlayerCash(i) != GetPlayerMoney(i))
{
ResetMoneyBar(i);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(i,GetPlayerCash(i));//Sets the money in the moneybar to the serverside cash, Do not remove!
}
if(!IsPlayerInAnyVehicle(i))
{
if(GetPlayerSpeed(i) > 250 && GetPlayerSpecialAction(i) != SPECIAL_ACTION_USEJETPACK)
{
if(PlayerInfo[i][Admin] == 0)
{
foreach(Player, j)
{
if(PlayerInfo[j][Admin] > 0)
{
format(gstring, sizeof(gstring), "AntCheat: O Jogador %s[%d] esta com suspeita de Speed Hack [%dKm/h] fique de olho nele.", PlayerName(i), i, GetPlayerSpeed(i));
SendClientMessage(j, COLOR_LIGHTRED, gstring);
}
}
}
}
}
if(dmsafe[i] == 3)
{
dmsafe[i] = 0;
format(gstring, sizeof(gstring), "Kick Space RP: O Jogador %s foi kickado automaticamente, Motivo: Matando em Area-Safe.", PlayerName(i));
SendClientMessageToAll(COLOR_LIGHTRED, gstring);
Kick(i);
}
if(EstaUsandoCelular[i] == true)
{
new ano,mes,dia;
getdate(ano, mes, dia);
gettime(HoraRoYal, MinutoRoYal, SegundoRoYal);
format(gstring, sizeof(gstring), "%02d:%02d", HoraRoYal, MinutoRoYal);
TextDrawSetString(TelaInicialCelular[14], gstring);
format(gstring, sizeof(gstring), "%02d/%02d/%04d", dia,mes,ano);
TextDrawSetString(TelaInicialCelular[20], gstring);
}
if(PlayerInfo[i][Vip] >= 1)
{
if(PlayerInfo[i][TempoVip] >= 1)
{
PlayerInfo[i][TempoVip] = PlayerInfo[i][TempoVip] - 1;
}
if(PlayerInfo[i][TempoVip] <= 0)
{
PlayerInfo[i][TempoVip] = 0;
PlayerInfo[i][Vip] = 0;
SendClientMessage(i, -1,"{FFDC33}=-=-=-=-=-=-=-= {FFFFFF}Info Vip{FFDC33} =-=-=-=-=-=-=-=");
SendClientMessage(i, -1,"{FFDC33}Info. {FFFFFF}Seu Vip Expirou, Renove-o com Um Staff Em Nosso Discord");
SendClientMessage(i, -1,"{FFDC33}Info. {FFFFFF}Caso Nao Queira Renovar nao Precisa Entrar em Contato Com um Admin.");
SendClientMessage(i, -1,"{FFDC33}=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
GameTextForPlayer(i, "~w~Seu Vip ~r~Expirou!!", 10000, 1);
}
}
}
return 1;
}
Boa noite a todos. Acabou me ocorrendo um problema com os checkpoints na profissão de caminhoneiro. Eu coloquei para marcar o local de entrega através do "SetPlayerCheckpoint", e até aí tava tudo ok, porém, notei que ao me aproximar de algum outro checkpoint e ele aparecer marcado no mini-mapa, o checkpoint anterior que estava setado como local da entrega simplesmente some do mini-mapa, como se fosse cancelado assim que o outro checkpoint aparece. Alguém tem alguma noção do que poderia causar isso? Desde já, agradeço a todas as respostas que forem dadas. Muito obrigado!
• Quem sou eu?
Meu nome é Fábio Stralioti, sou MBA em Análise e Desenvolvimento de Sistemas, trabalho com programação SA:MP desde 2012, estou retornando as atividades no meio. Possuo conhecimento em várias linguagens de programação. (Pawn, Php, Pascal e Flutter).
• Quais serviços eu realizo?
Desenvolvimento de sites;
Criação de GameModes;
Criação de FilterScripts;
Criação de Sistemas;
Correções de bugs.
• Como funciona meu trabalho?
Trabalho de forma simples e objetiva, trabalho com data de entrega prevista em contrato de prestação de serviços, feito para assegurar as duas partes do CONTRATADO e do CONTRATANTE, trabalho com 50% do valor do serviço antes do inicio do desenvolvimento e os outros 50% na data de entrega, após testes e correções. Não trabalho por TeamViewer ou AnyDesk.
• Serviços realizados?
Como dito acima estou retornando a desenvolver para o SA:MP, eu tinha muitas postagens de scripts no antigo fórum que foi desativado, assim eu perdi 99% dos scripts que já foi realizado, porém estarei criando alguns scripts gratuitos e estarei postando por aqui para ir atualizando o portfólio.
• Contato:
Possuo meios de contato de fácil acesso. Disponibilizei um número de WhatsApp somente para contato com os clientes de desenvolvimento e também pelo discord.
(44) 99954-0863
Discord: @fstraliotipawn