[Ajuda] CheckPoint
#1

Minha duvida й
como fasso para um checkpoint ir junto com um player
estou tentando assim

Script que fiz para radar
pawn Код:
new FloatX,FloatY,FloatZ;

public OnGameModeInit()
{
SetTimer("AntiSH",1000,true);

return 1;
}
forward velo(playerid);
public velo(playerid)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
            {
                SetPlayerCheckpoint(playerid,FloatX,FloatY,FloatZ,8.0);
            }
    return 1;
}
forward AntiSH(playerid);
public AntiSH(playerid)
{
if(GetSpeedKM(playerid) > 140)
{
new wanted[128];
GetPlayerName(i,Jogador,24);

format(wanted, sizeof(wanted), "HQ: Toda as unidades: RADAR - O motorias %s ", Jogador);
SendFamilyMessage(1, 0x000, wanted);
SetTimerEx("velo", 1000, 0, "i", playerid);
SendClientMessage(playerid, 0X000,"Vocк altrapassou o limite de velocidade os radares");
SendClientMessage(playerid, 0x000," lhe flagraram e logo um policial vira");
}
return 1;
}

stock IsPlayerInWater(playerid)
{
new Float:x,Float:y,Float:pz;
GetPlayerPos(playerid,x,y,pz);
if (
(IsPlayerInArea(playerid, 2032.1371, 1841.2656, 1703.1653, 1467.1099) && pz <= 9.0484) //lv piratenschiff
|| (IsPlayerInArea(playerid, 2109.0725, 2065.8232, 1962.5355, 10.8547) && pz <= 10.0792) //lv visage
|| (IsPlayerInArea(playerid, -492.5810, -1424.7122, 2836.8284, 2001.8235) && pz <= 41.06) //lv staucamm
|| (IsPlayerInArea(playerid, -2675.1492, -2762.1792, -413.3973, -514.3894) && pz <= 4.24) //sf sьdwesten kleiner teich
|| (IsPlayerInArea(playerid, -453.9256, -825.7167, -1869.9600, -2072.8215) && pz <= 5.72) //sf gammel teich
|| (IsPlayerInArea(playerid, 1281.0251, 1202.2368, -2346.7451, -2414.4492) && pz <= 9.3145) //ls neben dem airport
|| (IsPlayerInArea(playerid, 2012.6154, 1928.9028, -1178.6207, -1221.4043) && pz <= 18.45) //ls mitte teich
|| (IsPlayerInArea(playerid, 2326.4858, 2295.7471, -1400.2797, -1431.1266) && pz <= 22.615) //ls weiter sьdцstlich
|| (IsPlayerInArea(playerid, 2550.0454, 2513.7588, 1583.3751, 1553.0753) && pz <= 9.4171) //lv pool цstlich
|| (IsPlayerInArea(playerid, 1102.3634, 1087.3705, -663.1653, -682.5446) && pz <= 112.45) //ls pool nordwestlich
|| (IsPlayerInArea(playerid, 1287.7906, 1270.4369, -801.3882, -810.0527) && pz <= 87.123) //pool bei maddog's haus oben
|| (pz < 1.5)
)
{
return 1;
}
return 0;
}
stock
    GetSpeedKM(playerid)
{
    new
        Float:PosX,
        Float:PosY,
        Float:PosZ,
        Float:PlayerSpeedDistance;

    GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
    PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)),  floatpower(PosZ, 2))), 170.0);
    new
        spe = floatround(PlayerSpeedDistance * 1);
    return spe;
}
stock IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x > minx && x < maxx && y > miny && y < maxy) return 1;
return 0;
}
si eu chegar no check ai desaparecer e vai aparecer devolta por causa do settimer ?

Tem Algo errado ?
Reply
#2

oq estб dando errado no teste ?
o check aparece e nгo atualiza ?
ou ele nem aparece ?
Reply
#3

Eu nгo sei si tem erro eu to sem gta entгo queria sabe se algum coder olhando ve algum erro ...
Reply
#4

pelo oq eu conheзo de check eu sei q o player so pode ver 1 checkpoint de cada vez...
se caso ele nгo atualizar vc pode fazer assim.
pawn Код:
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
        DisablePlayerCheckpoint(playerid);
        SetPlayerCheckpoint(playerid,FloatX,FloatY,FloatZ,8.0);
    }
Reply
#5

Blz amanha ja coloco o gta e ja testo esse script que fiz
olha quadno o cara passa da velocidade ele abre um settimerex e fica atualizando o check entгo o player vai andando e o check vai ir junto mas quando a policia chegar no check vai ter que sumir ta mas como o settimer fica atualizando em 1 em 1 segundo nгo vai ficar sempre aparecendo ? para sempre ...
Reply
#6

ai vc ja tem q criar as variaiveis para definir os valores...
e criar o settimer com uma variavel para depois vc matar ele.
Reply
#7

Corrigido.
pawn Код:
public OnGameModeInit()
{
   SetTimer("Atualizar",1000,1);
   return true;
}
forward Atualizar();
public Atualizar()
{
   for(new i; i < MAX_PLAYERS; i ++)
   {
      static Velocidade[MAX_PLAYERS],LocoName[24],str[68];
      if(GetSpeedKM(i) > 140 && Velocidade[i] == 0)
      {
         Velocidade[i] = 1;
         GetPlayerName(i,LocoName,24);
         format(str,68,"HQ: Toda as unidades: RADAR - O motorias %s.",LocoName);
         SendFamilyMessage(1,0xFF0000FF,str);
      }
      if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
      {
         SetPlayerMarkerForPlayer(i,Velocidade[i] == 1,0xFF0000FF);
      }
   }
   return true;
}
stock GetSpeedKM(playerid)
{
   static Float:Coordenadas[4],spe;
   GetVehicleVelocity(GetPlayerVehicleID(playerid),Coordenadas[0],Coordenadas[1],Coordenadas[2]);
   Coordenadas[3] = floatmul(floatsqroot(floatadd(floatadd(floatpower(Coordenadas[0], 2), floatpower(Coordenadas[1], 2)),floatpower(Coordenadas[2], 2))), 170.0);
   spe = floatround(Coordenadas[3] * 1);
   return spe;
}
tente e me diga no que deu.
Reply
#8

fmz strong e depois para tirar a marcar ?
mesmo assim ele quer em checkpoint e nгo em marca...
Reply
#9

Sim eu intendi chefгo mas sу pode por 1 checkpoint por jogador em mark jб pode por em vбrios, no caso sу arrumei o cуdigo dele caso ele precise retirar o markes ele pode colocar na onplayerdeath ou algo do caso pois se o cara atingiu a velocidade com toda a certeza ele vai querer que o markes fique no cara atй ele morrer ou ser preso.
EDIT: Nгo usei muito playermarkers... mas acredito eu que ele vai setar a playermarkes para quem estiver em modo Veнculo == 1 caso ele nгo esteja nгo vai setar nada (posso estar errado mas acredito que seja isso) se realmente for isso й sу fazer algumas alteraзхes nada muito complexo. pois por checkpoint acredito que nгo de para fazer o que ele realmente quer.
Reply
#10

entendi...
e concordo com sua logica ^^
mas eu estava apenas tentando ajudar ele a concluir o trabalho dele...
mas ja que vc quis melhorar estб bem!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)