PDA

Просмотр полной версии : [Вопрос] камера,кнопки..



[ForD]
14.10.2014, 16:42
Эмм.. в общем, вроде в стандартном моде видел такую фичу,типа листаешь клавишами вправо,влево и там меняется камера на определенный город,хочу сделать подобную систему но не с городами правда но главное принцип работы тот же,мне бы узнать функции с помощью которых можно реализовать это,спасибо.

Nurick
14.10.2014, 17:02
Так откройте стандартный файл pwn, там же есть принцип этого.

new Text:txtClassSelHelper;
new Text:txtLosSantos;
new Text:txtSanFierro;
new Text:txtLasVenturas;


ClassSel_InitTextDraws()
{
// Init our observer helper text display
txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
ClassSel_InitCityNameText(txtLosSantos);
txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
ClassSel_InitCityNameText(txtSanFierro);
txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
ClassSel_InitCityNameText(txtLasVenturas);

// Init our observer helper text display
txtClassSelHelper = TextDrawCreate(10.0, 415.0,
" Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
TextDrawUseBox(txtClassSelHelper, 1);
TextDrawBoxColor(txtClassSelHelper,0x222222BB);
TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
TextDrawTextSize(txtClassSelHelper,400.0,40.0);
TextDrawFont(txtClassSelHelper, 2);
TextDrawSetShadow(txtClassSelHelper,0);
TextDrawSetOutline(txtClassSelHelper,1);
TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
}



ClassSel_SetupSelectedCity(playerid)
{
if(gPlayerCitySelection[playerid] == -1) {
gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
}

if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);

TextDrawShowForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
}
else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);

TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawShowForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
}
else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);

TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawShowForPlayer(playerid,txtLasVenturas);
}
}


if(Keys & KEY_FIRE) {
gPlayerHasCitySelected[playerid] = 1;
TextDrawHideForPlayer(playerid,txtClassSelHelper);
TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
TogglePlayerSpectating(playerid,0);
return;
}


...................

DeimoS
14.10.2014, 17:03
Простое отслеживание нажатия на стрелки в OnGameModeInIt и дальнейшее SetPlayerCameraPos+SetPlayerCameraLookAt. Открой стандартный мод (grandlarc, кажется) и посмотри реализацию

[ForD]
14.10.2014, 19:31
Простое отслеживание нажатия на стрелки в OnGameModeInIt и дальнейшее SetPlayerCameraPos+SetPlayerCameraLookAt. Открой стандартный мод (grandlarc, кажется) и посмотри реализацию

В общем с камерой разобрался,но моя вечная проблема под номером 7,это то,что я так ни разу и не работал с кнопками,и не понимаю с чего начать :с

DeimoS
14.10.2014, 21:49
;51900']В общем с камерой разобрался,но моя вечная проблема под номером 7,это то,что я так ни разу и не работал с кнопками,и не понимаю с чего начать :с

Говорю же, открой grandlarc и в OnPlayerUpdate будет нужный код. Он там просто убран в отдельный stock. Там работа с кнопками и будет.

[ForD]
14.10.2014, 22:24
Говорю же, открой grandlarc и в OnPlayerUpdate будет нужный код. Он там просто убран в отдельный stock. Там работа с кнопками и будет.

Ладно посмотрим,спасибо.