Функция объёма бензобака
|
|
Lom4ik13 | Дата: Пятница, 24.02.2012, 21:23 | Сообщение # 1 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 286
Награды: 3
Город: Киев
Репутация: -74
Замечания: 80%
Статус:
| У каждого транспорта будет свой объем бензобака. Вот код: Code stock GetCarBak(vehicleid) { new model = GetVehicleModel(vehicleid); switch(model) { case 400:return 77; case 401:return 78; case 402:return 75; case 403:return 90; case 404:return 51; case 405:return 65; case 406..408:return 100; case 409:return 66; case 410:return 45; case 411:return 80; case 412:return 55; case 413:return 80; case 414:return 70; case 415:return 60; case 416:return 80; case 417:return 250; case 418:return 50; case 419:return 55; case 420:return 60; case 421:return 60; case 422:return 50; case 423:return 51; case 424:return 60; case 425:return 250; case 426:return 60; case 427..428:return 80; case 429:return 60; case 430:return 150; case 431:return 80; case 432:return 50; case 433:return 80; case 434:return 55; case 436:return 50; case 437:return 80; case 438:return 60; case 439:return 60; case 440:return 65; case 442:return 50; case 443:return 80; case 444:return 50; case 445:return 60; case 446:return 150; case 447:return 250; case 448:return 35; case 451:return 80; case 452..454:return 150; case 455..456:return 80; case 457:return 40; case 458:return 50; case 459:return 80; case 460:return 1; case 461..463:return 70; case 466..467: return 50; case 468:return 70; case 469:return 250; case 470:return 80; case 471:return 40; case 472..473:return 150; case 474..475:return 55; case 476:return 250; case 477:return 60; case 478:return 55; case 479:return 49; case 480:return 60; case 482..483:return 70; case 484:return 150; case 485:return 50; case 486:return 80; case 487..488:return 250; case 489..490:return 60; case 491..492:return 50; case 493:return 150; case 494..495:return 75; case 496:return 70; case 497:return 250; case 498..499:return 60; case 500:return 60; case 502..504:return 70; case 505:return 65; case 506:return 80; case 507:return 50; case 508:return 75; case 511..513:return 250; case 514..515:return 80; case 516..518:return 50; case 519..520:return 250; case 521..523:return 60; case 524:return 80; case 525:return 80; case 526..527:return 50; case 528:return 72; case 529:return 51; case 530:return 45; case 531:return 73; case 532:return 93; case 533:return 64; case 534:return 55; case 535..536:return 65; case 539:return 51; case 540:return 58; case 541:return 78; case 542:return 61; case 543:return 54; case 544:return 86; case 545:return 75; case 546:return 52; case 547:return 52; case 548:return 250; case 549..551:return 50; case 552:return 62; case 553:return 250; case 554:return 60; case 555:return 72; case 556..557:return 80; case 558:return 50; case 559..560:return 70; case 561:return 53; case 562:return 70; case 563:return 250; case 565:return 77; case 566:return 45; case 567:return 53; case 568:return 62; case 571:return 40; case 572:return 55; case 573:return 80; case 574:return 43; case 575:return 65; case 576:return 51; case 577:return 250; case 578:return 75; case 579:return 70; case 580:return 65; case 581:return 40; case 582:return 55; case 583:return 40; case 585:return 50; case 586:return 40; case 587:return 66; case 588:return 50; case 589:return 50; case 592..593:return 250; case 595:return 150; case 596..599:return 61; case 600:return 43; case 601:return 80; case 602..603:return 60; case 604..605:return 50; case 609:return 65; default:return 50; } return 0; } То что идет после return это как вы уже догадались объем бака, вы можете его менять на свое значение. Как использовать и вызывать? Вызывается код очень просто : GetCarBak(vehicleid); Использовать можно в разных случаях, вот например при загрузке безнина, раньше у вас было что то такое: Code for(new c=0;c<MAX_VEHICLES;c++) { Gas[c] = 100; } Это значит что в каждое авто заправляет 100 литров, а если сделать так: Code for(new c=0;c<MAX_VEHICLES;c++) { Gas[c] = GetCarBak©; } Тогда в каждом транспорте будет свое кол-во топлива. Так же не забудьте поставить при заправке проверку ну и можно отобразить в спидометре. Автор: Mike
|
|
|
|
Великс | Дата: Пятница, 24.02.2012, 21:44 | Сообщение # 2 |
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
| Код ужасен, спокойно можно было объеденить многие кейсы.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
|
|
|
Lom4ik13 | Дата: Пятница, 24.02.2012, 21:47 | Сообщение # 3 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 286
Награды: 3
Город: Киев
Репутация: -74
Замечания: 80%
Статус:
| velix, почему код ужасен?
|
|
|
|
Eakwarp | Дата: Пятница, 24.02.2012, 23:50 | Сообщение # 4 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
| Не дано было просто сделать массив с объемом и одну коротенькую функцию для его вычисления? Нахрен каждый вызов выполнять такой объем кода?
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
|
|
|
|
Lom4ik13 | Дата: Пятница, 24.02.2012, 23:53 | Сообщение # 5 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 286
Награды: 3
Город: Киев
Репутация: -74
Замечания: 80%
Статус:
| Eakwarp, сделай подругому, я подругому незнаю как сделать.
|
|
|
|
ZiGGi | Дата: Суббота, 25.02.2012, 00:00 | Сообщение # 6 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Quote (Lom4ik13) сделай подругому, я подругому незнаю как сделать. Я сделал подобную вещь почти 3 года назад;) [FS] QuidemSys v2.2
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|
Lom4ik13 | Дата: Суббота, 25.02.2012, 00:14 | Сообщение # 7 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 286
Награды: 3
Город: Киев
Репутация: -74
Замечания: 80%
Статус:
| ZiGGi, подробнее опишы QuidemSys v2.2
|
|
|
|
ZiGGi | Дата: Суббота, 25.02.2012, 00:37 | Сообщение # 8 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Quote (Lom4ik13) подробнее опишИ QuidemSys v2.2 Тема http://www.samp-rus.com/forum/8-10320-1 (в первом посте старая версия)
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|
Elbi | Дата: Суббота, 25.02.2012, 08:38 | Сообщение # 9 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 168
Награды: 7
Город: Алчевск
Репутация: 97
Замечания: 0%
Статус:
| Я еще делал для каждой модели свой коэффициент расхода. Намного реалистичнее чем вычислять расход только исходя из скорости и объема бака.
|
|
|
|
ZiGGi | Дата: Суббота, 25.02.2012, 11:21 | Сообщение # 10 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Quote (Elbi) Я еще делал для каждой модели свой коэффициент расхода. Намного реалистичнее чем вычислять расход только исходя из скорости и объема бака. Я в перспективе хотел это сделать, но не захотелось забивать данными ещё один массив
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|
Desert | Дата: Воскресенье, 26.02.2012, 16:42 | Сообщение # 11 |
Местный
Группа:
I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус:
| Пример оптимизация для начала Code stock GetCarBak(carid) { switch (GetVehicleModel(carid)) { case 400..416,418..424,426..429,431..445,449,451,455,456,458,459,461: return 1; case 463,466..468,470,471,474,475,477..480,482,483,485,486,489..492,494..496,498..508: return 1; case 514..518,521..531,533..537,539..547,549..551,554..562,564..568,572..576,578..583,585..589,596..605,609: return 1; } return 0; }
Сообщение отредактировал Desert - Воскресенье, 26.02.2012, 16:44 |
|
|
|
Borog | Дата: Воскресенье, 26.02.2012, 17:35 | Сообщение # 12 |
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
| Desert, Вы темы не ошиблись? Или пост набить зашли, мимо проходив? Во-первых, ваш код никак не связан с кодом автора темы А во-вторых, оптимизацией кода автора, что и имел ввиду Eakwarp, будет такая: new const CarBak[MAX_VEHICLES] = {77,78,*бла-бла-бла*,50,65};
т.о. код: CarBak[GetVehicleModel(vehicleid)-400]; (поправочка. спасибо зигги) вернет вам необходимое значение
Silver Break http://s-break.ru/ http://vk.com/sbreak
Сообщение отредактировал Borog - Воскресенье, 26.02.2012, 18:09 |
|
|
|
ZiGGi | Дата: Воскресенье, 26.02.2012, 18:05 | Сообщение # 13 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Quote (Borog) т.о. код: CarBak[GetPlayerVehicleID(playerid)-400]; вернет вам необходимое значение Код CarBak[GetVehicleModel(vehicleid)-400] вернёт вам необходимое значение.
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|