 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Делаем входы/выходы в здание
| |
| Fus1 | Дата: Суббота, 14.05.2011, 20:38 | Сообщение # 1 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| Давно хотел сделать урок и упростить для всех данную задачу, в том-же самом моде "GF" добавлять входы/выходы в здания ужасно и легко запутаться. Вообщем, тут всё делается на много проще и в 1 строке. В начало мода добавим Code #define TELEPORTS 1 //Кол-во телепортов на данный момент При добавлении телепортов не забываем изменять цифру на ту которая = кол-ву телепортов. Тут у нас сами телепорты, добавил 1 телепорт для примера, Code new IntTel[TELEPORTS][100] = { {"2069.6624,-1779.7228,13.5591,91.4813,0,0,-204.0985,-26.3558,1002.2734,350.2738,16,12"}//тату салон-1 }; Quote Добавлять координаты так : X1.X1 Y1.Y1 Z1.Z1 A1.A1 Инт1 Вирт1 X2.X2 Y2.Y2 Z2.Z2 A2.A2 Инт2 Вирт2 Далее сделаем вход/выход на клавишу "ALT" , ну или можете сделать как вам удобнее. Code public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys == KEY_WALK) Teleport(playerid); return 1; } И в любое добавляем Code stock Teleport(playerid) { new T[12][32], vw = GetPlayerVirtualWorld(playerid); for(new i; i < TELEPORTS; i++) { split(IntTel[i], T, ','); if(IsPlayerInRangeOfPoint(playerid,4.0,floatstr(T[0]),floatstr(T[1]),floatstr(T[2])) && vw == strval(T[5]) && GetPlayerInterior(playerid) == strval(T[4])) { SetPlayerPos(playerid,floatstr(T[6]),floatstr(T[7]),floatstr(T[8])); SetPlayerFacingAngle(playerid,floatstr(T[9])); SetPlayerInterior(playerid,strval(T[10])); SetPlayerVirtualWorld(playerid,strval(T[11])); return 1; } else if(IsPlayerInRangeOfPoint(playerid,4.0,floatstr(T[6]),floatstr(T[7]),floatstr(T[8])) && vw == strval(T[11]) && GetPlayerInterior(playerid) == strval(T[10])) { SetPlayerPos(playerid,floatstr(T[0]),floatstr(T[1]),floatstr(T[2])); SetPlayerFacingAngle(playerid,floatstr(T[3])); SetPlayerInterior(playerid,strval(T[4])); SetPlayerVirtualWorld(playerid,strval(T[5])); return 1; } } return 1; } Работает для любого мода.
|
| |
|
|
| Goshik | Дата: Суббота, 14.05.2011, 20:57 | Сообщение # 2 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 280
Награды: 1
Город: ---
Репутация: 18
Замечания: 60%
Статус: 
| пикапы уже не рулят?
|
| |
|
|
| Великс | Дата: Суббота, 14.05.2011, 21:12 | Сообщение # 3 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| [off] Fus1, тебе самому не стыдно такой урок писать?[/off] Goshik, +1, так намного удобнее.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|
| Fus1 | Дата: Суббота, 14.05.2011, 21:13 | Сообщение # 4 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| Quote (Goshik) пикапы уже не рулят? ну для меня нет, а для тебя не знаю. Если удобнее через пикапы - пожалуйста, не кто не заставляет тебя делать моим способом.Добавлено (14.05.2011, 21:13) --------------------------------------------- [off][MrVelix], тебе то чё не нравиться ? Делать было нечего, вот и сделал, а тебе не стыдно выкладывать один и теже работы в "ФА" и всякое дерьмо ?[/off]
|
| |
|
|
| Великс | Дата: Суббота, 14.05.2011, 21:24 | Сообщение # 5 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| [off]Quote (Fus1) [MrVelix], тебе то чё не нравиться ? Делать было нечего, вот и сделал, а тебе не стыдно выкладывать один и теже работы в "ФА" и всякое дерьмо ? Я не наезжаю, просто это баян, думаю это уже давно все знают, согласись.[/off]
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|
| Fus1 | Дата: Суббота, 14.05.2011, 21:40 | Сообщение # 6 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| [off][MrVelix], пример дай где бы был такой урок, ок?[/off]
|
| |
|
|
| ZiGGi | Дата: Суббота, 14.05.2011, 22:01 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| бредятина... 1. enum не в моде? 2. На кой хер создавать новый массив и делать split(IntTel[i], T, ','); (потом ещё и конвертить числа...) 3. vw не объявлен и раз так сделал миры, то интерьер почему забыл? В итоге: бездарный и ошибочный урок... вот, поправил: Code enum IntTel_Info { Float:ent_X, Float:ent_Y, Float:ent_Z, Float:ent_A, ent_Int, ent_World, Float:ext_X, Float:ext_Y, Float:ext_Z, F loat:e xt_A, ext_Int, ext_World, } new IntTel[][IntTel_Info] = { {2069.6624,-1779.7228,13.5591,91.4813,0,0,-204.0985,-26.3558,1002.2734,350.2738,16,12}//тату салон-1 };
stock Teleport(playerid) { new vw = GetPlayerVirtualWorld(playerid); new pint = GetPlayerInterior(playerid); for(new i=0; i < sizeof(IntTel); i++) { if(IsPlayerInRangeOfPoint(playerid,4.0,IntTel[i][ent_X],IntTel[i][ent_Y],IntTel[i][ent_Z]) && pint == IntTel[i][ent_Int] && vw == IntTel[i][ent_World]) { SetPlayerPos(playerid,IntTel[i][ext_X],IntTel[i][ext_Y],IntTel[i][ext_Z]); SetPlayerFacingAngle(playerid,IntTel[i][ext_A]); SetPlayerInterior(playerid,IntTel[i][ext_Int]); SetPlayerVirtualWorld(playerid,IntTel[i][ext_World]); return 1; } else if(IsPlayerInRangeOfPoint(playerid,4.0,IntTel[i][ext_X],IntTel[i][ext_Y],IntTel[i][ext_Z]) && pint == IntTel[i][ext_Int] && vw == IntTel[i][ext_World]) { SetPlayerPos(playerid,IntTel[i][ent_X],IntTel[i][ent_Y],IntTel[i][ent_Z]); SetPlayerFacingAngle(playerid,IntTel[i][ent_A]); SetPlayerInterior(playerid,IntTel[i][ent_Int]); SetPlayerVirtualWorld(playerid,IntTel[i][ent_World]); return 1; } } return 1; } pastebin
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
Сообщение отредактировал ZZiGGi - Суббота, 14.05.2011, 22:16 |
| |
|
|
| Fus1 | Дата: Суббота, 14.05.2011, 22:07 | Сообщение # 8 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| Quote (ZZiGGi) 1. enum не в моде? Ты прям как Goshik Quote (Goshik) пикапы уже не рулят? Quote (ZZiGGi) интерьер почему забыл? в каком месте ? Quote (ZZiGGi) бездарный и ошибочный урок ну да, только чем он бездарный и ошибочный? Работоспособность его проверена и работает на ура, а бездарность это уже тупо твой выепон и всё.
|
| |
|
|
| Великс | Дата: Суббота, 14.05.2011, 22:14 | Сообщение # 9 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| Quote (Fus1) Ты прям как Goshik Quote (Goshik)пикапы уже не рулят? Эмм, причем тут пикапы то? Quote (Fus1) [MrVelix], пример дай где бы был такой урок, ок? lolwhat? это чисто реализация баяна в другой вариации Quote (Fus1) ну да, только чем он бездарный и ошибочный? Работоспособность его проверена и работает на ура, а бездарность это уже тупо твой выепон и всё. Сделал бы лучше динамичную систему, потратил бы на 15 минут больше.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|
| ZiGGi | Дата: Суббота, 14.05.2011, 22:22 | Сообщение # 10 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Quote (Fus1) в каком месте ? читай предложения полностью, ты ф-ию нахождения миров заюзал 1 раз, записав в vw, а интерьеры так не сделал, почему? Quote (Fus1) а бездарность это уже тупо твой выепон и всё Укажи где я "выепнулся" . Я написал как надо-было писать... Опять ты не хочешь принимать свои ошибки... итак, Quote (Fus1) new IntTel[TELEPORTS][100] ты создал СТРОКУ! Где ты такое видал ? Это же дибилизм чистой силы... И потом: Quote (Fus1) new T[12][32], Quote (Fus1) split(IntTel[i], T, ','); ты создал новый массив, и заюзал тяжёлую функцию, когда этого можно-было спокойно избежать... В связи с этим и с тем, что строка, тебе пришлось юзать кучу раз функции: floatstr и strval В итоге: * ты заюзал 100 ячеек в глобале(хватило-бы 12) * 12*32 ячеек в локале(без них можно было обойтись) * юзал функции split, floatstr, strval - влияет на быстродействие * код стал непонятный для девственных мозгов и УРОКОМ это назвать ну никак нельзя, скорее пособие: "как не надо писать скрипты". включай мозги уже...
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| Fus1 | Дата: Воскресенье, 15.05.2011, 07:02 | Сообщение # 11 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| ZZiGGi, ок убедил Ну кто не понимает тот я думаю ничего не понимает, ибо тут всё проще не куда.
|
| |
|
|
| _Dark_ | Дата: Вторник, 12.07.2011, 21:45 | Сообщение # 12 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 379
Награды: 4
Город: Dark://core.dll
Репутация: 169
Замечания: 40%
Статус: 
| Извиняюсь за подъем темы, но я дополню: я хотел это использовать в своем моде, создал 21 телепорт. Так вот: в момент самого телепорта загрузка CPU поднимается до 100%. Так что если вдруг кто то хочет поставить автоматический заход и засунуть это в таймер, то ваш сервер из 100% нагрузки не вылезит.
Если баги возникают из ниоткуда - ты на правильном пути. (с)
|
| |
|
|
|
 |
|
 | |
| |
|