[Include] [INC]: OnPlayerMovedCamera - Somente 0.3e
#1

Olб.
eu estava estudando novas funзхes do sa-mp 0.3e
e decidi postar um projeto, eu fiz uma include que chama uma public ao terminar de se mover a camera.

Oque faz ?
Chama uma public ao terminar de se mover a cвmera,
ou seja, assim vocк pode criar sistemas de login legais.

Muito simples de utilizar.
Primeiramente coloque cуdigo que postarei abaixo no bloco de notas e salve na pasta includes com a extensгo ".inc"
depois, й sу desfrutar!

Crйditos:
- DarkScripter

Include
pawn Код:
/*
 *
 * OnPlayerMovedCamera - Somente na versгo 0.3e RC2 ou superior.
 *
 *  Crйditos: DarkScripter
 *  - Nгo retire os crйditos.
 *
 *
*/


new bool:Chamed_Int[MAX_PLAYERS char] = false;

forward _FinisOnPlayerMovedCamera(playerid);
forward OnPlayerMovedCamera(playerid);

public _FinisOnPlayerMovedCamera(playerid)
{
    Chamed_Int{playerid} = false;
    CallLocalFunction("OnPlayerMovedCamera", "d", playerid);
}

stock InterpolateCameraLookAt_(p, Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2, time, style)
{
    InterpolateCameraLookAt(p, Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2, time, style);
    return !Chamed_Int{p} ? (SetTimerEx("_FinisOnPlayerMovedCamera", time, false, "d", p), Chamed_Int{p} = true) : true;
}
stock InterpolateCameraPos_(p, Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2, time, style)
{
    InterpolateCameraPos(p, Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2, time, style);
    return !Chamed_Int{p} ? (SetTimerEx("_FinisOnPlayerMovedCamera", time, false, "d", p), Chamed_Int{p} = true) : true;
}

#define InterpolateCameraLookAt         InterpolateCameraLookAt_
#define InterpolateCameraPos            InterpolateCameraPos_
Teste - Fiz em forma de FilterScript
pawn Код:
#include <a_samp>

#define TIMER           ( 60000 * 1 ) // tempo para mover a cвmera ( 1 minuto )


public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext,"/cam", true))
    {
        TogglePlayerSpectating(playerid, true);
        InterpolateCameraLookAt(playerid, 2045.2523, 1689.3992,  10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE);
        InterpolateCameraPos(playerid,    2045.2523, 1689.3992,  10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE);
        return true;
    }
    if(!strcmp(cmdtext,"/b", true))
    {
        TogglePlayerSpectating(playerid, false);
        SetCameraBehindPlayer(playerid);
        return true;
    }
    return true;
}
public OnPlayerMovedCamera(playerid)
{
    SendClientMessage(playerid, -1,"Chegou ao seu destino.");
    return 1;
}

Aviso: Sу funciona em versгo 0.3e RC2 ou superiror!
Bugs, erros, poste.
Reply
#2

Muito bom cara Eu vou usar ele para desenvolvimento de Gamemodes com funзхes da 0.3e ... ganhou REP+
Reply
#3

Bom! Parabens pela Include
Reply
#4

Good Job Man
Reply
#5

Bem pensado e bom trabalho!
Reply
#6

Muito bom.
Reply
#7

Уtimo include.
Reply
#8

Legal =]
Reply
#9

Obrigado a todos,
estou pensando em fazer uma nova versгo com mais funзхes,
se vocкs me derem alguma ideia ou selб =)
Reply
#10

Saiu 0.3e ja? o.o
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)