17.03.2012, 17:15
(
Последний раз редактировалось JonathanFeitosa; 17.03.2012 в 19:32.
)
Uma Versгo de Seguranзa, SAMP 0.3e.
- Corrigido o problema onde os objetos de jogadores podem aparecer flutuando.
- Objetos anexados serб removido quando o jogador entra respawns ou seleзгo de classe, e nгo quando o jogador morre (durante a animaзгo de morte).
- Corrigido o erro onde o jogador pode ser teleportado para 0,0,0 se estiver em cima de um veiculo e o carro se teletransportar, ou na hora que muda a placa do carro.
- Corrigido um erro criado a partir da 0.3d onde um jogador pode ser capaz de evitar a morte se estiver em uma animaзгo personalizada aplicada.
- A Utilizaзгo SpawnPlayer() foi Arrumada onde o Jogador era kickado depois de utilizado.
- Corrigido o Problema Entre falhas de dados no browser.
Novidades
- Poderб Por Cores em Players Maiores que ID 500.
- Diбlogos com script agora tem uma barra de legenda.
- Um parвmetro foi adicionado а SetPlayerCameraLookAt() de modo que a cвmara irб mover-se para a nova posiзгo, em vez de teleport.
pawn Код:
#define CAMERA_CUT 2
#define CAMERA_MOVE 1
native SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z, cut = CAMERA_CUT);
- Adicionado Novos Objetos Como cartola, bengala, e vбrios muros.
- 40 novos muros, incluindo portas e janelas, algemas, luzes de polнcia, lombada, fones de ouvido diferentes coloridos.
- Ambos Criado Por cessil.
Novas Funзхes
AttachPlayerObjectToVehicle
pawn Код:
native AttachPlayerObjectToVehicle(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ);
Exemplo:
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) // Quando o Player Apertar Enter em um Veiculo
{
// Objeto Criado, ( Defina Ela no Caso, cow_object. )
new cow_object = CreatePlayerObject(playerid, 16442, 0, 0, 0, 0, 0, 0);
AttachPlayerObjectToVehicle(playerid, cow_object/*Objeto Defino*/, GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
}
}// Resumindo ao Entrar no Carro, o Objeto й Setado.
pawn Код:
native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
native InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
Exemplo: (Por DarkScripter)
pawn Код:
if(!strcmp(cmdtext,"/camera", true))
{
TogglePlayerSpectating(playerid, true);
InterpolateCameraLookAt(playerid, 2045.2523, 1689.3992, 10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE); // CorX, CorY, CorZ+50, CorX, CorY- CorZ+50, Tempo no caso, Definido Acima, Para Camera se Mover.
InterpolateCameraPos(playerid, 2045.2523, 1689.3992, 10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE); // CorX, CorY, CorZ+50, CorX, CorY- CorZ+50, Tempo no caso, Definido Acima, Para Camera se Mover.
return true;
}
if(!strcmp(cmdtext,"/saircamera", true))
{
TogglePlayerSpectating(playerid, false);
SetCameraBehindPlayer(playerid);
return true;
}
pawn Код:
native AttachCameraToObject(playerid, objectid);
native AttachCameraToPlayerObject(playerid, playerobjectid);
Exemplo AttachCameraToObject:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/setar", false))
{
new Objeto = CreateObject(1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToObject(playerid, Objeto);
SendClientMessage(playerid, -1, "Sua cвmera Foi ligada em um objeto.");
return true;
}
if(!strcmp(cmdtext,"/b", true)) // faz o player sair da cвmera onde estб vendo.
{
TogglePlayerSpectating(playerid, false);
SetCameraBehindPlayer(playerid);
return true;
}
return false;
}
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/setar", false))
{
new PlayerObjeto = CreatePlayerObject(playerid, 1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToPlayerObject(playerid, PlayerObjeto );
SendClientMessage(playerid, 0xFFFFFFAA, "Sua cвmera Foi ligada em um objeto.");
return true;
}
if(!strcmp(cmdtext,"/b", true)) // faz o player sair da cвmera onde estб vendo.
{
TogglePlayerSpectating(playerid, false);
SetCameraBehindPlayer(playerid);
return true;
}
return false;
}
GetPlayerVersion
pawn Код:
native GetPlayerVersion(playerid, const version[], len);
Exemplo:
pawn Код:
public OnPlayerConnect(playerid)
{
new Celula[40];
GetPlayerVersion(playerid, Celula, sizeof(Celula));
format(Celula, sizeof(Celula), "Sua Versгo do SAMP й: %s", Celula);
SendClientMessage(playerid, -1, Celula);
return true;
}
Download dos Arquivos
LINUX AINDA NГO ESTБ DISPONНVEL, APENAS WINDONS.
Client Installer: SA-MP 0.3e RC3 Client
Windows Server (20 players): SA-MP 0.3e RC3 Windows Server
FilterScript com Todas as Funзхes Abaixo.
pawn Код:
// Por Jonathan Feitosa
#include <a_samp>
#define TIMER ( 60000 * 1 ) // tempo para mover a cвmera ( 1 minuto )
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("FS Explicaзхes 0.3e Carregado !");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
main()
{
print("\n----------------------------------");
print("Criado Por Jonathan Feitosa");
print("----------------------------------\n");
}
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new Celula[40];
GetPlayerVersion(playerid, Celula, sizeof(Celula));
format(Celula, sizeof(Celula), "Sua Versгo do SAMP й: %s", Celula);
SendClientMessage(playerid, -1, Celula);
return true;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/camera", true)) // (Por DarkScripter)
{
TogglePlayerSpectating(playerid, true);
InterpolateCameraLookAt(playerid, 2045.2523, 1689.3992, 10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE); // CorX, CorY, CorZ+50, CorX, CorY- CorZ+50, Tempo no caso, Definido Acima, Para Camera se Mover.
InterpolateCameraPos(playerid, 2045.2523, 1689.3992, 10.3990 + 50, 1336.8778, -2271.4685, 13.1868 + 50, TIMER, CAMERA_MOVE); // CorX, CorY, CorZ+50, CorX, CorY- CorZ+50, Tempo no caso, Definido Acima, Para Camera se Mover.
return true;
}
if(!strcmp(cmdtext,"/saircamera", true))
{
TogglePlayerSpectating(playerid, false);
SetCameraBehindPlayer(playerid);
return true;
}
if(!strcmp(cmdtext, "/setar", false))
{
new Objeto = CreateObject(1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToObject(playerid, Objeto);
SendClientMessage(playerid, -1, "Sua cвmera Foi ligada em um objeto, para sair, /saircamera.");
return true;
}
if(!strcmp(cmdtext, "/setar2", false))
{
new PlayerObjeto = CreatePlayerObject(playerid, 1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToPlayerObject(playerid, PlayerObjeto );
SendClientMessage(playerid, 0xFFFFFFAA, "Sua cвmera Foi ligada em um objeto, para sair, /saircamera.");
return 1;
}
return false;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new cow_object = CreatePlayerObject(playerid, 16442, 0, 0, 0, 0, 0, 0);
AttachPlayerObjectToVehicle(playerid, cow_object, GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
}
return 1;
}