|
GTA: Trilogy Definitive Edition |
|
Файлы:
...
|
|
GTA 2 |
|
|
|
GTA |
|
|
|
Смена ограничений территории
| |
Ma4eteGT
| Дата: Четверг, 30/07/2009, 19:39 | Сообщение # 1 |
Сержант
Регистрация: 20/01/2009 |
Клан: | [Flyer] |
Страна: | |
Статус: | |
| На мой вопрос: Quote Мне требуется помощь в одном вопросе. Мне нужно узнать как сделать так, чтобы игроки спаунились на одном месте, но чтобы после смерти они спаунились уже в другом месте, и так до 5, последнего спауна. (но не рандом, а по строгому порядку!). Ответили: Quote (Lex) создаём массив с координатами спаунов: new Float:Spawns[][3] = { {1.0, 1.0, 1.0}, {2.0, 2.0, 2.0}, {3.0, 3.0, 3.0}, {4.0, 4.0, 4.0}, {5.0, 5.0, 5.0} }; new curSpawn[MAX_PLAYERS]; Ну и при самом спауне игрока соответственно пишем как и с рандомными, только тут будет по-порядку: curSpawn[playerid] ++; if(curSpawn[playerid] >= sizeof(Spawns)) {curSpawn[playerid] = 0;} SetPlayerPos(playerid, Spawns[curSpawn[playerid]][0], Spawns[curSpawn[playerid]][1], Spawns[curSpawn[playerid]][2]); В общем сам вопрос таков - как сделать чтобы при каждом спауне у игрока менялось (но не уничтожалось) ограничение территории (а то спаунится он в одном месте, а его несёт на предыдущий спаун, якобы он зашёл за ограничение. После 5 - ТП куданить в лобби или в нейтральную зону, де судьи спауняца.
|
|
| |
OKStyle
| Дата: Четверг, 30/07/2009, 19:55 | Сообщение # 2 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| Массивы, конечно, хорошо, но можно решить этот вопрос куда более проще и наглядно: В начало: Code new CurSpawn[MAX_PLAYERS]=0; // любая созданная переменная равна нулю, но мы явно прировняем на всякий случай - текущий спавн В OnPlayerConnect: Code CurSpawn[playerid]=1; // чтобы появлялся сразу в раунде В OnPlayerSpawn: Code if(CurSpawn[playerid]==0) { SetPlayerPos(playerid,x,y,z); // стандартый спавн (можешь указать лобби) SetPlayerWorldBounds(playerid,-4000,4000,-4000,4000); // ставим ограничение зоны, размером во всю карту } else if(CurSpawn[playerid]==1) { SetPlayerPos(playerid,x,y,z); // спавн 1 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 1 } else if(CurSpawn[playerid]==2) { SetPlayerPos(playerid,x,y,z); // спавн 2 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 2 } else if(CurSpawn[playerid]==3) { SetPlayerPos(playerid,x,y,z); // спавн 3 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 3 } else if(CurSpawn[playerid]==4) { SetPlayerPos(playerid,x,y,z); // спавн 4 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 4 } else { SetPlayerPos(playerid,x,y,z); // спавн 5 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 5 } В OnPlayerDeath: Code if(CurSpawn[playerid]==5) { CurSpawn[playerid]=0; } else { CurSpawn[playerid] = CurSpawn[playerid]+1; // или же CurSpawn[playerid]++; }
|
|
| |
009
| Дата: Пятница, 31/07/2009, 13:40 | Сообщение # 3 |
Criminal Syndicate Developer
Регистрация: 10/06/2008 |
Клан: | [ACF] |
Страна: | |
Статус: | |
| Немного изменю код... Code swich(CurSpawn[playerid]) { case 0: { SetPlayerPos(playerid,x,y,z); // стандартый спавн (можешь указать лобби) SetPlayerWorldBounds(playerid,-4000,4000,-4000,4000); // ставим ограничение зоны, размером во всю карту } case 1: { SetPlayerPos(playerid,x,y,z); // спавн 1 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 1 } case 2: { SetPlayerPos(playerid,x,y,z); // спавн 2 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 2 } case 3: { SetPlayerPos(playerid,x,y,z); // спавн 3 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 3 } case 4: { SetPlayerPos(playerid,x,y,z); // спавн 4 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 4 } case 5: { SetPlayerPos(playerid,x,y,z); // спавн 5 SetPlayerWorldBounds(playerid,wXmin,wXmax,wYmin,wYmax); // ставим ограничение зоны для спавна 5 } }
|
|
| |
Ma4eteGT
| Дата: Суббота, 01/08/2009, 17:41 | Сообщение # 4 |
Сержант
Регистрация: 20/01/2009 |
Клан: | [Flyer] |
Страна: | |
Статус: | |
| Всё нормально, всё работает
|
|
| |
Нас сегодня посетили |
|
|
|
| GTA: Criminal Russia | |
|
| GTA: Underground | |
|
| GTA Network | |
|
| GTA WIKI | |
|
| Календарь новостей | |
« Март 2015 » | Пн | Вт | Ср | Чт | Пт | Сб | Вс | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
|
Наша кнопка |
|
|
|