Пятница, 29.08.2008, 23:42
 
 
Приветствую Вас Проезжий | RSS
[ Новые сообщения · Участники · Правила форума · Поиск! · RSS ]
Страница 1 из 212»
Модератор форума: MAK 
Форум SA-MP & MTA DM всё о GTa San Andreas по сети » San Andreas MultiPlayer » Вопросы и Проблемы » xObjects
xObjects
ATOM57Дата: Пятница, 25.07.2008, 20:23 | Сообщение # 1
Постоялец

Группа: Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: status
Юзал поиск и не нашёл темы про то как делать xObjects
Скиньте пожалуста пример кода с расшивровкой wink

Добавлено (25.07.2008, 20:23)
---------------------------------------------
Хм... желательно как конвертировать с помощью Advanced Converter

shok ну чё никто не знает чтоли?


[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
Статус: status
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
Город: с ад (Омск)
Статус: status
fun Ты гонишь я знал как конвертать, не знал только как в 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"
sad

[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
Город: Оренбург
Статус: status
ATOM57, а инклюд подключил?

P.S. Ну вот, теперь аватарка рулед =)




Мои работы

* Меню цветов

Слова окстайла всегда правда © HITMAN07

 
ATOM57Дата: Суббота, 26.07.2008, 19:50 | Сообщение # 5
Постоялец

Группа: Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: status
Quote (OKStyle™)
а инклюд подключил?

nea no2
Quote (OKStyle™)
Ну вот, теперь аватарка рулед =)

yes

Добавлено (26.07.2008, 19:50)
---------------------------------------------
Какой инклуд то надо?
crazy


[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
Статус: status
Quote (ATOM57)
Какой инклуд то надо?

object_info наверн..






Написать мне в ICQ
 
nfsДата: Суббота, 26.07.2008, 20:14 | Сообщение # 7
Новенький

Группа: Продвинутые
Сообщений: 67
Город: kazan
Статус: status
Вот пример 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
Город: Оренбург
Статус: status
ATOM57, тогда можешь не подключать, а воспользоваться конструкцией, которую указал nfs:
Code
enum object_info  
{  
   modelid,  
   Float:ox,  
   Float:oy,  
   Float:oz,  
   Float:orx,  
   Float:ory,  
   Float:orz,  
   Float:viewdist  
}




Мои работы

* Меню цветов

Слова окстайла всегда правда © HITMAN07

 
ATOM57Дата: Среда, 30.07.2008, 21:43 | Сообщение # 9
Постоялец

Группа: Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: status
sorry чёт вроде не видно обьектов... какое расстояние самое оптимальное?

[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%

о(°±°)о

 
F3rNAnDOДата: Среда, 30.07.2008, 22:02 | Сообщение # 10
Уверенный

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

Группа: Продвинутые
Сообщений: 83
Статус: status
MO[r]GAN, ага я с этим мужусь 2 недели уже ни чо не пашет!!!!! wall suicide2

 
fasДата: Среда, 30.07.2008, 22:19 | Сообщение # 12
Новенький

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

Группа: Продвинутые
Сообщений: 114
Город: Омск
Статус: status
Ошибка у 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
Статус: status
а можете готовый скрипт написать , чтоб в неё присутствовали xObjects , допустим парочка на груве . Никак чтото не получается . wall

 
ATOM57Дата: Вторник, 05.08.2008, 16:33 | Сообщение # 15
Постоялец

Группа: Продвинутые
Сообщений: 382
Город: с ад (Омск)
Статус: status
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

sad

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%

о(°±°)о

 
Форум SA-MP & MTA DM всё о GTa San Andreas по сети » San Andreas MultiPlayer » Вопросы и Проблемы » xObjects
Страница 1 из 212»
Поиск:

DB Error: connect failed
Copyright SAMP-RUS© 2008