[FS]Detectar Tiro ao Objeto
É um simples detector de tiros e um determinado objeto
Deixei a configuração da posição de forma fácil e rápido.
É um simples detector de tiros e um determinado objeto
Deixei a configuração da posição de forma fácil e rápido.
pawn Code:
#include a_samp // ============ [ Posição do Objeto ] ========= new Float:X_OBJETO = 128.7418; new Float:Y_OBJETO = -85.9495; #define TAMANHO_OBJETO 0.4 // =========== [ Criar Objeto para teste ] ======== main() { CreateObject(2587, 128.7418,-85.9495,1.4297, 0.0, 0.0, 96.0); return true; } // =========== [ Dar Arma para Teste ] ======== public OnPlayerSpawn(playerid) { GivePlayerWeapon(playerid, 32, 400); return true; } // =========== [ Detectar Tiro ] ================ public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if((newkeys & KEY_FIRE || oldkeys & KEY_FIRE ) && IsPlayerInRangeOfPoint(playerid, 200.0 , X_OBJETO , Y_OBJETO , 0.0)) { static Float:xPos, Float:yPos, Float:zPos, Float:distancia, Float:aPos; GetPlayerPos(playerid, xPos, yPos, zPos); GetPlayerFacingAngle(playerid, aPos); distancia = floatsqroot(floatpower(floatabs(xPos-X_OBJETO), 2) + floatpower(floatabs(yPos-Y_OBJETO), 2)); if(distancia < 100.0) { xPos += (distancia * floatsin(-aPos, degrees)), yPos += (distancia * floatcos(-aPos, degrees)); distancia = floatsqroot(floatpower(floatabs(xPos-X_OBJETO), 2) + floatpower(floatabs(yPos-Y_OBJETO), 2)); } if(TAMANHO_OBJETO > distancia) { printf("Jogador %d acertou em um objeto (Pontuação: %f)", playerid, distancia); } } return true; } // Criado por Bruno da Silva
Video:
Creditos: Bruno da Silva
FS Postado no Blog por: Theus_Crazzy
Download:
Pastebin: Clique Aqui
Nenhum comentário:
Postar um comentário