Sign in to follow this  
Followers 0
Homer4ik

Кто-нибудь знает как именно на определенную машину установить скорость с этим скриптом?

Рекомендованные сообщения



Не найдено.

39 posts in this topic

Кто-нибудь знает как именно на определенную машину установить скорость с этим скриптом?

 

Спойлер

stock SetVehicleSpeed(vehicleid,mph)
{
new Float:Vx, Float:Vy, Float:Vz ,Float:speeds, Float:multiple;
GetVehicleVelocity(vehicleid,Vx,Vy,Vz);
speeds = floatsqroot(Vx*Vx + Vy*Vy + Vz*Vz);
if(speeds > 0)
{
multiple = (mph / (speeds * 250));
return SetVehicleVelocity(vehicleid, Vx*multiple, Vy*multiple, Vz*multiple);
}
return 0;
}

 

Share this post


Link to post
Share on other sites

@Homer4ik Этот скрипт не устанавливает новую скорость, он лишь дает машине разгона. 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik Этот скрипт не устанавливает новую скорость, он лишь дает машине разгона. 

Ну как поставить на определенную машину разгон такой-то

Share this post


Link to post
Share on other sites

@Homer4ik Точнее придаст резкое ускорение определенной машине на указанное кол-во "миль в час". 

А сделать очень просто, нужно добавить туда, где хотите добавить ускорение следующий код: 
 

SetVehicleSpeed(GetPlayerVehicleID(playerid),20); // добавит ускорение машине, в которой сидит игрок, на 20 миль в час

 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik Точнее придаст резкое ускорение определенной машине на указанное кол-во "миль в час". 

А сделать очень просто, нужно добавить туда, где хотите добавить ускорение следующий код: 
 


SetVehicleSpeed(GetPlayerVehicleID(playerid),20); // добавит ускорение машине, в которой сидит игрок, на 20 миль в час

 

это куда вставлять?

Share this post


Link to post
Share on other sites

@Homer4ik например, можете сделать так :

Ко всем new: 

new timer[MAX_PLAYERS]; 

В OnPlayerStateChange после { вставьте: 

if(newstate == PLAYER_STATE_DRIVER)
  timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid); 
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

В конец мода (можно после стока SetVehicleSpeed)
 

forward SpeedVehicle(playerid); 
public SpeedVehicle(playerid) return SetVehicleSpeed(GetPlayerVehicleID(playerid), 5); 

В результате каждые 10 секунд машине будет прибавляться по 5 миль / ч к скорости. 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik например, можете сделать так :

Ко всем new: 


new timer[MAX_PLAYERS]; 

В OnPlayerStateChange после { вставьте: 


if(newstate == PLAYER_STATE_DRIVER)
  timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid); 
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

В конец мода (можно после стока SetVehicleSpeed)
 


forward SpeedVehicle(playerid); 
public SpeedVehicle(playerid) return SetVehicleSpeed(GetPlayerVehicleID(playerid), 5); 

В результате каждые 10 секунд машине будет прибавляться по 5 миль / ч к скорости. 

Это той машине в которой сидит игрок? А для каждой машины разное ускорение нельзя, как на ра*мире

Share this post


Link to post
Share on other sites

@Homer4ik Тогда сделайте так (замените предыдущий код): 

if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 
}
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

И соответственно паблик этим: 

forward SpeedVehicle(playerid, modelid); 
public SpeedVehicle(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

Вместо X ид первой машины, вместо XXmph ускорение для первой машины в миль/час.. 

Вместо Y ид второй машины, вместо YYmph ускорение для второй машины в миль/час. 

Дальше добавлять по аналогии. 
 

Share this post


Link to post
Share on other sites
8 минут назад, DEST сказал:

@Homer4ik Тогда сделайте так (замените предыдущий код): 


if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 
}
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

И соответственно паблик этим: 


