| xObjects |
| ATOM57 | Дата: Пятница, 25.07.2008, 20:23 | Сообщение # 1 |
|
Постоялец

Группа:
Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: 
| Юзал поиск и не нашёл темы про то как делать xObjects Скиньте пожалуста пример кода с расшивровкой  Добавлено (25.07.2008, 20:23) --------------------------------------------- Хм... желательно как конвертировать с помощью Advanced Converter ну чё никто не знает чтоли?
[MAP-FS]StuntSF v.1.4 [MAP-FS]MeGa Rampa [FS-MAP]SFJump - 100% Прыжки по крышам SanFierro на Sanchez'e) [FS-MAP]SkRoad2! - 100% Продолжение легендарного хита! [FS-MAP]SKyJump Прыжок через небоскрёб - 100% о(°±°)о
|
| |
| | |
| 3dgamer | Дата: Пятница, 25.07.2008, 20:47 | Сообщение # 2 |
|
Уверенный

Группа:
Продвинутые
Сообщений: 228
Статус: 
| xObjects ну если тее удобно то делай на нем мне неудобно вообще он лагает=)!О чтот мя лагает так короче слушай! Устанавливаеш MTA RACE все установил входим жмем Map Editor и ставим куда надо и все что надо=)!Далее сохраняем и выходим!Качаем Advanced Converter Далее есть инструкция как конвертировать на самп русе в файлах!Ну ладн чтоб тебе не вазитц я её сюда суну ;) Это конвертор карт из MTA Race в код Pawno, xObjects или YSI. Так же данный конкертор может карту MTA race преобразовать в GameMode и показать его код. Использование: 1. Запускаем AdvancedConverter.exe 2. Импортируем карту MTA Race нажав на кнопку Import Map 3. Выбираем в какой код будем преобразовывать (Pawno, xObjects, YSI, Gamemode) 4. Если преобразуем в код Pawno или YSI, то можно выбрать как будет выглядеть функция добавления машни (AddStatisVechicle, CreatVechicle или AddStatisVechicleEx) 5. Теперь жмем Convert и перед нами в нижнем окне появлется код. 6. Данный код можно сохранить нажав на кнопку Save output Вот собственно и все=)!С тебя плюс ;) Добавлено (25.07.2008, 20:46) --------------------------------------------- В Описании адванце конверн есть про xObject лично мне проще крет обж или просто вешл=) Добавлено (25.07.2008, 20:47) --------------------------------------------- пример вот Code new Objects[][object_info] = { {16151,-2812.491,-1518.792,140.236,0.0,0.0,0.0,1000.0}, {1755,-2816.284,-1515.630,139.838,0.0,0.0,-90.000,1000.0}, {1755,-2819.375,- 1516.335,139.838,0.0,0.0,-270.000,1000.0}, } Если я не ощибаюсь=)
Мои работги: [FS]Mobile 99%(Потерял павн в поисках) [GM]The_Eternal_City0.2 15% [GM]Testing_mode0.1 100% Скачать
Сообщение отредактировал 3dgamer - Пятница, 25.07.2008, 20:46 |
| |
| | |
| ATOM57 | Дата: Пятница, 25.07.2008, 20:52 | Сообщение # 3 |
|
Постоялец

Группа:
Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: 
| Ты гонишь я знал как конвертать, не знал только как в xObjects, но сёравно пасип Quote new Objects[][object_info] = { {18569,4.848,-169.307,0.935,0.0,0.0,0.0,1000.0}, {3665,-208.467,-28.932,2.924,3.438,-5.157,-22.500,1000.0} }; Quote : error 017: undefined symbol "object_info"
[MAP-FS]StuntSF v.1.4 [MAP-FS]MeGa Rampa [FS-MAP]SFJump - 100% Прыжки по крышам SanFierro на Sanchez'e) [FS-MAP]SkRoad2! - 100% Продолжение легендарного хита! [FS-MAP]SKyJump Прыжок через небоскрёб - 100% о(°±°)о
|
| |
| | |
| OKStyle™ | Дата: Пятница, 25.07.2008, 21:12 | Сообщение # 4 |
|
Джэдай

Группа:
Разработчики
Сообщений: 1853
Город: Оренбург
Статус: 
| ATOM57, а инклюд подключил? P.S. Ну вот, теперь аватарка рулед =)
Мои работы * Меню цветов Слова окстайла всегда правда © HITMAN07
|
| |
| | |
| ATOM57 | Дата: Суббота, 26.07.2008, 19:50 | Сообщение # 5 |
|
Постоялец

