Результаты поиска
| |
harmoxyne | Дата: Суббота, 12 Мая 2012, 18:59 | Сообщение # 401 | Тема: Делать русский сайт? |
заслуженный участник
Сейчас нет на сайте
| DasTem, хорошо знаю Еклипс, хорошо знаю английский, более-менее знаю VB6. Если что, спроси скайп в личке.
|
|
| |
harmoxyne | Дата: Пятница, 11 Мая 2012, 21:40 | Сообщение # 402 | Тема: Какую музыку вы слушаете? |
заслуженный участник
Сейчас нет на сайте
| Рок не умрет, ребята
|
|
| |
harmoxyne | Дата: Среда, 09 Мая 2012, 21:38 | Сообщение # 403 | Тема: . |
заслуженный участник
Сейчас нет на сайте
| Очень хороший человек. Помог со сценарием за "Спасибо"
|
|
| |
harmoxyne | Дата: Вторник, 08 Мая 2012, 21:27 | Сообщение # 404 | Тема: [VB6] Случайный заголовок |
заслуженный участник
Сейчас нет на сайте
| shizofren, спасибо, отлично работает, то что нужно
|
|
| |
harmoxyne | Дата: Воскресенье, 06 Мая 2012, 11:02 | Сообщение # 405 | Тема: [VB6] Случайный заголовок |
заслуженный участник
Сейчас нет на сайте
| Quote (reyzor) радомом выбираешь один из них Вот это меня интересует. Допустим, назовем массив Sovety, и как сделать рандомный выбор этого?
|
|
| |
harmoxyne | Дата: Воскресенье, 06 Мая 2012, 10:07 | Сообщение # 406 | Тема: [VB6] Случайный заголовок |
заслуженный участник
Сейчас нет на сайте
| Добрый день, программеры. Мне нужна небольшая помощь. Дописывая EO, я столкнулся с идеей... Что-то типа случайных советов. То есть, пока игра загружается, ты видишь на экране совет, который каждый раз выбирается случайно из заданных. И решил я реализовать это так. Создаем Label, пускай это будет lblSovet, размещаем его в нужном нам месте, и... дальше я не придумал. В чем сам вопрос, как сделать, что бы lblSovet.caption каждый раз при запуске программы выбирался случайным образом из заданного списка возможных? Если что-то не понятно, я могу рассказать подробнее
|
|
| |
harmoxyne | Дата: Воскресенье, 06 Мая 2012, 09:26 | Сообщение # 407 | Тема: Конструктор онлайн игр |
заслуженный участник
Сейчас нет на сайте
| Quote (Radjerson) онлайн игру и Quote (Radjerson) конструктор Это не очень совместимые вещи... Да и я так понял, что ты хочешь создать игру с разрушением, крафтом, и т.д. Тут два пути. 1. Учить язык программирования, брать сложный движок, кодить, кодить, кодить... 2. Создать свой сервер Minecraft
|
|
| |
harmoxyne | Дата: Суббота, 05 Мая 2012, 10:00 | Сообщение # 408 | Тема: ДеОбломай-ка |
заслуженный участник
Сейчас нет на сайте
| Потом проснулся, и понял, что это страшный сон. Услышал песню Бибера
|
|
| |
harmoxyne | Дата: Суббота, 05 Мая 2012, 09:12 | Сообщение # 409 | Тема: Школьники бросают кирпичами в машины |
заслуженный участник
Сейчас нет на сайте
| Quote (Bazket) они герои страны! не то что вы, комнатные герои. самим выйти и так слабо? Нет, не слабо. Вот только скажи, зачем? Что мне это даст? А если человек долгое время копил на эту машину, утром просыпается, а она разбита малолетней школотой... Поставь себя на его место Quote (MyACT) Вообще не понимаю что с моими сверстниками происходят... Да сам в шоке...
|
|
| |
harmoxyne | Дата: Пятница, 04 Мая 2012, 20:22 | Сообщение # 410 | Тема: Школьники бросают кирпичами в машины |
заслуженный участник
Сейчас нет на сайте
| Они просто не понимают, что машина - это не такое дешевое удовольствие...
|
|
| |
harmoxyne | Дата: Пятница, 04 Мая 2012, 17:39 | Сообщение # 411 | Тема: Как сделать русский текст в EO |
заслуженный участник
Сейчас нет на сайте
| Многие из вас собираются сделать убийцу WoW на Eclipse... Но видят проблему со шрифтом, и выкидывают его к чертям... Так вот, есть решение этой проблемы. Начнем... 1. Скачиваем Visual Basic 6, устанавливаем. 2. Скачиваем исходный код движка, открываем. 3. Открываем вкладки как показано на рисунках, и выставляем шрифт как на рисунке. 4. Пользуемся русским языком в EO.
Сообщение отредактировал QNicolya - Пятница, 05 Октября 2012, 22:42 |
|
| |
harmoxyne | Дата: Суббота, 28 Апреля 2012, 18:42 | Сообщение # 412 | Тема: [2D] Fire of the War |
заслуженный участник
Сейчас нет на сайте
| Будь мужиком, выпусти игру про танк 9 мая Мне нравится.
|
|
| |
harmoxyne | Дата: Воскресенье, 22 Апреля 2012, 11:51 | Сообщение # 413 | Тема: Ошибка в Xtreme Worlds |
заслуженный участник
Сейчас нет на сайте
| pelmenka, знаю, что тема стара, но если кому-то понадобится. Ошибка №9 возникает, если заданного объекта в проекте нету. То есть, к примеру, что-то обращается к структуре InitServer, но самого InitServer в проекте нету. Как-то так)
|
|
| |
harmoxyne | Дата: Воскресенье, 22 Апреля 2012, 11:26 | Сообщение # 414 | Тема: Квестовая система для EO 2.0 |
заслуженный участник
Сейчас нет на сайте
| issiddima, может вам и готовую игру скинуть? Во-первых, это не патч. Во-вторых, не пишите капсом. Во-третьих, я использую не эту систему квестом, а собственноручно написанную, и клиента с этой версией у меня нет.Добавлено (22.04.2012, 11:26) --------------------------------------------- Но все же, решил вас помиловать, в шапку выложил готовый клиент.
|
|
| |
harmoxyne | Дата: Воскресенье, 22 Апреля 2012, 11:21 | Сообщение # 415 | Тема: Вопросы по созданию ММОГ |
заслуженный участник
Сейчас нет на сайте
| stalker5889, а это идея, создать ММО Тетрис Вообще, я тоже думал, что все вокруг криворукие, у которых ничего не получается, а я возьму какой-то конструктор, и заработаю миллиарды... Увы и ах, это не так... С обычными конструкторами можно заработать только геморой Я вот например, взял скелет Eclipse (тот который для 2д мморпг), и вот, по-тихоньку переписываю его под свои нужды. Нужно искать не готовое, а найти сырое, и сделать его готовым.
|
|
| |
harmoxyne | Дата: Понедельник, 09 Апреля 2012, 20:31 | Сообщение # 416 | Тема: У кого Radeon-ы, потестите экзешник. |
заслуженный участник
Сейчас нет на сайте
| Quote (Serg1971) ЗЫ. В принципе, владельцы других видеокарт - можете качать и отписывать как у вас дело пошло. NVidia GeForce 9500 GT
|
|
| |
harmoxyne | Дата: Воскресенье, 08 Апреля 2012, 21:40 | Сообщение # 417 | Тема: Угадай, кто ответит? |
заслуженный участник
Сейчас нет на сайте
| vasua99, нет я не следующий нуб Следующий ответит кот, замаскированный под собаку, которая замаскированна под человека.
|
|
| |
harmoxyne | Дата: Пятница, 06 Апреля 2012, 13:33 | Сообщение # 418 | Тема: Ищу мануалы по RPG Studio |
заслуженный участник
Сейчас нет на сайте
| Eraser, а своими силами переделать никак? Исходный код есть, изображения есть, граф. редакторов полно
|
|
| |
harmoxyne | Дата: Четверг, 05 Апреля 2012, 10:20 | Сообщение # 419 | Тема: Android и мощность процессора |
заслуженный участник
Сейчас нет на сайте
| Купил себе в декабре LG P690, 800 МГц на нем стоит, и Арм6... Идут игры почти все (на одном сайте есть много разных игр для арм6 конвертированых с арм7, обращайтесь в ЛС). Глючит очень редко, вчера например по ошибке, запустил Яндекс.Шелл(лаунчер), скайп, оперу, гугл+, и еще какую-то игру. Подвис конкретно, пришлось перезагружать. Но вообще телефон хороший, мне нравится.
|
|
| |
harmoxyne | Дата: Пятница, 30 Марта 2012, 21:00 | Сообщение # 420 | Тема: Квестовая система для EO 2.0 |
заслуженный участник
Сейчас нет на сайте
| И так, пока делаю свою игрулину, нашел на форуме эклипса квестовую систему... Очень проста в использовании (хоть я и пользуюсь другой), и не слишком багнутая. И так, начнем. - Вот так она будет выглядеть в конце нашего урока. Code Как это работает? В чате нужно написать /editquest, и откроется окно редактирования Сторона сервера 1. Добавьте modSvQuest в ваш проект. 2. В modCombat найдите Code If Len(Trim$(NPC(npcNum).AttackSay)) > 0 Then , и после Else вставьте Code If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Then Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum) Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum) Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum) If NPC(npcNum).Quest = YES Then If CanStartQuest(attacker, NPC(npcNum).QuestNum) Then 'if can start show the request message (chat1) QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Chat(1)), NPC(npcNum).QuestNum Exit Function End If If QuestInProgress(attacker, NPC(npcNum).QuestNum) Then 'if the quest is in progress show the meanwhile message (chat2) PlayerMsg attacker, Trim$(NPC(npcNum).Name) + ": " + Trim$(Quest(NPC(npcNum).QuestNum).Chat(2)), BrightGreen 'QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Chat(2)), 0 Exit Function End If End If End If 3. Там же найдите Sub PlayerAttackNpc, в ней Code ' send death to the map и сразу за ним вставьте Code Call CheckTasks(attacker, QUEST_TYPE_GOSLAY, npcNum) В той же Sub PlayerAttackNPC найдите и вставьте после него Code Call CheckTasks(attacker, QUEST_TYPE_GOKILL, victim) 4.Заходим в modGeneral. 5. Ищем InitServer, и после Code ChkDir App.Path & "\Data\", "spells" вставляем Code ChkDir App.Path & "\Data\", "quests" 6. Ищем ClearGameData, находим , и за ним ставим Code Call SetStatus("Clearing quests...") Call ClearQuests 7. Находим LoadGameData, ищем и за ним вставляем Code Call SetStatus("Loading quests...") Call LoadQuests 8.Заходим в modHandleData 9. Ищем Code HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave) , и за ним вставляем Code HandleDataSub(CRequestEditQuest) = GetAddress(AddressOf HandleRequestEditQuest) HandleDataSub(CSaveQuest) = GetAddress(AddressOf HandleSaveQuest) HandleDataSub(CRequestQuests) = GetAddress(AddressOf HandleRequestQuests) HandleDataSub(CPlayerHandleQuest) = GetAddress(AddressOf HandlePlayerHandleQuest) HandleDataSub(CQuestLogUpdate) = GetAddress(AddressOf HandleQuestLogUpdate) 10. В самый конец модуля добавляем Code Sub HandleRequestEditQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Buffer As clsBuffer
' Prevent hacking If GetPlayerAccess(Index) < ADMIN_DEVELOPER Then Exit Sub End If
Set Buffer = New clsBuffer Buffer.WriteLong SQuestEditor SendDataTo Index, Buffer.ToArray() Set Buffer = Nothing End Sub
Sub HandleSaveQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim n As Long Dim Buffer As clsBuffer Dim QuestSize As Long Dim QuestData() As Byte Set Buffer = New clsBuffer Buffer.WriteBytes Data()
' Prevent hacking If GetPlayerAccess(Index) < ADMIN_DEVELOPER Then Exit Sub End If
n = Buffer.ReadLong 'CLng(Parse(1))
If n < 0 Or n > MAX_QUESTS Then Exit Sub End If ' Update the Quest QuestSize = LenB(Quest(n)) ReDim QuestData(QuestSize - 1) QuestData = Buffer.ReadBytes(QuestSize) CopyMemory ByVal VarPtr(Quest(n)), ByVal VarPtr(QuestData(0)), QuestSize Set Buffer = Nothing ' Save it Call SendUpdateQuestToAll(n) Call SaveQuest(n) Call AddLog(GetPlayerName(Index) & " saved Quest #" & n & ".", ADMIN_LOG) End Sub
Sub HandleRequestQuests(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) SendQuests Index End Sub
Sub HandlePlayerHandleQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Buffer As clsBuffer Dim QuestNum As Long, Order As Long, i As Long Set Buffer = New clsBuffer Buffer.WriteBytes Data() QuestNum = Buffer.ReadLong Order = Buffer.ReadLong '1 = accept, 2 = cancel If Order = 1 Then Player(Index).PlayerQuest(QuestNum).Status = QUEST_STARTED '1 Player(Index).PlayerQuest(QuestNum).ActualTask = 1 Player(Index).PlayerQuest(QuestNum).CurrentCount = 0 PlayerMsg Index, "New quest accepted: " & Trim$(Quest(QuestNum).Name) & "!", BrightGreen 'Add item on start If Quest(QuestNum).QuestGiveItem > 0 And Quest(QuestNum).QuestGiveItem < MAX_ITEMS Then If Quest(QuestNum).QuestGiveItemValue > 0 And Quest(QuestNum).QuestGiveItemValue < MAX_INV Then 'ToDo: stuff with currency GiveInvItem Index, Quest(QuestNum).QuestGiveItem, Quest(QuestNum).QuestGiveItemValue End If End If ElseIf Order = 2 Then Player(Index).PlayerQuest(QuestNum).Status = QUEST_NOT_STARTED '2 Player(Index).PlayerQuest(QuestNum).ActualTask = 1 Player(Index).PlayerQuest(QuestNum).CurrentCount = 0 PlayerMsg Index, Trim$(Quest(QuestNum).Name) & " has been canceled!", BrightGreen End If SavePlayer Index SendPlayerData Index SendPlayerQuests Index Set Buffer = Nothing End Sub
Sub HandleQuestLogUpdate(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) SendPlayerQuests Index End Sub 11.Заходим в modTypes 12.В Private Type PlayerRec ищем , и за ним вставляем Code PlayerQuest(1 To MAX_QUESTS) As PlayerQuestRec 13. В Private Type NpcRec найдем , и за ним вставим Code Quest As Byte QuestNum As Long 14. Заходим в modEnumerations 15. Ищем , и за ним вставляем Code SQuestEditor SUpdateQuest SPlayerQuest SQuestMessage 16.Там же ищем , и за ним вставляем Code CRequestEditQuest CSaveQuest CRequestQuests CPlayerHandleQuest CQuestLogUpdate 17. Заходим в modPlayer 18. Ищем Code Call SendHotbar(Index) , вставляем Code Call SendQuests(Index) 19.Ищем , в нем ищем Code TempPlayer(Index).GettingMap = YES , и вставляем Code Call CheckTasks(Index, QUEST_TYPE_GOREACH, mapNum) 20. Внутри PlayerMapGetItem ищем Code SendActionMsg GetPlayerMap(Index), Msg, White, 1, (GetPlayerX(Index) * 32), (GetPlayerY(Index) * 32) и за ним ставим Code Call CheckTasks(Index, QUEST_TYPE_GOGATHER, GetItemNum(Trim$(Item(GetPlayerInvItemNum(Index, n)).Name))) 21. Внутри CheckResource ищем Code SendMapSound Index, rX, rY, SoundEntity.seResource, Resource_index , и за ним вставляем Code Call CheckTasks(Index, QUEST_TYPE_GOTRAIN, Resource_index) На этом работа с сервером окончена. Совсем скоро опубликую работу с клиентом.
Добавлено (30.03.2012, 21:00) --------------------------------------------- Сторона клиента Добавьте modQuests в свой проект. Добавьте frmEditor_Quest в свой проект. Замените frmEditor_NPC and frmMain на те, которые будут в конце сообщения. 1. Шуруем в modGameEditors. 2. Находим NpcEditorInit, в нем Code txtDamage.text = NPC(EditorIndex).Damage , и после него вставляем Code .chkQuest.Value = NPC(EditorIndex).Quest .scrlQuest.Value = NPC(EditorIndex).QuestNum 3. Заходим в modEnumerations. 4. Ищем , и за ним вставляем Code SQuestEditor SUpdateQuest SPlayerQuest SQuestMessage 5.Ищем , и за ним вставляем Code CRequestEditQuest CSaveQuest CRequestQuests CPlayerHandleQuest CQuestLogUpdate 6. Открываем modHandleData. 7.Ищем Code HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals) и за ним вставляем Code HandleDataSub(SQuestEditor) = GetAddress(AddressOf HandleQuestEditor) HandleDataSub(SUpdateQuest) = GetAddress(AddressOf HandleUpdateQuest) HandleDataSub(SPlayerQuest) = GetAddress(AddressOf HandlePlayerQuest) HandleDataSub(SQuestMessage) = GetAddress(AddressOf HandleQuestMessage) 8. В конец модуля добавляем Code Private Sub HandleQuestEditor() Dim i As Long With frmEditor_Quest Editor = EDITOR_TASKS .lstIndex.Clear
' Add the names For i = 1 To MAX_QUESTS .lstIndex.AddItem i & ": " & Trim$(Quest(i).Name) Next
.Show .lstIndex.ListIndex = 0 QuestEditorInit End With
End Sub
Private Sub HandleUpdateQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim n As Long Dim Buffer As clsBuffer Dim QuestSize As Long Dim QuestData() As Byte Set Buffer = New clsBuffer Buffer.WriteBytes Data() n = Buffer.ReadLong ' Update the Quest QuestSize = LenB(Quest(n)) ReDim QuestData(QuestSize - 1) QuestData = Buffer.ReadBytes(QuestSize) CopyMemory ByVal VarPtr(Quest(n)), ByVal VarPtr(QuestData(0)), QuestSize Set Buffer = Nothing End Sub
Private Sub HandlePlayerQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Buffer As clsBuffer Dim i As Long
Set Buffer = New clsBuffer Buffer.WriteBytes Data() For i = 1 To MAX_QUESTS Player(MyIndex).PlayerQuest(i).Status = Buffer.ReadLong Player(MyIndex).PlayerQuest(i).ActualTask = Buffer.ReadLong Player(MyIndex).PlayerQuest(i).CurrentCount = Buffer.ReadLong Next RefreshQuestLog Set Buffer = Nothing End Sub
Private Sub HandleQuestMessage(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Buffer As clsBuffer Dim i As Long, QuestNum As Long, QuestNumForStart As Long Dim Message As String Set Buffer = New clsBuffer Buffer.WriteBytes Data() QuestNum = Buffer.ReadLong Message = Trim$(Buffer.ReadString) QuestNumForStart = Buffer.ReadLong frmMain.lblQuestName = Trim$(Quest(QuestNum).Name) frmMain.lblQuestSay = Message frmMain.picQuestDialogue.Visible = True If QuestNumForStart > 0 And QuestNumForStart <= MAX_QUESTS Then frmMain.lblQuestAccept.Visible = True frmMain.lblQuestAccept.Tag = QuestNumForStart End If Set Buffer = Nothing End Sub 9. Заходим в modInput 10. Ищем и за ним вставляем Code Case "/editquest" If GetPlayerAccess(MyIndex) < ADMIN_DEVELOPER Then GoTo Continue SendRequestEditQuest 11. заходим в modTypes. 12.Ищем Private Type PlayerRec, в ней и за ним вставляем Code PlayerQuest(1 To MAX_QUESTS) As PlayerQuestRec 13. В Private Type NpcRec ищем и за ним добавляем Code Quest As Byte QuestNum As Long На этом работа с кодом окончена. Вот по этой ссылке вы можете скачать нужные формы, которые были упомянуты в начале сообщения. Готовый клиент, за работоспособность не отвечаю. ©Alatar
Сообщение отредактировал QNicolya - Воскресенье, 22 Апреля 2012, 11:25 |
|
| |
|