forward SpeedVehicle(playerid, modelid); 
public SpeedVehicle(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

Вместо X ид первой машины, вместо XXmph ускорение для первой машины в миль/час.. 

Вместо Y ид второй машины, вместо YYmph ускорение для второй машины в миль/час. 

Дальше добавлять по аналогии. 
 

Ошибку выдало на new timer[MAX_PLAYERS];

C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(516) : error 021: symbol already defined: "timer"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

1 Error.

Share this post


Link to post
Share on other sites

@Homer4ik значит эту строку: 

new timer[MAX_PLAYERS]; 

Замените на эту: 

new speedvehicle[MAX_PLAYERS]; 

Эту строку: 
 

else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

На эту: 
 

else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(speedvehicle[playerid]); 

Ну и эту строку: 

timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 

На эту: 

speedvehicle[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 

Share this post


Link to post
Share on other sites
7 минут назад, DEST сказал:

@Homer4ik значит эту строку: 


new timer[MAX_PLAYERS]; 

Замените на эту: 


new speedvehicle[MAX_PLAYERS]; 

Эту строку: 
 


else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(timer[playerid]); 

На эту: 
 


else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(speedvehicle[playerid]); 

Ну и эту строку: 


timer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 

На эту: 


speedvehicle[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "dd", playerid, modelid); 

Это в конец мода?

forward SpeedVehicle(playerid, modelid); public SpeedVehicle(playerid, modelid) { new newmph; switch(modelid) { case X: newmph = XXmph; case Y: newmph = YYmph; } return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph); }

Share this post


Link to post
Share on other sites

@Homer4ik да

Share this post


Link to post
Share on other sites
2 минуты назад, DEST сказал:

@Homer4ik да

C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80106) : error 025: function heading differs from prototype
C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80107) : error 025: function heading differs from prototype
C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80108) : error 021: symbol already defined: "SpeedVehicle"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

3 Errors.

Share this post


Link to post
Share on other sites

@Homer4ik не надо вставлять два раза то, что я скинул. 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik не надо вставлять два раза то, что я скинул. 

крч, если тебе не трудно, можешь сразу кинуть что вставлять?

Share this post


Link to post
Share on other sites

@Homer4ik То, что вставляли до этого удалить, начните вставлять все с чистого листа, чтобы без ошибок. 

Ко всем new: 

new speedtimer[MAX_PLAYERS];

В OnPlayerStateChange: 
 

if(newstate == PLAYER_STATE_DRIVER)
  speedtimer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid); 
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(speedtimer[playerid]); 

В конец мода: 
 

forward SpeedVehicle(playerid, modelid); 
public SpeedVehicle(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

Share this post


Link to post
Share on other sites
6 минут назад, DEST сказал:

@Homer4ik То, что вставляли до этого удалить, начните вставлять все с чистого листа, чтобы без ошибок. 

Ко всем new: 


new speedtimer[MAX_PLAYERS];

В OnPlayerStateChange: 
 


if(newstate == PLAYER_STATE_DRIVER)
  speedtimer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid); 
else if(oldstate == PLAYER_STATE_DRIVER)
  KillTimer(speedtimer[playerid]); 

В конец мода: 
 


forward SpeedVehicle(playerid, modelid); 
public SpeedVehicle(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80105) : error 025: function heading differs from prototype
C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80106) : error 025: function heading differs from prototype
C:\Users\Ivan\Desktop\ArzamasRP\gamemodes\ArzamasRP.pwn(80107) : error 021: symbol already defined: "SpeedVehicle"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

3 Errors.

Share this post


Link to post
Share on other sites

@Homer4ik строки сразу скидывайте

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik строки сразу скидывайте

вот это в конце мода       }
    }
}
 forward SpeedVehicle(playerid, modelid);
 public SpeedVehicle(playerid, modelid)
 {
   new newmph;
   switch(modelid)
   {
     case 541: newmph = 100;
     case 503: newmph = 120;
   }
   return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
 }

Share this post


Link to post
Share on other sites

@Homer4ik а еще у вас где-нибудь forward SpeedVehicle в моде есть? 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

@Homer4ik а еще у вас где-нибудь forward SpeedVehicle в моде есть? 

нету, но есть

 if(newstate == PLAYER_STATE_DRIVER)
   speedtimer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid);
 else if(oldstate == PLAYER_STATE_DRIVER)
   KillTimer(speedtimer[playerid]);

 и

}
stock SpeedVehicle(playerid)
{

 

Share this post


Link to post
Share on other sites

@Homer4ik заменяйте так: 
 

if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  timer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); 
}

