помоги мне пожалуйста, как сделать так, чтобы при нажатии(в машине) правойй кнопки мыши(или ctrl)перед машиной появлялсо трамплин??!! ид трампа: 1634 (ппц долго узнавал)
помоги мне пожалуйста, как сделать так, чтобы при нажатии(в машине) правойй кнопки мыши(или ctrl)перед машиной появлялсо трамплин??!! ид трампа: 1634 (ппц долго узнавал)
некак,есле ты так сделаеш то соотвецтвенно при прицеливание трамп тоже появлятца будет)
Возьми пример использования "горячих" клавиш из P.E.N LS, при заправке используется кнопка на клавиатуре, сделай запрос координат игрока, и при нажатии на кнопку по XYZ игрока появлялся обьект, ничего сложного
дык это....... ну попробую.... и ещё это, как паинт сделать??? чтоб игок вместе с машиной тп в покраску, патом обратно... вот первоначальный код(который не хотити компилиться...): вверху написал это:
new Float:paint[MAX_PLAYERS]; new Float:paints[MAX_PLAYERS][3];
if(strcmp(cmdtext, "/paint",true) == 0){ if (IsPlayerInAnyVehicle(playerid)) { GetPlayerPos(playerid,paints[playerid][0],paints[playerid][1],paints[playerid][2]); SetVehicleZAngle(GetPlayerVehicleID(playerid), 0); SetVehiclePos(GetPlayerVehicleID(playerid),-100.5809,1117.7575,19.4579); new scoree=GetPlayerScore(playerid); SetPlayerScore(playerid,scoree-6); paint[playerid]=1; SetTimer("PlayerPaint",1000,0); } public PlayerPaint() { for (new i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { if (IsPlayerInAnyVehicle(i)) { SetVehicleZAngle(GetPlayerVehicleID(i), 0); SetVehiclePos(GetPlayerVehicleID(i),paints[i][0],paints[i][1],paints[i][2]); } else SetPlayerPos(i,paints[i][0],paints[i][1],paints[i][2]); paint[i]=0; } } } return 1; }
в моде stunters есть такой фильтрскрипт... Там это реализовано. НО при полёте на верте и гидре трамплины очень сильно мешают!!! Я рекомендую на контр трамплины не ставить :-) Плюсики за ответ приветствуются :-)
Добавлено (20.01.2008, 03:48) --------------------------------------------- в моде stunters есть такой фильтрскрипт... Там это реализовано. НО при полёте на верте и гидре трамплины очень сильно мешают!!! Я рекомендую на контр трамплины не ставить :-) Плюсики за ответ приветствуются :-)
Мой вариант скрипта для трамплинов: http://ifolder.ru/5025383 Трамплины ставятся на тачках при нажатии LMB или Attack (Ctrl) На мото трамлпины активированы всегда, чтобы активировать их на всех тачках, нужно написать команду: /rampon чтобы выключить это: /rampoff
Трамплины создаются как PlayerObject и видны только у того кто их ставит Трамплин исчезает через 2 секунды после создания Расстояние подобно оптимально для того чтобы можно было использовать трампы на лодках =)
Вот мой пример кода (выдрал из мода)Можно менять разновидности трамплина ставить трмп CTRL Установка:Вставь в код мода в нужные строки скрипта мода
Code
new keydown[MAX_PLAYERS] = {false, ...}; new rampid[MAX_PLAYERS] = {-1, ...}; forward Keys(); forward RemoveRamp(playerid); forward Float:GetOptimumRampDistance(playerid); forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance); forward CarSelectMenu( playerid, i ); new ramptypes[] = { 1632, // normal water ramp 1660, // concrete one with pipes 1245, // plank of wood against a box 1631, // water ramp with rocks 1696, // curvy normal one 1655, // wide water ramp };
Float:GetOptimumRampDistance(playerid) { new ping = GetPlayerPing(playerid), Float:dist; dist = floatpower(ping, 0.25); dist = dist*4.0; dist = dist+5.0; return dist; } Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a); else GetPlayerFacingAngle(playerid, a); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); return a; } //Ramp public Keys() { new keys, updown, leftright, playerid; new Float:x, Float:y, Float:z, Float:angle; for (playerid = 0; playerid < MAX_PLAYERS; playerid++) { if (IsPlayerConnected(playerid)) { GetPlayerKeys(playerid, keys, updown, leftright); if (keys & KEY_ACTION && IsPlayerInAnyVehicle(playerid)) { if (!keydown[playerid]) { keydown[playerid] = true; if (rampid[playerid] == -1) { GetPlayerPos(playerid, x, y, z); angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid)); switch (playerramptypes[playerid]) { case 2: { angle -= 90.0; if (angle < 0.0) angle += 360.0; z += 0.5; } case 1: { z -= 0.5; } } rampid[playerid] = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 0.0, 0.0, angle); SetTimerEx("RemoveRamp", 4000, 0, "d", playerid); } } } else keydown[playerid] = false; } } } //Ramp public RemoveRamp(playerid) { if (rampid[playerid] != -1) { DestroyObject(rampid[playerid]); rampid[playerid] = -1; } } public CarSelectMenu( playerid, i ) {
carSelectMenu[playerid] = i; }
Лучший сайт Украины Sex Fun Warez Если я вам понадобился или помог ставте+ В связи с тем, что я больше не заинтересован в GTA и с выходом SA-MP версии 3, взлом аккаунтов и DDOS серверов стал невозможен, прошу больше меня по этому поводу в ICQ не беспокоить.
Сообщение отредактировал ZET - Воскресенье, 20.01.2008, 12:40
Во) Спс, чтобы использовать этот трамп в моём скрипте нужно изменить строку: new Obj=CreatePlayerObject(playerid,1245,x2,y2,z,0,0,az-90); на: new Obj=CreatePlayerObject(playerid,1634,x2,y2,z,0,0,az);