 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Помогите найти
| |
| Bes | Дата: Понедельник, 13.07.2009, 21:11 | Сообщение # 1 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 162
Награды: 4
Город: Алма-Ата
Репутация: 16
Замечания: 20%
Статус: 
| Люди помогите написать или помогите найти скрипт (рабочии желательно с подробным объяснением так как я делаю свой первый мод с нуля) который дает на выбор как на Валакасе типо где вы хотите появиться? И на выбор город: Типа Los Santos, San Fierro, Las Venturas. И место для спавна после выбора города желательно рандомное как при обычном спауне на ДМ серверах. Очень сильно нужен этот скрипт. Думаю он будет полезен каждому... Пожалуйста помогите.
[cut noguest=ив]КОНСУЛЬТИРУЮ о решении вопросов с настройкой РЕГИОНов и АКТИВАЦИЕЙ учетных записей.
Имеются* универсальные LIVE Ключи для Grand Theft Auto: IV (или к одной из 25 игр находящейся в списке каталога**)
Интересно? Необходима консультация? Пишем в ЛС.[/cut]
|
| |
|
|
| OKStyle™ | Дата: Понедельник, 13.07.2009, 23:14 | Сообщение # 2 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| В начало мода: [pwn]new lsspawn[MAX_PLAYERS], sfspawn[MAX_PLAYERS], lvspawn[MAX_PLAYERS]; new Float:gRandomPlayerSpawns[23][3] = { // координаты спавнов без выбора {1958.3783,1343.1572,15.3746}, {2199.6531,1393.3678,10.8203}, {2483.5977,1222.0825,10.8203}, {2637.2712,1129.2743,11.1797}, {200 0.0106,1521.1111,17.0625}, {2024.8190,1917.9425,12.3386}, {2261.9048,2035.9547,10.8203}, {2262.0986,2398.6572,10.8203}, {2244.2566,2523. 7280,10.8203}, {2335.3228,2786.4478,10.8203}, {2150.0186,2734.2297,11.1763}, {2158.0811,2797.5488,10.8203}, {1969.8301,2722.8564,10.8203 }, {1652.0555,2709.4072,10.8265}, {1564.0052,2756.9463,10.8203}, {1271.5452,2554.0227,10.8203}, {1441.5894,2567.9099,10.8203}, {1480.64 73,2213.5718,11.0234}, {1400.5906,2225.6960,11.0234}, {1598.8419,2221.5676,11.0625}, {1318.7759,1251.3580,10.8203}, {1558.0731,1007.8292 ,10.8125}, {1705.2347,1025.6808,10.8203} };[/pwn] В OnPlayerConnect: [pwn]lsspawn[playerid]=0; sfspawn[playerid]=0; lvspawn[playerid]=0;[/pwn] В OnPlayerRequestClass: [pwn]SendClientMessage(playerid,0xFFFF00," Выберите место появления:"); SendClientMessage(playerid,0xFFFF00,"/ls - Лос-Сантос"); SendClientMessage(playerid,0xFFFF00,"/sf - Сан-Фиерро"); SendClientMessage(playerid,0xFFFF00,"/lv - Лас-Вентурас");[/pwn] В OnPlayerSpawn: [pwn]if(lsspawn[playerid]==1) { SetPlayerPos(playerid,x+random(5),y+random(5),z); // xyz заменить на нужные тебе координаты в ЛС } else if(sfspawn[playerid]==1) { SetPlayerPos(playerid,x+random(5),y+random(5),z); // xyz заменить на нужные тебе координаты в СФ } else if(lvspawn[playerid]==1) { SetPlayerPos(playerid,x+random(5),y+random(5),z); // xyz заменить на нужные тебе координаты в ЛВ } else { new rand = random(sizeof(gRandomPlayerSpawns)); SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); }[/pwn] В OnPlayerCommandText: [pwn]if(!strcmp(cmdtext, "/ls", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Лос-Сантос!"); lsspawn[playerid]=1; sfspawn[playerid]=0; lvspawn[playerid]=0; return 1; } if(!strcmp(cmdtext, "/sf", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Сан-Фиерро!"); lsspawn[playerid]=0; sfspawn[playerid]=1; lvspawn[playerid]=0; return 1; } if(!strcmp(cmdtext, "/lv", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Лас-Вентурас!"); lsspawn[playerid]=0; sfspawn[playerid]=0; lvspawn[playerid]=1; return 1; }[/pwn] В OnPlayerDisconnect: [pwn]lsspawn[playerid]=0; sfspawn[playerid]=0; lvspawn[playerid]=0;[/pwn]
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
Сообщение отредактировал OKStyle™ - Понедельник, 13.07.2009, 23:15 |
| |
|
|
| [RD]Chez | Дата: Понедельник, 13.07.2009, 23:27 | Сообщение # 3 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус: 
| OKStyle™, а не проще забить new SpawnT[MA_PLAYERS]; и потом придавать значения 1.2,3?
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
|
| |
|
|
| OKStyle™ | Дата: Понедельник, 13.07.2009, 23:32 | Сообщение # 4 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Проще, но тут работает по принципу логического нуля и единицы, т.е. true или false. Проще говоря, придётся и к нулю равнять, чтобы заспавнить без "spawn info". Палка о двух концах: 3 переменные и 2 значения или 1 переменная и 4 значения... К тому же, я не думаю, что твой вариант соответствует этому: Quote (Nagana) желательно с подробным объяснением
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
Сообщение отредактировал OKStyle™ - Понедельник, 13.07.2009, 23:35 |
| |
|
|
| Gont1K | Дата: Вторник, 14.07.2009, 00:15 | Сообщение # 5 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 402
Награды: 27
Город: Chicago
Репутация: 161
Замечания: 100%
Статус: 
| В аккаунт пользователя ( Незнаю какая система регистрации ). new SpawnP[MAX_PLAYERS]; Далее в OnPlayerLogin SpawnP[playerid] = 0; Далее в OnPlayerSpawn new rnds = random(3)+1; // Вроде так, не помню... if(SpawnP[playerid]>3) return SpawnP[playerid]=rnds; if(SpawnP[playerid]!=2&&SpawnP[palyerid]!=3) return SetPlayerPos(BLABLA_1); if(SpawnP[playerid]!=1&&SpawnP[playerid]!=3) return SetPlayerPos(BLABLA_2); if(SpawnP[playerid]!=1&&SpawnP[palyerid]!=2) return SetPlayerPos(BLABLA_3); OnPlayerDisconnect SpawnP[playerid]=0; Потом в OnPlayerText или OnPlayerCommand вписываешь комманду, которой будет задавать пользователь. Блин, народ, это конечно все го лишь начало и можно доделывать, но где алгоритмизация и логика? Разве не понятно что это элементарно? Добавлено (14.07.2009, 00:15) --------------------------------------------- Кстати, ОКстайл! RPG = Role Play Game RP = Role Play RPG = Игра с Элеметами игры по ролям RP = Игра по ролям ( Форум, любые другие средства ). Это так, напомнил себе ~_~
Heeey, im bunny. По вопросам покупки SARSL 0.6b обращаться к Tomas_Morgan. Если захочет - продаст.
|
| |
|
|
| OKStyle™ | Дата: Вторник, 14.07.2009, 05:58 | Сообщение # 6 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Решений данного вопроса много, и все они разные, но по наглядности все они уступают моему
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
| |
|
|
| Alex009 | Дата: Вторник, 14.07.2009, 07:45 | Сообщение # 7 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| В начало мода: [pwn]new SpawnSelect[MAX_PLAYERS]; new Float:gRandomPlayerSpawns[23][3] = { // координаты спавнов без выбора {1958.3783,1343.1572,15.3746}, {2199.6531,1393.3678,10.8203}, {2483.5977,1222.0825,10.8203}, {2637.2712,1129.2743,11.1797}, {200 0.0106,1521.1111,17.0625}, {2024.8190,1917.9425,12.3386}, {2261.9048,2035.9547,10.8203}, {2262.0986,2398.6572,10.8203}, {2244.2566,2523. 7280,10.8203}, {2335.3228,2786.4478,10.8203}, {2150.0186,2734.2297,11.1763}, {2158.0811,2797.5488,10.8203}, {1969.8301,2722.8564,10.8203 }, {1652.0555,2709.4072,10.8265}, {1564.0052,2756.9463,10.8203}, {1271.5452,2554.0227,10.8203}, {1441.5894,2567.9099,10.8203}, {1480.64 73,2213.5718,11.0234}, {1400.5906,2225.6960,11.0234}, {1598.8419,2221.5676,11.0625}, {1318.7759,1251.3580,10.8203}, {1558.0731,1007.8292 ,10.8125}, {1705.2347,1025.6808,10.8203} }; [/pwn] В OnPlayerConnect: [pwn] SpawnSelect[playerid]=0; [/pwn] В OnPlayerRequestClass: [pwn] SendClientMessage(playerid,0xFFFF00," Выберите место появления:"); SendClientMessage(playerid,0xFFFF00,"/ls - Лос-Сантос"); SendClientMessage(playerid,0xFFFF00,"/sf - Сан-Фиерро"); SendClientMessage(playerid,0xFFFF00,"/lv - Лас-Вентурас"); [/pwn] В OnPlayerSpawn: [pwn] switch(SpawnSelect[playerid]) { case 0:{new rand = random(sizeof(gRandomPlayerSpawns));SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);} case 1:SetPlayerPos(playerid,x+random(5)-random(5),y+random(5)-random(5),z); // xyz заменить на нужные тебе координаты в ЛС case 2:SetPlayerPos(playerid,x+random(5)-random(5),y+random(5)-random(5),z); // xyz заменить на нужные тебе координаты в СФ case 3:SetPlayerPos(playerid,x+random(5)-random(5),y+random(5)-random(5),z); // xyz заменить на нужные тебе координаты в ЛВ } [/pwn] В OnPlayerCommandText: [pwn] if(!strcmp(cmdtext, "/ls", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Лос-Сантос!"); SpawnSelect[playerid]=1; return 1; } if(!strcmp(cmdtext, "/sf", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Сан-Фиерро!"); SpawnSelect[playerid]=2; return 1; } if(!strcmp(cmdtext, "/lv", true)) { SendClientMessage(playerid,0x00FF00," Вы выбрали Лас-Вентурас!"); SpawnSelect[playerid]=3; return 1; } [/pwn] В OnPlayerDisconnect: [pwn] SpawnSelect[playerid]=0; [/pwn] OKStyle's code edit ____________________________________________________________________________________________ ________________________________________ ____________________________________________________ ну а вот мой собственный способ(новички не юзайте ибо не разберётесь): в начало мода: [pwn] new SpawnSelect[MAX_PLAYERS]; new OldClassId[MAX_PLAYERS]; new LastA[MAX_PLAYERS]; new Skin[MAX_PLAYERS]; new LSPos[3] = {000.0000,000.0000,000.0000}; new SFPos[3] = {000.0000,000.0000,000.0000}; new LVPos[3] = {000.0000,000.0000,000.0000};[/pwn] в OnPlayerConnect: [pwn] SpawnSelect[playerid]=-4; OldClassId[playerid]=-1; Skin[playerid]=0;[/pwn] в OnPlayerRequestClass: [pwn]if(SpawnSelect[playerid]==-4) { код где всякие там сет пос,сет камера и т.п. Skin[playerid]=GetPlayerSkin(playerid); } else { if(OldClassId[playerid]==-1) { SpawnSelect[playerid]=1; OldClassId[playerid]=classid; } else if(OldClassId[playerid]<classid) { switch(SpawnSelect[playerid]) { case 3: SpawnSelect[playerid]=1; default: SpawnSelect[playerid]++; } } else if(OldClassId[playerid]>classid) { switch(SpawnSelect[playerid]) { case 1: SpawnSelect[playerid]=3; default: SpawnSelect[playerid]--; } } }[/pwn] в OnPlayerRequestSpawn: [pwn]if(SpawnSelect[playerid]==-4) { SpawnSelect[playerid]=0; return 0; } else { SpawnSelect[playerid]*=-1; SetPlayerSkin(plyaerid,Skin[playerid]); }[/pwn] в OnPlayerSpawn: [pwn]switch(SpawnSelect[playerid]) { case -1: SetPlayerPos(playerid,LSPos[0]+random(5)-random(5),LSPos[1]+random(5)-random(5),LSPos[2]); case -2: SetPlayerPos(playerid,SFPos[0]+random(5)-random(5),SFPos[1]+random(5)-random(5),SFPos[2]); case -3: SetPlayerPos(playerid,LVPos[0]+random(5)-random(5),LVPos[1]+random(5)-random(5),LVPos[2]); default: SetPlayerPos(playerid,LSPos[0]+random(5)-random(5),LSPos[1]+random(5)-random(5),LSPos[2]); (на случай неизвестной ошибки xD ) }[/pwn] в OnPlayerUpdate: [pwn]if(SpawnSelect[playerid]>0) { new Float:X,Float:Y,Float:Z; new Float:X2,Float:Y2; switch(SpawnSelect[playerid]) { case 1: {X=LSPos[0];Y=LSPos[1];Z=LSPos[2];} case 2: {X=SFPos[0];Y=SFPos[1];Z=SFPos[2];} case 3: {X=LVPos[0];Y=LVPos[1];Z=LVPos[2];} } X2 = X + (5 * floatsin(-LastA[playerid], degrees)); Y2 = Y + (5 * floatcos(-LastA[playerid], degrees)); SetPlayerCameraPos(playerid,X2,Y2,Z+2); SetPlayerCameraLookAt(playerid,X,Y,Z); LastA[playerid]+=0.1; }[/pwn] Добавлено (14.07.2009, 07:45) --------------------------------------------- выглядит в игре это так: Вы выбираете скин,тыкаете шифт,и начинается выбор места спавна,вашу камеру крутит вокруг спавна в лс,вы тыкаете вправо и вас крутит вокруг спавна в сф,ещё вправо и спавн в лв,ещё и опять лс и т.д. в обе стороны.Тыкаете шифт и вы спавнитесь у спавна который выбрали(вокруг которого крутилась камера в момент нажатия шифта) P.S. почему именно шифт?потому что юзаю выбор класса,т.е. вы в момент выбора спавна ещё в стадии выбора скина типа... кста ща баг понял исправлю по быстрому 
Controllable NPC developer soProject developer
Сообщение отредактировал Alex009 - Вторник, 14.07.2009, 07:46 |
| |
|
|
| Gont1K | Дата: Вторник, 14.07.2009, 08:02 | Сообщение # 8 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 402
Награды: 27
Город: Chicago
Репутация: 161
Замечания: 100%
Статус: 
| Alex, код выглядит, как будто ты просто хотел понтануться, что знаешь как использовать ++ и -- Зачем так все усложнять? Можно сделать все гораздо проще, меньше, оптимизированние и что бы даже полный ноль в программировании понял.
Heeey, im bunny. По вопросам покупки SARSL 0.6b обращаться к Tomas_Morgan. Если захочет - продаст.
|
| |
|
|
| Alex009 | Дата: Вторник, 14.07.2009, 08:07 | Сообщение # 9 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| Quote (Gont1K) Alex, код выглядит, как будто ты просто хотел понтануться, что знаешь как использовать ++ и -- fun Зачем так все усложнять? Можно сделать все гораздо проще, меньше, оптимизированние и что бы даже полный ноль в программировании понял. про понтануца верно я висал не для новичков если не видна:Quote (Alex009) ну а вот мой собственный способ(новички не юзайте ибо не разберётесь): +давай напиши хотяб на основе моего твой Quote (Gont1K) проще, меньше, оптимизированние и что бы даже полный ноль в программировании понял. мож я что не учёл,вот погляжу как ты это сделаеш
Controllable NPC developer soProject developer
|
| |
|
|
| Gont1K | Дата: Вторник, 14.07.2009, 08:23 | Сообщение # 10 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 402
Награды: 27
Город: Chicago
Репутация: 161
Замечания: 100%
Статус: 
| Не-не, я нуб, я не сумею, ты расскажи мне лучше, зачем крутить камеру, ставить отрицательную переменную ( Отрицательная переменная это 2 знака, а положительная 0-9 это один ( Количество памяти при компиляции ) минус тоже учитывается ). Конечно это все мизер, но если сделать в моде на 50к строк все значения по типу Spawn[playerid] = 135136151515; то никакой памяти не хватит А еще, case -1, case -2, case -3 ? Это зачем? Типа 0 1 2 3 уже стало не по пацански? :/ Затем, LSPos[0]+random(5)-random(5) ( Так везде в координатах ), зачем это? Не кажеться ли тебе что ты опять используешь лишнюю память ( Это я тебе как программист под 486 компом на Си говорю, тебя бы за такое на работе в первый же день уволили, за нерациональное использование ресурсов, когда таким программок у тебя должно было бы быть на компе 1000, а из за такого кода он бы держал от силы 500. ) Не проще ли написать тогда уж сразу, создать локальную переменную new rnds = random(5) и плюсовать ее не минусую? ( Всеравно на головах у друг друга спавниться не будут, а в друг друге при таких мелких рандомах всеравно будут либо в друг друге, либо наполовину ) default не для случаев неизвестных ошибок, без него ты обязательно найдешь ошибку, это то же самое что case 0: При OnPlayerConnect ( Т.е. всем игрокам и всегда при коннекте ) дается SpawnSelect[playerid]=-4; ( Опять минусовая, иррационально! ) и при коннекте у игрока определенно нету скина, зачем тогда Skin = GetPlayerSkin ? Вообщем это хрень, учись писать использую логику и алгоритмизацию, а не желание взять на понт меня. Добавлено (14.07.2009, 08:23) --------------------------------------------- Это все риторические вопросы, не нужно отвечать или пояснять что либо, по предыдущему посту я уже догадываюсь, как ты ответишь 
Heeey, im bunny. По вопросам покупки SARSL 0.6b обращаться к Tomas_Morgan. Если захочет - продаст.
|
| |
|
|
| Alex009 | Дата: Вторник, 14.07.2009, 08:31 | Сообщение # 11 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| Quote (Gont1K) При OnPlayerConnect Quote (Gont1K) Skin = GetPlayerSkin глаза разуй а потом базарь. Quote (Gont1K) LSPos[0]+random(5)-random(5) Quote (Gont1K) Всеравно на головах у друг друга спавниться не будут, а в друг друге при таких мелких рандомах всеравно будут либо в друг друге, либо наполовину :D 1.сделано для того чтобы спавн был рандомно в окружности радиусом 5 2."таких мелких рандомах всеравно будут либо в друг друге, либо наполовину" - мозг включи,у меня даже в транспорте если нормально всё Quote (Gont1K) если сделать в моде на 50к строк все значения по типу Spawn[playerid] = 135136151515; то никакой памяти не хватит опятьже мозг включи...в моём моде уже больше 50к строк и всё работает прекрасно,если ты думаеш что такой умный то НАПИШИ свой вариант а не тупо разглагольствуй,а ты вместо этого пишеш брехню. Quote (Gont1K) Не-не, я нуб, я не сумею не думаю что тот гонтик о котором я знаю не сумеет написать такое,и не думал что он так любит тупо разглагольствовать и пытаца показать какой он мозг. Quote (Gont1K) а не желание взять на понт меня. мне ты нахер не нужен на понт тебя брать  Добавлено (14.07.2009, 08:31) --------------------------------------------- P.S. почему я так некрасиво разговариваю?потому что ты вместо написания своего кода для показа в чем точно я был не прав сидиш и п**диш на меня типа я неверно делаю...
Controllable NPC developer soProject developer
|
| |
|
|
| Gont1K | Дата: Вторник, 14.07.2009, 08:34 | Сообщение # 12 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 402
Награды: 27
Город: Chicago
Репутация: 161
Замечания: 100%
Статус: 
| Почитай форум, ты поймешь - я не скриптер. я это где-то писал, что даже нехочу им быть, поэтому написать несмогу. С парочкой пунктов согласен, сглупил. Но всетаки, просто теоретически, зачем? Кстати, про "глаза разуй" Quote (Gont1K) Это все риторические вопросы, не нужно отвечать или пояснять что либо
Heeey, im bunny. По вопросам покупки SARSL 0.6b обращаться к Tomas_Morgan. Если захочет - продаст.
|
| |
|
|
| Alex009 | Дата: Вторник, 14.07.2009, 09:33 | Сообщение # 13 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| Quote (Gont1K) Кстати, про "глаза разуй" твой пост был добавлен во время того как я писал свой => я не мог о нём знать. Quote (Gont1K) Почитай форум, ты поймешь - я не скриптер. А я думаю ты скриптер,и не хуже [RD]Chez,OKStyle,stepmex и других хороших скриптеров которых я знаю.Добавлено (14.07.2009, 08:41) --------------------------------------------- P.S. сам быдло.И отправлять на форум программистов не над меня,т.к. я пока только по павно,и только начинаю С++ изучать =_= Не думал что ты такой... Добавлено (14.07.2009, 09:33) --------------------------------------------- Special for Gont1K: В начало: [pwn]enum SpawnSelectInfo { bool:IsSelect, bool:IsSelectDone, LastClassId, SelectSpawn, Float:LastAngle, Skin }; new SpawnSelect[MAX_PLAYERS][SpawnSelectInfo]; new Spawns[][3] = { {000.0000,000.0000,000.0000}, {000.0000,000.0000,000.0000}, {000.0000,000.0000,000.0000}, {000.0000,000.0000,000.0000}, {000.000 0,000.0000,000.0000} };[/pwn] в OnPlayerConnect: [pwn]SpawnSelect[playerid][IsSelect]=false; SpawnSelect[playerid][IsSelectDone]=false; SpawnSelect[playerid][Skin]=0; SpawnSelect[playerid][LastClassId]=0; SpawnSelect[playerid][SelectSpawn]=0; SpawnSelect[playerid][LastAngle]=0.0;[/pwn] в OnPlayerRequestClass: [pwn]if(SpawnSelect[playerid][IsSelect]==false) { // //код где всякие там сет пос,сет камера и т.п. // SpawnSelect[playerid][Skin]=GetPlayerSkin(playerid); } else { if(((SpawnSelect[playerid][LastClassId]-classid) == SpawnSelect[playerid][LastClassId]) || (SpawnSelect[playerid][LastClassId] < classid)) { SpawnSelect[playerid][LastClassId]=classid; SpawnSelect[playerid][SelectSpawn]++; if(SpawnSelect[playerid][SelectSpawn]==sizeof(Spawns)) SpawnSelect[playerid][SelectSpawn]=0; } else if(((SpawnSelect[playerid][LastClassId]+classid) == classid) || (SpawnSelect[playerid][LastClassId] > classid)) { SpawnSelect[playerid][LastClassId]=classid; SpawnSelect[playerid][SelectSpawn]--; if(SpawnSelect[playerid][SelectSpawn]==-1) SpawnSelect[playerid][SelectSpawn]=sizeof(Spawns)-1; } }[/pwn] в OnPlayerRequestSpawn: [pwn] if((SpawnSelect[playerid][IsSelect]==false) && SpawnSelect[playerid][IsSelectDone]==false) { SpawnSelect[playerid][IsSelect]=true; return 0; } else { SpawnSelect[playerid][IsSelect]=false; SpawnSelect[playerid][IsSelectDone]=true; SetPlayerSkin(plyaerid,SpawnSelect[playerid][Skin]); }[/pwn] в OnPlayerSpawn: [pwn]new spawnid=SpawnSelect[playerid][SelectSpawn]; SetPlayerPos(playerid,Spawns[spawnid][0]+random(5)-random(5),Spawns[spawnid][1]+random(5)-random(5)Spawns[spawnid][2]);[/pwn] в OnPlayerUpdate: [pwn]if(SpawnSelect[playerid][IsSelect]==true) { new spawnid=SpawnSelect[playerid][SelectSpawn]; new Float:X=Spawns[spawnid][0]; new Float:Y=Spawns[spawnid][1]; new Float:Z=Spawns[spawnid][2]; new Float:X2,Float:Y2; X2 = X + (5 * floatsin(-SpawnSelect[playerid][LastAngle], degrees)); Y2 = Y + (5 * floatcos(-SpawnSelect[playerid][LastAngle], degrees)); SetPlayerCameraPos(playerid,X2,Y2,Z+2); SetPlayerCameraLookAt(playerid,X,Y,Z); SpawnSelect[playerid][LastAngle]+=0.1; }[/pwn] Доволен? 
Controllable NPC developer soProject developer
|
| |
|
|
| Gont1K | Дата: Вторник, 14.07.2009, 09:45 | Сообщение # 14 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 402
Награды: 27
Город: Chicago
Репутация: 161
Замечания: 100%
Статус: 
| Очень.
Heeey, im bunny. По вопросам покупки SARSL 0.6b обращаться к Tomas_Morgan. Если захочет - продаст.
|
| |
|
|
| Alex009 | Дата: Вторник, 14.07.2009, 09:54 | Сообщение # 15 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| Я не сделал так сразу т.к. хотел сэкономить на количестве переменных=>и на размере мода... т.е. было: new SpawnSelect[MAX_PLAYERS]; new OldClassId[MAX_PLAYERS]; new LastA[MAX_PLAYERS]; new Skin[MAX_PLAYERS]; при MAX_PLAYERS = 200 общее количество: 800 а стало: enum SpawnSelectInfo { bool:IsSelect, bool:IsSelectDone, LastClassId, SelectSpawn, Float:LastAngle, Skin }; new SpawnSelect[MAX_PLAYERS][SpawnSelectInfo]; 1200
Controllable NPC developer soProject developer
|
| |
|
|
|
 |
|
 | |
| |
|