и форвард с пабликом на этот замените: 
 

forward SpeedVehicle222(playerid, modelid); 
public SpeedVehicle222(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

Share this post


Link to post
Share on other sites
2 минуты назад, DEST сказал:

@Homer4ik заменяйте так: 
 


if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  timer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); 
}

и форвард с пабликом на этот замените: 
 

 

это


 if(newstate == PLAYER_STATE_DRIVER)
   speedtimer[playerid] = SetTimerEx("SpeedVehicle", 10000, true, "d", playerid);
 else if(oldstate == PLAYER_STATE_DRIVER)
   KillTimer(speedtimer[playerid]);

на это?

if(newstate == PLAYER_STATE_DRIVER) { new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); timer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); }

 

 

9 минут назад, DEST сказал:

@Homer4ik заменяйте так: 
 


if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  timer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); 
}

и форвард с пабликом на этот замените: 
 


forward SpeedVehicle222(playerid, modelid); 
public SpeedVehicle222(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

Скинь еще раз, как сможешь короче, что куда вставлять

Share this post


Link to post
Share on other sites

@Homer4ik Скидываю последний раз, если не поймете, ваши проблемы. 

Ко всем new: 

new speedtimer[MAX_PLAYERS];

В OnPlayerStateChange: 

if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  speedtimer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); 
}
if(oldstate == PLAYER_STATE_DRIVER)
	KillTimer(speedtimer[playerid]); 

В конец мода: 

