|
10.05.2012, 14:37
|
#1
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Отдаю свою "типо игру" ))
Было дело в далекие времена хотел сделать чтото типо рейнджеров онлайн))) ну или чтото похожего, но вытоге так и не доделал много чего, но коечто впрочем работает))
Выкладываю сее чудо, но сразу предупреждаю, там очень много так называемого "говнокода"
И так что мы имеем:
1. Регистрация/вход в игру - работает 100%;
2. Покупка "стандартного" оборудования рабочесть посредственная, но неплохая ;
3. Можно вылететь со станции и полетать (при вылете со станции бывает изначально корабль дергается, но потом его попускает);
4. Посредственно работающая системма предметов (можно покупать продавать, сделано черезжопно);
5. Можно полететь пособирать астероиды, они минут через 10 начнут лететь от краев солнечной системмы и до звезды (непомню насколько долго они там летят, но всеже летят), их бывает 3 вида, дешевые дорогие и очень дорогие, соответственен и шанс появления таковых, к сожалению продажу астероидов я кажись не настроил ;
6. Если уговорите когонить присоединится к игре на сервере то появится возможность когонить пристрелить (для этого надо купить оружие на станции), в крайнем случае себя, я както упустил проверку на атаку своего корабля...;
7. Кстати о станции, она движется по неадэкватной орбите вокруг звезды, и временами совершает непредсказуемые телепортации (я там чудил, хотел по экономить на пересылке данных о координатах станций и т. п., вы сильно удивитесь "формуле" перемещения сего чуда), когда к ней подлетаеш на "стыковочное" расстояние, то появляется кнопка "пристыковатся" или както так;
8. Непомню есть литам чат или нет, если всеже есть то включается он клавишей Enter ;
9. Вроде как неплохо сделано пламя из сопла, но можно бы сделать вариант для каждого двигателя свой, так-же точка начала прорисовки пламени выставляется для каждого корпуса корабля отдельно.
А теперь о том что поидее я хотел но неуспел сделать, короче что тут конкретно не работает :
1. Ремонт оборудования - функция на данный момент полностью отсутствует;
2. Манипуляции с предметами - не реализован обмен предметами, не реализована передача денег, реализована торговля со станцией (посредственно и черезжопно);
3. При умершвлении вражеского корабля должно выпадать все что есть у него в трюме -не работает, гдето ошибка либо в перевылке данных игроку, либо в координатах вывода "коробок лута", либо еще гдето, если комунить будет интересно, может доделаю и выложу с рабочим лутом;
4. Уничтожение вражеского корабля - можно уничтожить, тольконикаких спецэффектов кроме возможно надписи о его смерти вы не обнаружите (он правда потеряет возможность двигатся и атаковать), я планировал вытоге сделать чтобы корабль взрывался, терял весь груз из трюма, и возможно 1-2 случайных предмета оборудования и появлялся бы на станции;
5. 99% того что стоило бы сохранять в базе там не сохраняется, я рассчитывал сначала проработать все, а потом уже захламлять базу;
6. Некоторые функции недоведены до полноценной работы, некоторые же по мистическим причинам работают неадэкватно
7. Анимация стрельбы поидее должна разделятся хотябы на питы орудий: лазер, плазма, осколочное и т. д., но увы везде все одинаково и кстати неправильно отображается координата начала атаки.
8. Существуют только 4 или 5 моделей кораблей, а кораблей всего покачто 9, поэтому не все они отображаются (и соответственно выбрать их нельзя), прям чит какойто)))
Содержание архива:
1. Папка с исходниками клиента игры;
2. Папка с исходниками сервера игры;
3. Папка с базой для сервера.
Скачать исходники(и ехе) (v 0.097) (13,4 МБ )
Либы и Деклсы Для тех кто решится всеже чтонить почудить.
Запуск игры:
1. Запустите базу;
2. Запустите сервер;
3. Запустите клиент...
Скрины:
Последний раз редактировалось Crayzi, 12.05.2012 в 18:49.
|
(Offline)
|
|
Эти 17 пользователя(ей) сказали Спасибо Crayzi за это полезное сообщение:
|
ABTOMAT (10.05.2012), BlackOut (10.05.2012), DStalk (13.05.2012), Кирпи4 (12.06.2012), FireOwl (12.05.2012), is.SarCasm (10.05.2012), Jlemyp (16.05.2012), Nex (10.05.2012), NitE (10.05.2012), Randomize (10.05.2012), Reks888 (12.05.2012), reumep (14.05.2012), SBJoker (10.05.2012), St_AnGer (10.05.2012), tirarex (11.05.2012), Wegox (11.05.2012), Жека (12.05.2012)
|
10.05.2012, 17:16
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
С кринов нет?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
10.05.2012, 17:19
|
#3
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Ща чёнить наскриню выложу.
П.с. Кто хочет может чё угодно делать с этой игрой, если чё можете спрашивать по поводу кода, чё де и как, ток не спрашуйте почему)))
|
(Offline)
|
|
11.05.2012, 21:34
|
#4
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от Crayzi
3. Папка с базой бля сервера.
Скрины:
|
чем тебе так сервер неугодил ??
лан скачал щя буду разбиратся как играть
|
(Offline)
|
|
12.05.2012, 02:56
|
#5
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от tirarex
чем тебе так сервер неугодил ??
лан скачал щя буду разбиратся как играть
|
Както незаметил опечатки)) Хоть запустилось на "чужом компе"?
|
(Offline)
|
|
12.05.2012, 11:52
|
#6
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
запустилось давот как играть ??
я тыкаю регу пишу логин имя игрока (одинаковые) пароль тыкаю регистрацию
потом ввожу логин и пароль но войти в игру немогу
|
(Offline)
|
|
12.05.2012, 15:00
|
#7
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от tirarex
запустилось давот как играть ??
я тыкаю регу пишу логин имя игрока (одинаковые) пароль тыкаю регистрацию
потом ввожу логин и пароль но войти в игру немогу
|
Хмм:
1. Ты запустил базу?
2. Когда ты запустил сервер, он тебе выдал 3 сообщения:
Zones - loaded
DB`Soon` - Loaded
DB`Planet` - Loaded
Если не выдал, то значит нет доступа к базе (Zones - loaded в любом случае появится, оно не с базы грузится, а так генерируется...)
3. Когда ты создавал акаунт, тебя на страницу ввода логина/пароля перекинуло, там внизу появилось сообщение "Аккаунт успешно создан"?, или хотябы там "Акаунт занят" или чёнить такое? если вообще ниче не выдало то серв видать неприконнектился к базе, либо я не указал в клиенте коннект на 127.0.0.1 и оно пытается коннектится нетуда...
|
(Offline)
|
|
12.05.2012, 17:10
|
#8
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
оказалось базу не запустил
теперь всё работает только вот я один играю
а никто больше не хочет а так игра понравилась чата нехватает (
|
(Offline)
|
|
12.05.2012, 17:21
|
#9
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
ах да летел вытащил двигатель в полёте получил мав
|
(Offline)
|
|
12.05.2012, 18:03
|
#10
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от tirarex
ах да летел вытащил двигатель в полёте получил мав
|
Надо заменить строчки 2774-2782
If ub%(p\PFlags%,1)=1
MovT%=MilliSecs()-z\StartMovTime%
Else
MovT%=(-1)
EndIf
ShdsEn#=(ShdsEn#/ShdsEnMax%)*100
MsgTest$=MsgTest$+","+Handle(o)+","+o\Name$+","+o\XCoord#+","+o\YCoord#+","+o\PPMoveCoordX#+","+o\PPMoveCoordY#+","+t\ID%+","+MovT%+","+z\PRotateSPD#+","+MoveSPD#+","+o\angle#+","+o\PFlags%+","+t\MaxDurability+","+t\TecDurability+","+ShdsEn#;+","
на
If ub%(p\PFlags%,1)=1 And z<>Null
MovT%=MilliSecs()-z\StartMovTime%
RSPD#=z\PRotateSPD#
Else
MovT%=(-1)
RSPD#=0
EndIf
ShdsEn#=(ShdsEn#/ShdsEnMax%)*100
MsgTest$=MsgTest$+","+Handle(o)+","+o\Name$+","+o\XCoord#+","+o\YCoord#+","+o\PPMoveCoordX#+","+o\PPMoveCoordY#+","+t\ID%+","+MovT%+","+RSPD#+","+MoveSPD#+","+o\angle#+","+o\PFlags%+","+t\MaxDurability+","+t\TecDurability+","+ShdsEn#;+","
Там небыло приспособлено к отсутствию двигателя))
Так-же выкладую исправленный бб-шник и ехе-шник сервера.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.05.2012, 18:08
|
#11
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от tirarex
оказалось базу не запустил
теперь всё работает только вот я один играю
а никто больше не хочет а так игра понравилась чата нехватает (
|
Чат могу запилить вобщемто, примитивный...
чтобы могли присоединятся надо поменять в исходниках (я както конфиг файл непредусмотрел) айпи адрес в строчке
Global Stringa$ = "127.0.0.1"
на свой (ну и чтобы в инете хостить надо иметь внешний айпи)
|
(Offline)
|
|
12.05.2012, 18:19
|
#12
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
)) буду думать теперь над своей игрой кстати
можеш помоч с нет игрой ?
|
(Offline)
|
|
12.05.2012, 18:41
|
#13
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
Сообщение от tirarex
)) буду думать теперь над своей игрой кстати
можеш помоч с нет игрой ?
|
Ну ты если что спрашуй))) Я правда сам неособо шарящий в этом всем)) То как я делал эту игру внушает ужас)
Вот кстати чат запилил в этой игре, правда примитивный, отправка только всем и сразу, сообщения появляются чуть ниже центра экрана)), через 12 сек удаляются.
Выложил бб-шники и ехе-шники...
|
(Offline)
|
|
12.05.2012, 18:59
|
#14
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
думаю теперь норм кстати у меня такой вопрос
как сделать ботов ну зомби
к примеру
этож не игрок но должен быть видемым для всех и его все чтоб могли убивать я пока как сделать не понимаю
|
(Offline)
|
|
12.05.2012, 19:26
|
#15
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Отдаю свою "типо игру" ))
и ещё вопрос
я нашёл код простого мультиплеера
Type Info
Field txt$
End Type
NetGame=StartNetGame ()
Graphics3D 800,600,16,2
SetBuffer BackBuffer ()
Global cam
Global myent
Global myid
Global myname$
Type Player
Field name$,id,ent
End Type
cam=CreateCamera ()
PositionEntity cam,0,2,-5
light=CreateLight()
p.Player=New Player
p\name=Input ("Enter to name : ")
p\id=CreateNetPlayer (p\name)
p\ent=CreateCube ()
myname=p\name
myid=p\id
myent=p\ent
While Not KeyHit (1)
updatePlayer()
RenderWorld
updateNetwork()
RenderAll()
Flip
Wend
Function UpdatePlayer()
If KeyHit(57) Then info("всё ок")
If KeyDown(17) MoveEntity myent,0,0,.1
If KeyDown(31) MoveEntity myent,0,0,-.1
If KeyDown(30) TurnEntity myent,0,1,0
If KeyDown(32) TurnEntity myent,0,-1,0
SendNetMsg 2,PackMsg$(myent),myid,0
End Function
Function UpdateNetwork()
While RecvNetMsg()
Select NetMsgType()
Case 100
p.Player=New Player
p\id=NetMsgFrom()
p\name=NetPlayerName(p\id)
p\ent=CreateCube()
Case 101
p.Player=FindPlayer(NetMsgFrom())
FreeEntity p\ent
Delete p
Case 2
p.Player=FindPlayer(NetMsgFrom())
UnpackMsg(p\ent,NetMsgData$())
info( NetPlayerName$( NetMsgFrom() )+": "+NetMsgData$() )
End Select
Wend
End Function
Function FindPlayer.Player( id )
For p.Player=Each Player
If p\id=id Then Return p
Next
End Function
Function PackMsg$(ent)
Return EntityX(ent)+"|"+EntityZ(ent)+"|"+EntityYaw(ent)
End Function
Function UnpackMsg(ent,dat$)
xp=Instr(dat$,"|")
x=Float(Left(dat$,xp))
dat$=Right(dat$,Len(dat$)-xp)
zp=Instr(dat$,"|")
z=Float(Left(dat$,zp))
dat$=Right(dat$,Len(dat$)-zp)
yaw=Float(Left(dat$,Len(dat$)))
PositionEntity ent,x,0,z
RotateEntity ent,0,yaw,0
End Function
Function LabelEntity(entity%,camera,txt$,px%,py%,near#,far# )
CameraProject(camera%,EntityX(entity%),EntityY(ent ity%),EntityZ(entity%))
dist#=EntityDistance(entity%,camera)
If EntityInView(entity%,camera%) Then Text ProjectedX#()+px%,ProjectedY#()+py%,txt$
End Function
Function info(t$)
i.Info=New Info
i\txt$=t$
Insert i Before First Info
End Function
Function RenderAll()
Text 10,10,chat$
y=FontHeight()*2
r=0;255
For i.Info=Each Info
If r<15;максимальное количество ctpok
Text 8,y,i\txt$
y=y+FontHeight()
r=r+1
Else
Delete i
EndIf
Next
End Function
создаю сервак на свой ип
другие компы в локальной сети видят мой сервак а комп друга невидет мой серв
когда он создаёт серв таже история
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:27.
|