Группа:
Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: 
| Quote (OKStyle™) а инклюд подключил? Quote (OKStyle™) Ну вот, теперь аватарка рулед =)  Добавлено (26.07.2008, 19:50) --------------------------------------------- Какой инклуд то надо?
[MAP-FS]StuntSF v.1.4 [MAP-FS]MeGa Rampa [FS-MAP]SFJump - 100% Прыжки по крышам SanFierro на Sanchez'e) [FS-MAP]SkRoad2! - 100% Продолжение легендарного хита! [FS-MAP]SKyJump Прыжок через небоскрёб - 100% о(°±°)о
|
| |
| | |
| MAK | Дата: Суббота, 26.07.2008, 19:51 | Сообщение # 6 |
|
Уважаемый

Группа:
Следователи
Сообщений: 964
Город: ODESSA
Статус: 
| Quote (ATOM57) Какой инклуд то надо? object_info наверн..
Написать мне в ICQ
|
| |
| | |
| nfs | Дата: Суббота, 26.07.2008, 20:14 | Сообщение # 7 |
|
Новенький

Группа:
Продвинутые
Сообщений: 67
Город: kazan
Статус: 
| Вот пример xObjects Code enum object_info { modelid, Float:ox, Float:oy, Float:oz, Float:orx, Float:ory, Float:orz, Float:viewdist }
new Objects[][object_info] = {//твои обьекты {4867,3859.492,-1886.581,3.075,0.0,0.0,0.0,1000.0}};
enum player_info { objid[sizeof(Objects)], bool:view[sizeof(Objects)] } new Player[MAX_PLAYERS][player_info];
//------------------------------------------------------------------------------
bool:IsInReach(Float:x,Float:y,Float:z,Float:x2,Float:y2,F loat:z2,Float:dist) { x = (x > x2) ? x - x2 : x2 - x; if(x > dist) return false; y = (y > y2) ? y - y2 : y2 - y; if(y > dist) return false; z = (z > z2) ? z - z2 : z2 - z; if(z > dist) return false; return true; }
//------------------------------------------------------------------------------
new timer;
public OnFilterScriptInit() { timer = SetTimer("Timer",500,1); return 1; }
public OnFilterScriptExit() { for(new i = 0; i < MAX_PLAYERS; i++) { for(new o = 0; o < sizeof(Objects); o++) { if(Player[i][view][o]) { Player[i][view][o] = false; DestroyPlayerObject(i,Player[i][objid][o]); } } } KillTimer(timer); }
//------------------------------------------------------------------------------
public OnPlayerConnect(playerid) { for(new i = 0; i < sizeof(Objects); i++) Player[playerid][view][i] = false; }
public OnPlayerDisconnect(playerid) { for(new i = 0; i < sizeof(Objects); i++) { if(Player[playerid][view][i]) { Player[playerid][view][i] = false; DestroyPlayerObject(playerid,Player[playerid][objid][i]); } } }
//------------------------------------------------------------------------------
public Timer() { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerObjectUpdate(i); }
PlayerObjectUpdate(playerid) { new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); for(new i = 0; i < sizeof(Objects); i++) { if(!Player[playerid][view][i]) { if(IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist])) { Player[playerid][view][i] = true; Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]); } } else if(!IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist])) { Player[playerid][view][i] = false; DestroyPlayerObject(playerid,Player[playerid][objid][i]); } } }
public SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z) { for(new i = 0; i < sizeof(Objects); i++) { if(!Player[playerid][view][i]) { if(IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist])) { Player[playerid][view][i] = true; Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]); } } else if(!IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist])) { Player[playerid][view][i] = false; DestroyPlayerObject(playerid,Player[playerid][objid][i]); } } SetPlayerPos(playerid,Float:x,Float:y,Float:z); }
public OnPlayerSpawn(playerid){ PlayerObjectUpdate(playerid);}
Мои Моды [GM]Training Mode Мои Скрипты [FS]Sound Мои разработки [GM]Real Capital Life-10%
|
| |
| | |
| OKStyle™ | Дата: Суббота, 26.07.2008, 22:07 | Сообщение # 8 |
|
Джэдай

Группа:
Разработчики
Сообщений: 1853
Город: Оренбург
Статус: 
| ATOM57, тогда можешь не подключать, а воспользоваться конструкцией, которую указал nfs: Code enum object_info { modelid, Float:ox, Float:oy, Float:oz, Float:orx, Float:ory, Float:orz, Float:viewdist }
Мои работы * Меню цветов Слова окстайла всегда правда © HITMAN07
|
| |
| | | | |
| F3rNAnDO | Дата: Среда, 30.07.2008, 22:02 | Сообщение # 10 |
|
Уверенный

