Merlin
Умник
PHP:
//=====================================
new mapstarted[MAX_PLAYERS] = 0;
new Float:OriginalX[MAX_PLAYERS], Float:OriginalY[MAX_PLAYERS], Float:OriginalZ[MAX_PLAYERS];
new Float:mapX[MAX_PLAYERS] = 1743.8674, Float:mapY[MAX_PLAYERS] = 1453.9987, Float:mapZ[MAX_PLAYERS] = 350.0000;
После этого ищем public OnGameModeInit() и туда вставляем:
PHP:
for(new i = 0; i < MAX_PLAYERS; i++)
{
mapX[i] = 1729.4530; mapY[i] = 1461.4821; mapZ[i] = 350.0000; mapstarted[i] = 0;
}
ищем public OnPlayerDisconnect и туда вставляем:
PHP:
mapX[playerid] = 1743.8674; mapY[playerid] = 1453.9987; mapZ[playerid] = 350.0000; mapstarted[playerid] = 0;
public OnPlayerCommandText и туда вставляем:
PHP:
if(strcmp(cmdtext, "/karo", true, 10) == 0)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
OriginalX[playerid] = X; OriginalY[playerid] = Y; OriginalZ[playerid] = Z;
mapstarted[playerid] = 1; TogglePlayerControllable(playerid, 0);
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
return 1;
}
if(strcmp(cmdtext, "/karoff", true, 10) == 0)
{
mapstarted[playerid] = 0;
TogglePlayerControllable(playerid, 1);
SetPlayerPos(playerid, OriginalX[playerid], OriginalY[playerid], OriginalZ[playerid]);
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerUpdate и туда вставляем:
PHP:
if(mapstarted[playerid] == 1)
{
new o,ud,lr;
GetPlayerKeys(playerid,o,ud,lr);
if(ud > 0)
{
mapY[playerid] = mapY[playerid] - 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
}
else if(ud < 0)
{
mapY[playerid] = mapY[playerid] + 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
return 1;
}
if(lr > 0)
{
mapX[playerid] = mapX[playerid] + 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
}
else if(lr < 0)
{
mapX[playerid] = mapX[playerid] - 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
return 1;
}
}
public OnPlayerKeyStateChange и туда вставляем:
PHP:
if(mapstarted[playerid] == 1)
{
if(newkeys & KEY_SPRINT) // +
{
mapZ[playerid] = mapZ[playerid] + 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
}
if(newkeys & KEY_CROUCH) // -
{
mapZ[playerid] = mapZ[playerid] - 10.0000;
SetPlayerCameraPos(playerid, mapX[playerid], mapY[playerid], mapZ[playerid]);
SetPlayerCameraLookAt(playerid, mapX[playerid], mapY[playerid], 15.3746);
SetPlayerPos(playerid,mapX[playerid], mapY[playerid], mapZ[playerid] + 10.0000);
return 1;
}
}
Последнее редактирование:
