06.07.2014, 20:22
(
Последний раз редактировалось Marlon307; 07.07.2014 в 10:19.
)
Por causa de muitas especulaзгo ao meu post resolvi coloca o original, esta ai...
--Recreated by Joe Staff--
De 0,2 versхes e menor
Se vocк estiver usando uma versгo desatualizada do SA-MP, entгo eu sugiro que vocк atualize para a versгo mais recente encontrada aqui, mas se vocк absolutamente tem que usar versхes mais antigas (mais baixos do que 0.3A versхes beta), entгo vocк vai precisar de uma funзгo para determinar se um jogador estб dentro de um raio de um determinado ponto tridimensional. Entгo, vocк irб adicionar o seguinte ao seu script: (perto do topo, mas abaixo"#include <a_samp>")
Preparando-se
Vocк vai precisar adicionar o seguinte antes de criar a funзгo de porta.
/ / Isso pode ser adicionado em qualquer lugar acima da funзгo de porta aberta / fechada
novo mygate;
/ / Isso tem que ser em qualquer "public OnGameModeInit" ou "public OnFilterScriptInit"
Fazendo portхes automбticos
Em primeiro lugar, vamos definir um temporizador do OnGameModeInit() que chamarб apуs seu tempo selecionado (a minha tem verificado apуs 500ms, sempre). Sinta-se livre para alterar os 500ms para algum outro valor, mas tenha em mente que 1000ms й igual a um segundo. Saiba mais sobre o SetTimer funзгo.
Agora, vamos passar para o temporizador, que vamos encaminhar corretamente.
/ / Isso vai em qualquer lugar acima "public CheckGate"
Lб, suas portas devem estar prontos, se vocк tiver feito tudo o que o guia disse, corretamente.
link do post ORIGINA
Link Download Pronto: PASTEBIN
--Recreated by Joe Staff--
De 0,2 versхes e menor
Se vocк estiver usando uma versгo desatualizada do SA-MP, entгo eu sugiro que vocк atualize para a versгo mais recente encontrada aqui, mas se vocк absolutamente tem que usar versхes mais antigas (mais baixos do que 0.3A versхes beta), entгo vocк vai precisar de uma funзгo para determinar se um jogador estб dentro de um raio de um determinado ponto tridimensional. Entгo, vocк irб adicionar o seguinte ao seu script: (perto do topo, mas abaixo"#include <a_samp>")
Код:
#if !defined IsPlayerInRangeOfPoint stock IsPlayerInRangeOfPoint(playerid, Float:radius, Float:X, Float:Y, Float:Z) { new Float:px,Float:py,Float:pz; GetPlayerPos(playerid,px,py,pz); return ( ( ((px-X)*(px-X))+((py-Y)*(py-Y))+((pz-Z)*(pz-Z)) ) >= radius*radius ); } #endif
Vocк vai precisar adicionar o seguinte antes de criar a funзгo de porta.
/ / Isso pode ser adicionado em qualquer lugar acima da funзгo de porta aberta / fechada
novo mygate;
/ / Isso tem que ser em qualquer "public OnGameModeInit" ou "public OnFilterScriptInit"
Код:
mygate = CreateObject(object_ID, closed_X, closed_Y, closed_Z, closed_rad_X, closed_rad_Y, closed_rad_Z);//Substitua, se necessбrio,
Em primeiro lugar, vamos definir um temporizador do OnGameModeInit() que chamarб apуs seu tempo selecionado (a minha tem verificado apуs 500ms, sempre). Sinta-se livre para alterar os 500ms para algum outro valor, mas tenha em mente que 1000ms й igual a um segundo. Saiba mais sobre o SetTimer funзгo.
Код:
SetTimer("CheckGate",1000,true);
/ / Isso vai em qualquer lugar acima "public CheckGate"
Код:
forward CheckGate(); public CheckGate() { new mygate_status; for(new i;i<MAX_PLAYERS;i++) { if(!IsPlayerConnected(i)) continue; if(IsPlayerInRangeOfPoint(i,10.0,closed_X,closed_Y,closed_Z))mygate_status=1; } if(mygate_status)MoveObject(mygate, open_X, open_Y, open_Z,Moving Speed); else MoveObject(mygate, closed_X, closed_Y, closed_Z, Moving Speed); }
link do post ORIGINA
Link Download Pronto: PASTEBIN