Группа:
Продвинутые
Сообщений: 249
Город: -=LOS SANTOS SITY=-
Статус: 
| ошибки выдаёт эта конструкция , которую написал nfs , может ктонибуть напишет готовый скрипт с применением xObjects ? очень надо люди !!! плз
|
| |
| | |
| logih | Дата: Среда, 30.07.2008, 22:14 | Сообщение # 11 |
|
Освоившийся

Группа:
Продвинутые
Сообщений: 83
Статус: 
| MO[r]GAN, ага я с этим мужусь 2 недели уже ни чо не пашет!!!!!
|
| |
| | |
| fas | Дата: Среда, 30.07.2008, 22:19 | Сообщение # 12 |
|
Новенький

Группа:
Пользователи
Сообщений: 12
Статус: 
| люди !!!!!!!!! кто может да , пожалуйста , напишите скрипт с применением xObjects , кто может напишите , + поставлю !!!!
|
| |
| | |
| Spirit | Дата: Четверг, 31.07.2008, 08:59 | Сообщение # 13 |
|
Освоившийся

Группа:
Продвинутые
Сообщений: 114
Город: Омск
Статус: 
| Ошибка у nfs-а в PlayerObjectUpdate собственно в таймере даже, он проверяет для каждого игрока все объекты и если хотябы один игрок его не видит объект уничтожается таким образом если последний игрок его не видит то ниодин игрок объект так и не увидит, а возможно что все должны столпится у объекта тогда он появится, нужен немного другой алгоритм, тоесть мы листаем объекты проверяем в цикле не видит ли игрок объект для каждого игрока, если видит объект если небыл создан создаём и проверку завершаем, если ниодин игрок в области не находится объект уничтожаем если он был создан, ну вот как пример думаю подойдёт: stock IsPlayerInSphere(playerid,Float:xt,Float:yt,Float:zt,radius) //By Sacky { if(GetPlayerDistanceToPointEx(playerid,xt,yt,zt) < radius) return 1; return 0; } stock GetPlayerDistanceToPointEx(playerid,Float:xt,Float:yt,Float:zt) //By Sacky { new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(xt,x1)),2)+floatpower(floatabs(floatsub(yt,y1)),2)+floatpower(floatabs(floatsub(zt,z1)),2)); return floatround(tmpdis); } forward WorkxObject(); public WorkxObject() { new k; for(new i=0;i<MapInfo[xobjects];i++) { k = 0; for(new p=0;p<MAX_PLAYERS;p++) { if(IsPlayerConnected(p)) { if(IsPlayerInSphere(p,xObjects[i][X],xObjects[i][Y],xObjects[i][Z],MapInfo[RadiusViev]))//На подобие функции IsInReach { if(xObjects[i][ID] == (-1)) xObjects[i][ID] = CreateObject(xObjects[i][modelid],xObjects[i][X],xObjects[i][Y],xObjects[i][Z],xObjects[i][Xr],xObjects[i][Yr],xObjects[i][Zr]); k = 1; break; } } if(k == 0) { DestroyObject(xObjects[i][ID]); xObjects[i][ID] = (-1); } } } }
Любиш садизм люби и мазахизм :)
|
| |
| | |
| logih | Дата: Четверг, 31.07.2008, 12:09 | Сообщение # 14 |
|
Освоившийся

Группа:
Продвинутые
Сообщений: 83
Статус: 
| а можете готовый скрипт написать , чтоб в неё присутствовали xObjects , допустим парочка на груве . Никак чтото не получается .
|
| |
| | |
| ATOM57 | Дата: Вторник, 05.08.2008, 16:33 | Сообщение # 15 |
|
Постоялец

Группа:
Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: 
| Spirit, Можешь вставить в Code [ /code]
[code] : error 017: undefined symbol "MapInfo" (31) : error 029: invalid expression, assumed zero (31) : warning 215: expression has no effect (31) : error 017: undefined symbol "i" (31) : fatal error 107: too many error messages on one line 31 строчка - for(new i=0;i<MapInfo[xobjects];i++)
[MAP-FS]StuntSF v.1.4 [MAP-FS]MeGa Rampa [FS-MAP]SFJump - 100% Прыжки по крышам SanFierro на Sanchez'e) [FS-MAP]SkRoad2! - 100% Продолжение легендарного хита! [FS-MAP]SKyJump Прыжок через небоскрёб - 100% о(°±°)о
|
| |
| |
|