 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[FS]_bus_job
| |
| Likoniko | Дата: Среда, 29.12.2010, 11:41 | Сообщение # 1 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 584
Награды: 3
Город: Vaasa
Репутация: 199
Замечания: 20%
Статус: 
| И так, я сделал фс добовляющий на сервер работу водителя автобуса. Описание: ФС добовляет на сервер работу водителя автобуса, а также офис устройства на работу. Офис находится у пляжа (на большинстве РП серверах там устраиваться водителем автобуса или авто вором). В офисе можно посмотреть маленький туториал по професии водителя автобуса, так же стать водителем автобуса и переодеться в форму водителя автобуса. Команды:/film,/talk(почему то пикап не отображает текст, незнаю почему :(),/exit. Сама работа из себя предстваляет езду по чек поинтам ,и на последнем чек поинте дадут 700 долларов ,и заберут ключи. Без ключей вы не попадёте в авто в качестве водителя.Ключи выдаются после разговора с секретаршей и забираются на последнем чекпоинте. Задействовано обьектов: 14 Задействовано авто: 8 Ссылка на скачивание: http://ifolder.ru/21075240 Скриншоты: П.С это моя первая работа, сильно не бейте :).
[cut noguest=Мои работы]FAQ перенапровление портов:http://www.samp-rus.com/forum/42-14704-1 [FS]_bus_job:http://www.samp-rus.com/forum/8-14707-1 [FS]Cafe:http://www.samp-rus.com/forum/8-14725-1 [FS]Gate Creator:http://www.samp-rus.com/forum/8-14747-1#314492 [MAP]Office:http://www.samp-rus.com/forum/65-16002-1 [MAP]Квартиры:http://www.samp-rus.com/forum/65-16183-1 [FS] Квартиры:http://www.samp-rus.com/forum/8-16212-1[/cut] Мой блог
|
| |
|
|
| velix | Дата: Среда, 29.12.2010, 11:57 | Сообщение # 2 |
|
Группа:
Удаленные
| Во первых WTF? Во вторых зачем ты не убрал пустые паблики? В третьих: new vhod; Code new clothes; new pomosh; new vihod; new job; new key; new check; Зачем каждый раз создавать новую переменную?Еще и #pragma tabsize 0 там...
|
| |
|
|
| Vagrant | Дата: Среда, 29.12.2010, 12:46 | Сообщение # 3 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| Likoniko, То что это первая работа видно по коду, много недочётов. Работать будет не очень, но будет. Если ты не против я укажу на некоторые ошибки в коде что бы ты их никогда не повторя больше. Паблики: public OnGameModeInit() public OnGameModeExit() public OnPlayerRequestClass(playerid, classid) Всё что в этих пабликах и сами паблики лучше удалить. Второе это: forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); /* Так же лучше удалить и форвард и паблик и использовать за место этого встроенную такую же функцию ничего не добовляя. */ IsPlayerInRangeOfPoint(playerid, Float:radi, X, Y, Z) // Кстати радиус желательно писать не просто 5 как у тебя а 5.0 Третее: Quote if(PlayerToPoint(5, playerid,1219.9298,-1762.9597,13.6918)) // Тут я уже говорил правильно писать 5.0 SetPlayerCameraPos(playerid, 1372.7532,-1683.0526,69.6645); SetPlayerCameraLookAt(playerid, 1372.7532,-1683.0526,69.6645); Тут ошибкой является то что после условия if(PlayerToPoint(5, playerid,1219.9298,-1762.9597,13.6918)) нет открывающейся фигурной скобки. Если нету фигурной скобки то после такого условия читается только 1 функци. То есть это функция SetPlayerCameraPos(playerid, 1372.7532,-1683.0526,69.6645); следовательно функции которые находятся дальше выполнятся не зависимо от того верно условие или ложно. Функция SetPlayerCameraLookAt(playerid, 1372.7532,-1683.0526,69.6645); камера будет смотреть в сторону координат даже если условие не верно. Для этого нужны фигурные скобки {}. Правильнее было бы написать: Quote if(PlayerToPoint(5, playerid,1219.9298,-1762.9597,13.6918)) // Тут я уже говорил правильно писать 5.0 { SetPlayerCameraPos(playerid, 1372.7532,-1683.0526,69.6645); SetPlayerCameraLookAt(playerid, 1372.7532,-1683.0526,69.6645); // ... Тут остальной код } Четвёртое: Quote key -= 1; // Отнимает от key 1. key == 0; // Как я понимаю устанавливает key значение 0. Из этого вывод такой что после вычитания 1 из key, key становится 0. И тут сразу же ещё и прировняли к нулю. Как было бы правильнее: Quote key = 0; // Всё! Вот так вот можно было бы написать. Я запомнил так что такое "==" ставится только тогда когда пишется условие. То есть в условие. Левое == правому. В обычном так не ставится. Так же и здесь: Quote key == 1; // Значение key установили на 1 key += 1; // И прибавили ещё 1. Значение key уже равно 2. То есть если надо что бы было равно 2 то ставим просто: Если 1 то: Пятое: Quote GameTextForPlayer(playerid, "~y~Обучающий фильм для начинающих водителей автобусного парка ((используйте /film)) ", 5000, 5); // Думаю на экран выведутся иероглефы. Шестое: Quote if(key != 0) if(key == 1) Вариант номер 2 как это можно написать: Quote if(key != 0 && key == 1) или просто if(key == 1) или if(key != 0 || key == 1) // && - и, || - или 7-е: Команды для теста можно было бы и убрать но это уже так, формальность.
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Среда, 29.12.2010, 13:05 |
| |
|
|
| velix | Дата: Среда, 29.12.2010, 12:50 | Сообщение # 4 |
|
Группа:
Удаленные
| Немного оптимизировал и подправил коды: +Убрал варны +Убрал #pragma tabsize 0 +Уменьшил кол-во переменных +Снес PlayerToPoint +Перевел текст на русский (В GameTextForPlayer) +Некоторые команды перевел в одну (в несколько было бредово) 148 строк http://ifolder.ru/21077662
|
| |
|
|
| Vagrant | Дата: Среда, 29.12.2010, 13:00 | Сообщение # 5 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| velix, Аж не выдержал смотреть на это и сам всё сделал Надо было что бы он сам сделал так бы хоть понял в чём ошибки. И запомнил бы их.
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
|
| |
|
|
| velix | Дата: Среда, 29.12.2010, 13:23 | Сообщение # 6 |
|
Группа:
Удаленные
| Vagrant, ну вот пусть посмотрит Мне делать было нечего, решил немног покапаться
|
| |
|
|
| Likoniko | Дата: Среда, 29.12.2010, 14:45 | Сообщение # 7 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 584
Награды: 3
Город: Vaasa
Репутация: 199
Замечания: 20%
Статус: 
| Спасибо вам, я в павно всего 4 дня поэтому писал от болды.Добавлено (29.12.2010, 14:43) ---------------------------------------------
Code new vhod,clothes,pomosh,vihod,job,key,check; stock pause(msec){ Я незнал что так можно, я думал постоянно новую переменную. Code new ms = GetTickCount()+msec; while(ms > GetTickCount()) {}} мммм , а что это? Научите использовать пожалуйста. Code if(GetVehicleModel(vehicleid) == 431) if(key == 0){SetVehicleParamsForPlayer(vehicleid, playerid, 0, 1);} if(key != 0) if(key == 1){SetVehicleParamsForPlayer(vehicleid, playerid, 0, 0);} if(ispassenger == 1){SetVehicleParamsForPlayer(vehicleid, playerid, 0, 0);return 1;} return 1;} а почему ты скобки после каждого *иф* не поставил? или не обязательно? Code "~y~O€YA”Š…† …‡’– ƒ‡• ìA…ìA”Š…X BOƒ…E‡E† ABO€YCìO‚O ŒAPKA ((…CŒO‡’ˆY†E /film))" как вы такие символы пишите?Добавлено (29.12.2010, 14:45) --------------------------------------------- и какая разница у IsPlayerInRangeOfPoint и ПлаерТуПоинт
[cut noguest=Мои работы]FAQ перенапровление портов:http://www.samp-rus.com/forum/42-14704-1 [FS]_bus_job:http://www.samp-rus.com/forum/8-14707-1 [FS]Cafe:http://www.samp-rus.com/forum/8-14725-1 [FS]Gate Creator:http://www.samp-rus.com/forum/8-14747-1#314492 [MAP]Office:http://www.samp-rus.com/forum/65-16002-1 [MAP]Квартиры:http://www.samp-rus.com/forum/65-16183-1 [FS] Квартиры:http://www.samp-rus.com/forum/8-16212-1[/cut] Мой блог
|
| |
|
|
| velix | Дата: Среда, 29.12.2010, 15:09 | Сообщение # 8 |
|
Группа:
Удаленные
| Quote (Likoniko) какая разница у IsPlayerInRangeOfPoint и ПлаерТуПоинт PlayerToPoint это самописанная функция, а IsPlayerInRangeOfPoint это нативная функ. Quote (Likoniko) мммм , а что это? Научите использовать пожалуйста. Эмм по сути это пауза, вроде ты сам должен знать.Ты же вроде писал...
|
| |
|
|
| Likoniko | Дата: Среда, 29.12.2010, 15:22 | Сообщение # 9 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 584
Награды: 3
Город: Vaasa
Репутация: 199
Замечания: 20%
Статус: 
| Ах да забыл про паузу.
[cut noguest=Мои работы]FAQ перенапровление портов:http://www.samp-rus.com/forum/42-14704-1 [FS]_bus_job:http://www.samp-rus.com/forum/8-14707-1 [FS]Cafe:http://www.samp-rus.com/forum/8-14725-1 [FS]Gate Creator:http://www.samp-rus.com/forum/8-14747-1#314492 [MAP]Office:http://www.samp-rus.com/forum/65-16002-1 [MAP]Квартиры:http://www.samp-rus.com/forum/65-16183-1 [FS] Квартиры:http://www.samp-rus.com/forum/8-16212-1[/cut] Мой блог
|
| |
|
|
| Vagrant | Дата: Четверг, 30.12.2010, 10:17 | Сообщение # 10 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| Quote и какая разница у IsPlayerInRangeOfPoint и ПлаерТуПоинт Встроенную функцию всегда лучше использовать. Так как памяти она будет есть меньше только потому что она встроена. Quote Эмм по сути это пауза, вроде ты сам должен знать.Ты же вроде писал... Эту паузу мне когда-то давно я помню писал кто-то с форума. Но не он. Quote как вы такие символы пишите? Есть специальная программа которая переводит русские буквы на такие символы. Quote Я незнал что так можно, я думал постоянно новую переменную. Можно ещё вот так: new Per,Float:Per1,Per2[256]; // То есть переменные разных типов но это в принципе одно и то же что написать так: new Per; new Float:Per1; new Per2[256]; Quote мммм , а что это? Научите использовать пожалуйста. Это типа функция, можно ещё написать например такую функцию: stock RandGiveMoney(money) { GivePlayerMoney(random(GetMaxPlayers()),money); // Даёт money (за место money в функцию пишешь сумму) случайному игроку. } RandGiveMoney(5000); // Кто-то на сервере получит 5000$ даже тот игрок которого там нету Не знаю как в павно но в C++ обычно если функция большая то она не заменяется этими строками которые написаны внутри stock RandGiveMoney(money). А если маленькая то за место RandGiveMoney(5000) в коде при компиляции будет написано: GivePlayerMoney(random(GetMaxPlayers()),5000);
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Четверг, 30.12.2010, 10:20 |
| |
|
|
| Likoniko | Дата: Четверг, 30.12.2010, 10:28 | Сообщение # 11 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 584
Награды: 3
Город: Vaasa
Репутация: 199
Замечания: 20%
Статус: 
| Quote (Vagrant) Эту паузу мне когда-то давно я помню писал кто-то с форума. Но не он. Хочеш открою секрет? Если я незнал какойто функции, я её просто брал с форума и менял немного. [off]Поиск рулит[/off] Quote (Vagrant) new Per2[256]; 256 это что?
[cut noguest=Мои работы]FAQ перенапровление портов:http://www.samp-rus.com/forum/42-14704-1 [FS]_bus_job:http://www.samp-rus.com/forum/8-14707-1 [FS]Cafe:http://www.samp-rus.com/forum/8-14725-1 [FS]Gate Creator:http://www.samp-rus.com/forum/8-14747-1#314492 [MAP]Office:http://www.samp-rus.com/forum/65-16002-1 [MAP]Квартиры:http://www.samp-rus.com/forum/65-16183-1 [FS] Квартиры:http://www.samp-rus.com/forum/8-16212-1[/cut] Мой блог
|
| |
|
|
| velix | Дата: Четверг, 30.12.2010, 12:38 | Сообщение # 12 |
|
Группа:
Удаленные
| Quote (Likoniko) 256 это что? Массив.Например, юзается при создании format.Добавлено (30.12.2010, 12:38) --------------------------------------------- ps - строк можно сделать еще меньше (100 гдет), но тогда код будет совсем нечитаемым 
|
| |
|
|
| Vagrant | Дата: Четверг, 30.12.2010, 17:20 | Сообщение # 13 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| Quote Хочеш открою секрет? Это не секрет. Все так делают. new masiv[7] = "Привет"; // На букву по ячейке. 7-я ячейка используется для символа конец строки "\0" Кстати что бы не создавать много переменных можно создать 1 массив: new masiv[6]; Использовать его можно так же как переменны: masiv[0] = CreateVehicle(...); masiv[1] = CreateObject(...); и так далее. Используются как переменные только для их различия меняется ячейка массива: new clothes; // masiv[0] new pomosh; // masiv[1] new vihod; // masiv[2] new job; // masiv[3] new key; // masiv[4] new check; // masiv[5]
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Четверг, 30.12.2010, 17:28 |
| |
|
|
|
 |
|
 | |
| |
|