[Tool/Web/Other] Bullet Drop - Compensaзгo de Mira da Sniper para acertar Alvo
#1

Boa noite a todos, bom eu estava aqui vendo uns vнdeos no (Y o u t u b e) de gamers jogando BF4 de sniper.
Porйm nele tem aquela famosa queda de bala que da atй um #tesгo sу de ver HUSHSAU.

Entгo resolvi criar para o SA-MP ficou meio bбsico mas porйm nгo achei nada relacionado a isto entгo aqui embaixo estб o cуdigo para todos, quem quiser dar umas modificadas e ajudar a melhorar o cуdigo toda ajuda й bem vinda !

Coloquei para quando o objeto chegar no local ele explodir porйm vocкs podem colocar a funзгo que vocкs desejarem.

OBS: No cуdigo foi definido para funcionar apenas utilizando a Sniper ID: 34

Algumas coisas que ainda falta acertar:
Код:
1 - Corrigir para quando mirar para o cйu dispara a bala normalmente.
Acrescentado opзхes de cores nas Muniзхes sendo elas: Amarela, Marrom, Verde e Vermelho Escuro.
Podendo manusear a cor da muniзгo desejada atravйs do cуdigo:

PHP код:
Bala[playerid] = CreateObject(Municao_CorX-0.1YZ+0.2000); 
No campo Municao_Cor vocк pode utilizar uma das cores abaixo:
Код:
Municao_Amarela
Municao_Marrom
Municao_Verde
Municao_Vermelha
PHP код:
/****************************************************************
    [_ЇB_Їu_Їl_Їl_Їe_Їt_Ї _ЇD_Їr_Їo_Їp_Ї _ЇS_Їy_Їs_Їt_Їe_Їm_Ї]
    Powered by: Leonardo Bradoks
    Thanks for help: FerrariL & ForT & Carlos001 & RogerCosta
    Forum Thread: https://sampforum.blast.hk/showthread.ph...6.46324569
****************************************************************/
#include <a_samp>
#define Municao_Amarela     19574
#define Municao_Marrom      19575
#define Municao_Verde       19576
#define Municao_Vermelha    19577
new Bala[MAX_PLAYERS];
public 
OnFilterScriptInit()
{
    print(
"\n-------------------------------------------------------------");
    print(
"-              INITIALIZED BULLET DROP SYSTEM!              -");
    print(
"- Thanks for help: FerrariL & ForT & Carlos001 & RogerCosta -");
    print(
"-------------------------------------------------------------\n");
    return 
1;
}
public 
OnObjectMoved(objectid)
{
    if(
Municao_Amarela <= GetObjectModel(objectid) <= Municao_Vermelha) {
        new 
Float:XFloat:YFloat:Z;
        
GetObjectPos(objectidXYZ);
        
CreateExplosion(XYZ1210.0);
        
DestroyObject(objectid);
    }
    return 
1;
}
public 
OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
{
    if(
GetPlayerWeapon(playerid) == 34) {
        new 
Float:fOriginXFloat:fOriginYFloat:fOriginZFloat:fHitPosXFloat:fHitPosYFloat:fHitPosZFloat:Distancia;
        
GetPlayerLastShotVectors(playeridfOriginXfOriginYfOriginZfHitPosXfHitPosYfHitPosZ);
        
Bala[playerid] = CreateObject(Municao_AmarelafOriginX-0.1fOriginYfOriginZ+0.2000);
        
Distancia GetPlayerDistanceFromPoint(playeridfHitPosXfHitPosYfHitPosZ);
        
MoveObject(Bala[playerid], fHitPosXfHitPosYfHitPosZ-(Distancia 20 ? (Distancia/51) : Distancia 80 ? (Distancia/25) : (Distancia/50)) , 85.0000);
    }
    return 
1;

Download do Filterscript: Pastebin

Lembrando novamente a todos que quiserem ajudar a melhorar o cуdigo e a performance toda ajuda й bem vinda.

Agradecimento a FerrariL & ForT & Carlos001 por ter me esclarecido umas dъvidas ou ajudado de outra forma importante.
Reply
#2

sу serve para gente rir pakas hueaueaueaeaeaeae
Reply
#3

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
sу serve para gente rir pakas hueaueaueaeaeaeae
Sу servem para criticar rapaziada o cуdigo foi montado com vбrios membros da board.
Pessoas do tipo nem cago

GetPlayerAnimationIndex
Reply
#4

Magnifico!, Nгo irei testar porque nгo tenho com quem o testar...


@TOPIC

Irei aguardar o resultado pelo PrintScreen/Video
Reply
#5

Por que checar se o jogador estб mirando se nгo й possнvel atirar de sniper sem usar a mira? Tambйm nгo й necessбrio o uso do SetTimerEx sendo que vocк pode criar a explosгo em OnObjectMoved.

A ideia й boa, porйm o cуdigo deixou a desejar.
Reply
#6

Quote:
Originally Posted by ForT
Посмотреть сообщение
Por que checar se o jogador estб mirando se nгo й possнvel atirar de sniper sem usar a mira? Tambйm nгo й necessбrio o uso do SetTimerEx sendo que vocк pode criar a explosгo em OnObjectMoved.

A ideia й boa, porйm o cуdigo deixou a desejar.
Certo obrigado pela ajuda jб atualizei no tуpico tmj
Reply
#7

Boa ideia mano.
Quote:

sу serve para gente rir pakas hueaueaueaeaeaeae

Me desculpe mas a maioria dos tуpicos que vejo vocк comentando eu sempre espero menos de vocк. Acho que maturidade vocк nгo tem,й melhor passar a ter,passou da hora de crescer e largar a mamadeira,pois vocк й sу mas um na fila do pгo e nada mais do que isso.
Reply
#8

foda mano serve como base pro meu sistema
Reply
#9

Ideia muito boa, e o cуdigo tambйm estб excelente. Testei e deu bons resultados.
Reply
#10

Nгo й sua melhor opзгo para corrigir o problema, mas da maneira que foi feito seu sistema sem a alteraзгo abaixo o FS irб criar uma explosгo e excluir todos os objetos que forem chamados na callback, inclusive os que nгo sгo relacionados ao sistema que vocк desenvolveu.

pawn Код:
public OnObjectMoved(objectid)
{
    for(new I=0;I<GetPlayerPoolSize();I++){
        if(Bala[I] == objectid) {
            new Float:X,Float:Y,Float:Z;
            GetObjectPos(objectid, X, Y, Z);
            CreateExplosion(X, Y, Z, 12, 10.0);
            DestroyObject(objectid);
            break;
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)