forward SpeedVehicle222(playerid, modelid); 
public SpeedVehicle222(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

Share this post


Link to post
Share on other sites
17 минут назад, DEST сказал:

@Homer4ik Скидываю последний раз, если не поймете, ваши проблемы. 

Ко всем new: 


new speedtimer[MAX_PLAYERS];

В OnPlayerStateChange: 


if(newstate == PLAYER_STATE_DRIVER)
{
  new modelid = GetVehicleModel(GetPlayerVehicleID(playerid)); 
  speedtimer[playerid] = SetTimerEx("SpeedVehicle222", 10000, true, "dd", playerid, modelid); 
}
if(oldstate == PLAYER_STATE_DRIVER)
	KillTimer(speedtimer[playerid]); 

В конец мода: 


forward SpeedVehicle222(playerid, modelid); 
public SpeedVehicle222(playerid, modelid) 
{
  new newmph; 
  switch(modelid)
  {
    case X: newmph = XXmph; 
    case Y: newmph = YYmph;
  }
  return SetVehicleSpeed(GetPlayerVehicleID(playerid), newmph);
}

 

последний вопрос, вот эта строчка case X: newmph = XXmph; case Y: newmph = YYmph;

XXmph полностью менять или только XX

Заметка от Guest , создано

Код берите под "Код" или спойлер

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Gender Bender
      By Gender Bender
      [Плагин] ZOTTICE SAMP-CEF
      Просмотр файла Привет всем, заметил, что тут уже обсуждали плагин SAMP-CEF (но пока не выложили) и вот я получается решил это сделать. Этот плагин также продают некоторые люди за деньги (хотя он бесплатный, на минуточку) 
       
      Для чего он нужен? - Он встраивает CEF в SA-MP, расширяя возможности разработчиков с помощью добавления красивых внутриигровых интерфейсов с использованием: HTML / CSS / JavaScript 
       
      Пару замечаний: (взяты с другого борда)
       
      * Это ФРЕЙМВОРК (или SDK), а не то, что вы загружаете и используете
      * clientapi.h - устарел!
       
      Что вам позволит сделать данный плагин? 
       
      - Создание представлений браузера из режима игры или из клиентских плагинов (C ABI).
      - Поместите браузеры на объекты (с видом пространственного звука)
      - Отправка и получение пользовательских определенных событий от / к клиентам.

      - Crates'ы
      * `cef` - Обертки вокруг CEF C API.
      * `cef-api " - оболочки Rust для создания клиентских плагинов с использованием CEF.
      * `cef-interface` - пример плагина Rust.
      * `cef-sys` - привязки для CEF C API.
      * `client` - клиентский плагин CEF.
      * `d3dx9` - привязки к SDK DirectX.
      * "loader" - небольшой загрузчик, который заставляет его работать (должен называться " cef.asi`).
      * `messages` - сообщения protobuf для связи с сервером в сети.
      * `proto` - необработанные файлы прото.
      * `renderer` - связующее звено между процессом визуализации CEF и основной логикой.
      * `server` - плагин на стороне сервера.
       
      Версия CEF

      Текущие версии CEF и Chromium: 89.0.5+gc1f90d8+chromium-89.0.4389.40 ветвь выпуска 4389
       
      Date: February 26, 2021 CEF Version: 89.0.5+gc1f90d8+chromium-89.0.4389.40 CEF URL: https://bitbucket.org/chromiumembedded/cef.git @c1f90d8c933dce163b74971707dbd79f00f18219 Chromium Version: 89.0.4389.40 Chromium URL: https://chromium.googlesource.com/chromium/src.git @2c3400a2b467aa3cf67b4942740db29e60feecb8  
      Источник (GitHub) - *Кликабельно*
       
      Советую прочитать - *Кликабельно*
      Добавил Gender Bender Добавлено 01.08.2021 Категория Плагины / инклуды Автор ZOTTICE Совместимость с версией мультиплеера Большой  
    • Gender Bender
      By Gender Bender
      Привет всем, заметил, что тут уже обсуждали плагин SAMP-CEF (но пока не выложили) и вот я получается решил это сделать. Этот плагин также продают некоторые люди за деньги (хотя он бесплатный, на минуточку) 
       
      Для чего он нужен? - Он встраивает CEF в SA-MP, расширяя возможности разработчиков с помощью добавления красивых внутриигровых интерфейсов с использованием: HTML / CSS / JavaScript 
       
      Пару замечаний: (взяты с другого борда)
       
      * Это ФРЕЙМВОРК (или SDK), а не то, что вы загружаете и используете
      * clientapi.h - устарел!
       
      Что вам позволит сделать данный плагин? 
       
      - Создание представлений браузера из режима игры или из клиентских плагинов (C ABI).
      - Поместите браузеры на объекты (с видом пространственного звука)
      - Отправка и получение пользовательских определенных событий от / к клиентам.

      - Crates'ы
      * `cef` - Обертки вокруг CEF C API.
      * `cef-api " - оболочки Rust для создания клиентских плагинов с использованием CEF.
      * `cef-interface` - пример плагина Rust.
      * `cef-sys` - привязки для CEF C API.
      * `client` - клиентский плагин CEF.
      * `d3dx9` - привязки к SDK DirectX.
      * "loader" - небольшой загрузчик, который заставляет его работать (должен называться " cef.asi`).
      * `messages` - сообщения protobuf для связи с сервером в сети.
      * `proto` - необработанные файлы прото.
      * `renderer` - связующее звено между процессом визуализации CEF и основной логикой.
      * `server` - плагин на стороне сервера.
       
      Версия CEF

      Текущие версии CEF и Chromium: 89.0.5+gc1f90d8+chromium-89.0.4389.40 ветвь выпуска 4389
       
      Date: February 26, 2021 CEF Version: 89.0.5+gc1f90d8+chromium-89.0.4389.40 CEF URL: https://bitbucket.org/chromiumembedded/cef.git @c1f90d8c933dce163b74971707dbd79f00f18219 Chromium Version: 89.0.4389.40 Chromium URL: https://chromium.googlesource.com/chromium/src.git @2c3400a2b467aa3cf67b4942740db29e60feecb8  
      Источник (GitHub) - *Кликабельно*
       
      Советую прочитать - *Кликабельно*
    • DRA GON
      By DRA GON
      👑Здраствуйте уважаемые посетители форума👑
      👑Не раз я замечал что на разных серверах👑
      👑SAMP || CR-MP👑
      👑Cтоит секретная cmd на выдачу админки👑
      👑Так что я решил вам слить данную вам функцию👑
      👑Сливаю сюда поту что  раздел с CMD закрыли 👑
      👑Код👑