Текущая версия SA-MP: 0.3.7


IP: 77.220.180.96:7777
  Новые сообщения · Поиск
  • Страница 1 из 1
  • 1
Модератор форума: KaTacTpOqpa  
Выбор города при коннекте!
DIZ_man Сообщение # 1  | 11:57:57
Пользователи
Сообщений: 27
Репутация: 0
Всем хай! Вот возник у меня вопрос... как сделать что бы при коннекте к серверу выдавало окно с выбором города!
(LS, SF)
Если выбор был LS - то фракции для LS; Если выбор был SF - то фракции для SF!
на RP есть такое, но вот урока и объяснений нету ))))



Demetrius Сообщение # 2  | 12:10:06
VIP-пользователи
Сообщений: 1192
Репутация: 158
о господи я такого не знаю О_о, жди владокса
а как выбор городов сделать, так стащи код с grandlarc'a, он лежит в папке со стандартными модами в сервере


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
DIZ_man Сообщение # 3  | 12:36:58
Пользователи
Сообщений: 27
Репутация: 0
Ну а объяснить???


BJIADOKC Сообщение # 4  | 17:51:32
Скриптеры
Сообщений: 601
Репутация: 161
ну ладно... начнем.
в начало:
Code

#define VYBOR_GORODA 1234
new City[MAX_PLAYERS];
new RandomSpawnsLS[здесь число спавнов][3] = {
x,y,z,
x,y,z,
x,y,z
};

new RandomSpawnsSF[число спавнов][3] = {
x,y,z,
x,y,z,
x,y,z
};

new RandomSpawnsLV[число спавнов][3] = {
x,y,z,
x,y,z,
x,y,z
};
//x,y,z - координаты рандомного спавна (сам вставишь)

в OnPlayerConnect
Code

City[playerid] = 0;
ShowPlayerDialog(playerid,VYBOR_GORODA,DIALOG_STYLE_LIST,"Выбор города для спавна","Лос Сантос\nСан Фиерро\nЛас Вентурас","Ок","Отмена");

в OnDialogResponse
Code

if(dialogid == VYBOR_GORODA)
{
if(response == 1)
{
if(listitem == 0)
{
City[playerid] = 1;
//тут вставляешь переменные фракций и всякую такую фигню
}
if(listitem == 1)
{
City[playerid] = 2;
//тут вставляешь переменные фракций и всякую такую фигню
}
if(listitem == 2)
{
City[playerid] = 3;
//тут вставляешь переменные фракций и всякую такую фигню
}
}
if(response == 0) return SendClientMessage(playerid,0xFF0000AA,"Вы должны выбрать город!");
}

и в OnPlayerSpawn
Code

if(City[playerid] == 1)
{
SetPlayerPos(playerid,RandomSpawnsLS[число спавнов][0],RandomSpawnsLS[число спавнов][1],RandomSpawnsLS[число спавнов][2]);
}
else if(City[playerid] == 2)
{
SetPlayerPos(playerid,RandomSpawnsSF[число спавнов][0],RandomSpawnsSF[число спавнов][1],RandomSpawnsSF[число спавнов][2]);
}
else if(City[playerid] == 3)
{
SetPlayerPos(playerid,RandomSpawnsLV[число спавнов][0],RandomSpawnsLV[число спавнов][1],RandomSpawnsLV[число спавнов][2]);
}

и в OnPlayerDisconnect
Code

City[playerid] = 0;

урок от BJIADOKC


тут больше не сижу... открыл свой проект


Редактировано BJIADOKC - Понедельник, 10 Янв 2011, 17:59:33
DIZ_man Сообщение # 5  | 16:58:45
Пользователи
Сообщений: 27
Репутация: 0
Code
(2222) : error 032: array index out of bounds (variable "RandomSpawnsLS")
(2226) : error 032: array index out of bounds (variable "RandomSpawnsSF")
(2230) : error 032: array index out of bounds (variable "RandomSpawnsLV")

3 Errors.

Вот ошибки!

Code
if(City[playerid] == 1)
     {
[2222]    SetPlayerPos(playerid,RandomSpawnsLS[3][0],RandomSpawnsLS[3][1],RandomSpawnsLS[3][2]);
               }
               else if(City[playerid] == 2)
               {
[2226]     SetPlayerPos(playerid,RandomSpawnsSF[3][0],RandomSpawnsSF[3][1],RandomSpawnsSF[3][2]);
               }
               else if(City[playerid] == 3)
               {
[2230]    SetPlayerPos(playerid,RandomSpawnsLV[3][0],RandomSpawnsLV[3][1],RandomSpawnsLV[3][2]);
     }



Demetrius Сообщение # 6  | 17:06:05
VIP-пользователи
Сообщений: 1192
Репутация: 158
Quote (DIZ_man)
Вот ошибки!

а у меня все норм
у тебя 3 спавна в каждом городе?


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
DIZ_man Сообщение # 7  | 17:15:47
Пользователи
Сообщений: 27
Репутация: 0
по 3 городам 3 спавна в разных местах


BJIADOKC Сообщение # 8  | 20:46:03
Скриптеры
Сообщений: 601
Репутация: 161
попробуй придефайнить переменную MAX_CONNECT_SPAWNS:
Code

#define MAX_CONNECT_SPAWNS 3

и везде где число спавнов ставь MAX_CONNECT_SPAWNS


тут больше не сижу... открыл свой проект
DIZ_man Сообщение # 9  | 22:24:50
Пользователи
Сообщений: 27
Репутация: 0
Не а, не пашет! Тоже самое... (((
Можешь связаться со мной по скайпу???
ДА(напиши в пм свой скайп)
Нет(напиши тут проблему моих ошибок)



BJIADOKC Сообщение # 10  | 08:46:11
Скриптеры
Сообщений: 601
Репутация: 161
вот.
попробуй немного другой вариант:
Code

new Float:RandomSpawnsLS[3][3] = {
{x,y,z},{x,y,z},{x,y,z}};

new Float:RandomSpawnsSF[3][3] = {
{x,y,z},{x,y,z},{x,y,z}};

new Float:RandomSpawnsLV[3][3] = {
{x,y,z},{x,y,z},{x,y,z}};
//x y z собственно координаты

и в OnPlayerSpawn
Code

new randls = random(sizeof(RandomSpawnsLS));
new randsf = random(sizeof(RandomSpawnsSF));
new randlv = random(sizeof(RandomSpawnsLV));
if(City[playerid] == 1)
{
SetPlayerPos(playerid,RandomSpawnsLS[randls][0],RandomSpawnsLS[randls][1],RandomSpawnsLS[randls][2]);
}
else if(City[playerid] == 2)
{
SetPlayerPos(playerid,RandomSpawnsSF[randsf][0],RandomSpawnsSF[randsf][1],RandomSpawnsSF[randsf][2]);
}
else if(City[playerid] == 3)
{
SetPlayerPos(playerid,RandomSpawnsLV[randlv][0],RandomSpawnsLV[randlv][1],RandomSpawnsLV[randlv][2]);
}


тут больше не сижу... открыл свой проект
DIZ_man Сообщение # 11  | 18:33:12
Пользователи
Сообщений: 27
Репутация: 0
ХА! Получилось! Работает! СПС на тебе +


BJIADOKC Сообщение # 12  | 18:53:55
Скриптеры
Сообщений: 601
Репутация: 161
незачто)
это почти моя работа biggrin


тут больше не сижу... открыл свой проект
Polcar Сообщение # 13  | 06:47:28
Руководитель проекта SM
Администраторы
Сообщений: 788
Репутация: 323
Тема закрыта!



  • Страница 1 из 1
  • 1
Поиск: