15:58
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
MYSQL Донат (2)
JasonGordon 08.02.2017 10:39
Зацените (12)
JasonGordon 26.01.2017 18:36
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: Dima-kun 
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Функция объёма бензобака
Функция объёма бензобака
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
Мастер джэдай
Группа: Модераторы
Сообщений: 3923
Награды: 287
Город: Мухосранск
Репутация: 8404
Замечания: 0%
Статус:
Код ужасен, спокойно можно было объеденить многие кейсы.


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
Lom4ik13Дата: Пятница, 24.02.2012, 21:47 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 286
Награды: 3
Город: Киев
Репутация: -74
Замечания: 80%
Статус:
velix, почему код ужасен?


EakwarpДата: Пятница, 24.02.2012, 23:50 | Сообщение # 4
Мастер джэдай
Группа: Продвинутые
Сообщений: 4877
Награды: 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
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 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
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 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
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 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
Мастер джэдай
Группа: Продвинутые
Сообщений: 2650
Награды: 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]
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Функция объёма бензобака
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM