 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Нужна помошь в команде
| |
| 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%
Статус: 
| а у меня проблема с обектами помогите пацц
|
| |
|
|
|
 |
|
 | |
| |
|