Gondolkoztam az MMORPG játékok kamerájának megoldásán és csináltam közben egy ilyen apróságot, amit gondoltam megosztok:
A GTA II még 2 dimenziós játék volt, felülnézetbõl láttuk, amint laposra verünk valakit. Nos, most itt van ez SAMP-ba!
Elég beírni /camera és már is 2dimenziósan játszunk. Ha ráuntunk ugyanezzel a paranccsal vissza is állíthatjuk!
http://kepfeltoltes.hu/120703/1260540335sa-mp-023_www.kepfeltoltes.hu_.png[/img]
http://kepfeltoltes.hu/120703/1182608469sa-mp-022_www.kepfeltoltes.hu_.png[/img]
#include <a_samp>
#include fixchars.h
new fun[MAX_PLAYERS];
#define COLOR_OOC 0xCACACAC8
#define COLOR_ADMIN 0xFF000031
//==============================================================================
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" GTA II CAMERA MOD BY BENCARTER007\");
print(\"--------------------------------------\\n\");
SetTimer(\"OnPlayerUpdate(playerid)\", 500, true);
fun = 0;
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" GTA II!\");
print(\"----------------------------------\\n\");
}
#endif
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/camera\", cmdtext, true, 10) == 0)
{
if (fun[playerid] == 0)
{
new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s átváltott GTA II stílusra(2D)\", pName);
SendClientMessageToAll(COLOR_OOC, string);
fun[playerid] = 1;
return 1;
}
if (fun[playerid] == 1)
{
new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s visszaváltott GTA III stílusra(3D)\", pName);
SendClientMessageToAll(COLOR_OOC, string);
fun[playerid] = 0;
SetCameraBehindPlayer(playerid);
return 1;
}
}
return 0;
}
public OnPlayerUpdate(playerid)
{
if (fun[playerid] == 1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerCameraPos(playerid, x, y, z +10);
SetPlayerCameraLookAt(playerid, x, y, z);
if(GetPlayerVehicleID(playerid) >= 1 && GetPlayerVehicleID(playerid) <= 1)
{
SetPlayerCameraPos(playerid, x, y, z +30);
}
}
return 1;
}
Figyelmeztetés!
Egy bug van benne, az autóval bármilyen sebességgel mész, kicsit rángat...
Jó szórakozást