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

 



 
          





Рекомендуем:





Последние Файлы 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
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
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
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Нужна помошь в команде
dRinkДата: Пятница, 11.02.2011, 02:06 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
new migprov[MAX_PLAYERS];
Вот команда добавляет объект к машине:
Code
if(strcmp("/mig", cmdtext, true, 10) == 0)  
{  
          DestroyObject(mig[playerid]);  
          mig[playerid] = CreateObject(18646,0,0,0,0,0,0,100.0);  
          AttachObjectToVehicle(mig[playerid], GetPlayerVehicleID(playerid), -0.4, -0.1, 0.87, 0.0, 0.0, 0.0);  
          GameTextForPlayer(playerid,"~r~-~w~$5000", 1000, 1);  
          migprov[playerid]=1;  
          return 1;  
}

Пытаюсь сделать теперь, 'Если стоит объект на машине чтоб изчез при респавне машины на которой стоит'

Code
public OnVehicleSpawn(vehicleid)  
{  
for(new i = 0; i < MAX_PLAYERS; i++)  
{  
if(migprov[i] == 1)  
{  
DestroyObject(mig[i]);  
migprov[i]=0;  
}  
}  
return 1;  
}

Но что-то не получается. Когда респавнится любая машина на которой не стоит объект, объект изчезает с той машины на которой стоит.
Вроде не правильно делаю. кто может помочь?



Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!
VagrantДата: Пятница, 11.02.2011, 17:31 | Сообщение # 2
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
dRink, Ну так у тебя так и стоит. Смотри у тебя принцип в коде какой получается:
У тебя в команде при её использовании переменная migprov[playerid] принимает значение 1. Тут вдруг где-то у кого-то взорвалась машина и респавнится. Далее у тебя выполняется цикл (Машина же респавнится, то есть конкретно какая машина респавнится у тебя не определяется).
С помощью цикла ты проверяешь всех игроков на нахождение значения переменной migprov[playerid] на 1. У тебя естественно находится переменная которую ты туда поставил в команду.
Правильнее сделать так:

Code

new migprov[MAX_PLAYERS] = -1;
if(strcmp("/mig", cmdtext, true, 10) == 0)    
{    
/*        DestroyObject(mig[playerid]); Эту строку смысла нету сюда вписывать в любом случае объект удалится после респавна машины */
            mig[playerid] = CreateObject(18646,0,0,0,0,0,0,100.0);    
            AttachObjectToVehicle(mig[playerid], GetPlayerVehicleID(playerid), -0.4, -0.1, 0.87, 0.0, 0.0, 0.0);    
            GameTextForPlayer(playerid,"~r~-~w~$5000", 1000, 1);    
            migprov[playerid] = GetPlayerVehicleID(playerid);  // В переменную записывается порядковый номер авто игрока
            return 1;    
}

Code
public OnVehicleSpawn(vehicleid)    
{    
for(new i = 0; i < MAX_PLAYERS; i++)    
{    
if(migprov[i] == vehicleid) /* Если порядковый номер машины (vehicleid) которая респавнится это пор. номер машины в переменной у одного из игроков то дальше код выполняется */
{    
DestroyObject(mig[i]);    
migprov[i]=-1;    
}    
}    
return 1;    
}



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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 - Пятница, 11.02.2011, 17:35
dRinkДата: Суббота, 12.02.2011, 02:13 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
Спасибо, сделал так как ты сказал получилось но у меня машины раставлены с кодом:
AddStaticVehicle2 // те машины которые под таким кодом, когда респанятся мигалка изчезает
и
AddStaticVehicle //а когда таким кодом не изчезает мигалка



Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!
VagrantДата: Суббота, 12.02.2011, 03:01 | Сообщение # 4
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
dRink, А AddStaticVehicle2 это вообще что за функция? Какие там параметры? Желательно из инклюида (или мода где описание функции стоит) выдернуть stock AddStaticVehicle2 и сюда мне показать.


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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%

Принимаю заказы на помощь в скриптинге!
dRinkДата: Суббота, 12.02.2011, 03:52 | Сообщение # 5
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
Code
new PVehicle;
new PVehicleModel[MAX_VEHICLES];
forward    AddStaticVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2);

Code
public AddStaticVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2)
{
  if(PVehicle<=MAX_VEHICLES)
  {
      PVehicle++;
      PVehicleModel[PVehicle]=GetVehicleModel(PVehicle);
      AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2);
  }
  return 1;
}



Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!
VagrantДата: Суббота, 12.02.2011, 15:49 | Сообщение # 6
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
dRink, Не знаю используются ли переменные в моде из этой функции. Но функция бесполезна если она используется для подсчёта машин на сервере. Можно сделать по другому. В конец OnGameModeInit запихать цикл:
for(new v=0;v<MAX_VEHICLES;v++) if(GetVehicleModel(v) != 0) PVehicle++;
В переменной PVehicle будет так же записано сколько машин на сервере. Это вариант номер 1. Пишишь везде AddStaticVehicle и вставляешь этот цикл в конец OnGameModeInit + будет работать код который я написал выше для авто. Но минус если используются переменные в моде из паблика AddStaticVehicle2 то есть new PVehicleModel[MAX_VEHICLES];. Вариант номер 2 оставить всё как есть:
Если я не ошибусь можно попробовать просто написать if(migprov[i]+1 == vehicle) не знаю сработает или нет.



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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%

Принимаю заказы на помощь в скриптинге!
dRinkДата: Среда, 16.02.2011, 00:45 | Сообщение # 7
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
Она используется вроде на шипы и ещё на что-то.
Я попробывал 1-первый способ и тоже самое. Странно но изчезает с тех которые выше стоят, а те которые по очериди ниже с них не изчезает.
а второй способ вообще не заработал.



Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!


Сообщение отредактировал dRink - Среда, 16.02.2011, 01:32
AndrejsДата: Среда, 16.02.2011, 10:06 | Сообщение # 8
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
цикл for не нужен
Quote
public OnVehicleSpawn(vehicleid)
{
if(migprov[vehicleid] == 1) /* Значение только поставь своё, если у тебя не 1 выставляется */
{
DestroyObject(mig[vehicleid]);
migprov[vehicleid]=-1;
}
return 1;
}

Добавлено (16.02.2011, 10:06)
---------------------------------------------
И в команде ошибка:

Quote
if(strcmp("/mig", cmdtext, true, 10) == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new veh = GetPlayerVehicleID(playerid);
mig[veh] = CreateObject(18646,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(mig[veh], veh, -0.4, -0.1, 0.87, 0.0, 0.0, 0.0);
GameTextForPlayer(playerid,"~r~-~w~$5000", 1000, 1);
migprov[veh]=1;
return 1;
}
}






Сообщение отредактировал McSquizzy - Среда, 16.02.2011, 10:07
dRinkДата: Среда, 16.02.2011, 23:37 | Сообщение # 9
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
McSquizzy, Сделал как ты напмсал всёравно так же


Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!
VagrantДата: Пятница, 18.02.2011, 08:01 | Сообщение # 10
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
McSquizzy, Цикл for нужен. Так как переменная migprov[playerid] в своём массиве содержит ID игрока. А не ID Машины. И для каждого игрока мигалка устанавливается отдельно.


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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%

Принимаю заказы на помощь в скриптинге!
dRinkДата: Суббота, 19.02.2011, 02:49 | Сообщение # 11
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: -21
Замечания: 40%
Статус:
Может много машин по этому не изчезает те которые ниже стоят ?


Отличный сервер SA:MP
Название: ***RUSSIAN_SERVER***
Ип\Порт: 188.120.228.189:5555
Читаем!
AndrejsДата: Суббота, 19.02.2011, 21:17 | Сообщение # 12
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Vagrant, причём тут объект на машине и ID игрока? Цикл for не нужен

Добавлено (19.02.2011, 21:17)
---------------------------------------------
dRink, проверил команду, которую я кинул, всё работает.



VagrantДата: Воскресенье, 20.02.2011, 16:46 | Сообщение # 13
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Quote (McSquizzy)
Vagrant, причём тут объект на машине и ID игрока? Цикл for не нужен

А ну да, чё-то не подумал.
Quote (dRink)
Может много машин по этому не изчезает те которые ниже стоят ?

В начало:
new bool:migprov[MAX_VEHICLES] = false,mig[MAX_VEHICLES];
В OnPlayerCommand:
if(strcmp("/mig", cmdtext, true, 10) == 0)
{
new car = GetPlayerVehicleID(playerid);
mig[car] = CreateObject(18646,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(mig[car], car, -0.4, -0.1, 0.87, 0.0, 0.0, 0.0);
GameTextForPlayer(playerid,"~r~-~w~$5000", 1000, 1);
migprov[car] = true;
return 1;
}
В OnVehicleSpawn(vehicleid):
public OnVehicleSpawn(vehicleid)
{
if(migprov[vehicleid])
{
DestroyObject(mig[vehicleid]);
migprov[vehicleid]= false;
}
return 1;
}

Если работать не будет. То сбиваются ID авто.


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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 - Воскресенье, 20.02.2011, 16:57
AndrejsДата: Воскресенье, 20.02.2011, 18:26 | Сообщение # 14
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Vagrant, и без твоего кода видно, что ID каким-то странным образом сбиваются.



DaNIL15Дата: Понедельник, 21.02.2011, 18:47 | Сообщение # 15
Новенький
Группа: Пользователи
Сообщений: 2
Награды: 0
Город: Gorlovka
Репутация: -5
Замечания: 0%
Статус:
а у меня проблема с обектами помогите пацц
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua