Вторник, 23 Апреля 2024, 16:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Unit-файл с функциями 39dll (Используем 39dll на delphi или pascal)
Unit-файл с функциями 39dll
VinchensooДата: Вторник, 11 Января 2011, 09:55 | Сообщение # 1
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Доброе утро всем.
Долгое время поднимался вопрос об использовании 39dll в языках программирования, а не только в gml.
Поскольку минимум 2 человека на форуме интересуются использованием на дельфи, сделал модуль с необходимыми функциями.
В начале программы просто пишем
Code
uses dll39;

И далее используем функции.
Внимание, синтаксис некоторых функций изменился!

Функции так же можно посмотреть в самом файлике dll39.pas.
Названия функций искал с помощью экстрактора от Аккультиста, спасибо ему за это!
Возможно, кое-какие функции добавлю позже, например, для работы с файлами.

Пользуйтесь на здоровье!
Тут не задают вопросов по ЯП дельфи! Если вы не знаете Delphi, данный модуль будет для вас бесполезен.
Не засоряйте тему!


kirix820Дата: Вторник, 11 Января 2011, 10:36 | Сообщение # 2
участник
Сейчас нет на сайте
39dll - не самое лучшее решение для Дельфи. Сложней, но эффективней будет сделать все самому через WinSock. Это мое мнение.



Да будет роцк! Навсегда!
AngevengelistДата: Вторник, 11 Января 2011, 11:19 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote (kirix820)
Сложней, но эффективней будет сделать все самому через WinSock. Это мое мнение.

С WinSock трудно разобраться большинству новичков, 39dll для них самое то.
Да и если по быстрому нужно, что-то сделать, 39dll отлично пригодится
VinchensooДата: Вторник, 11 Января 2011, 11:48 | Сообщение # 4
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (kirix820)
dll - не самое лучшее решение для Дельфи. Сложней, но эффективней будет сделать все самому через WinSock. Это мое мнение.

Quote (Angevengelist)
С WinSock трудно разобраться большинству новичков, 39dll для них самое то. Да и если по быстрому нужно, что-то сделать, 39dll отлично пригодится

тут соглашусь.
Большинство примеров сети на дельфи настолько забиты сложным материалам, что новичку не пролезть там.
Данная вещь может пригодиться тем, кто в совершенстве владеет gml и дружит с программированием.
Тогда сервер с гм можно перенести на дельфи. Он будет работать эффективнее и быстрее


DeswingДата: Вторник, 11 Января 2011, 15:15 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Quote (Vinchensoo)
function WriteByte(arg1: double; arg2: double):double; cdecl; external '39dll.dll';

не понял... В стандартном writebyte(); юзается один аргумент О_о
И что ты скажешь о переносе алармов и степов на дельфи? Степ = бессконечный цикл? О_о

Добавлено (11.01.2011, 15:15)
---------------------------------------------
ошибся, два аргумента...

Code
Argument0 = значение.

  [Argument1] = Буферная система обнаружения id. Пропустите этот аргумент или устанавливайте это на 0, чтобы использовать заданный по  умолчанию буфер.
ФилДата: Вторник, 11 Января 2011, 16:59 | Сообщение # 6
Томатный революционер
Сейчас нет на сайте
Deswing,
Quote (Deswing)
Степ = бессконечный цикл? О_о

While(true) do
begin
***
end;

Quote (Deswing)
И что ты скажешь о переносе алармов

Зачем они нужны на сервере?


Сообщение отредактировал Фил - Вторник, 11 Января 2011, 16:59
DeswingДата: Вторник, 11 Января 2011, 20:12 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Фил, я не правильно сказал... Как сделать таймер? Ну например через два часа отправится такая-то перемменая?
karuyДата: Вторник, 11 Января 2011, 20:32 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Перетянуть его на форму) в интервале указать 7200000 и онтаймер слать сообщение.
VinchensooДата: Вторник, 11 Января 2011, 21:01 | Сообщение # 9
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Deswing)
Фил, я не правильно сказал... Как сделать таймер? Ну например через два часа отправится такая-то перемменая?

Quote (karuy)
Перетянуть его на форму) в интервале указать 7200000 и онтаймер слать сообщение.

или написать таймер.
У меня есть функции, возвращающие секунду, минуту, час в момент запроса.
Quote (Deswing)
не понял... В стандартном writebyte(); юзается один аргумент О_о И что ты скажешь о переносе алармов и степов на дельфи? Степ = бессконечный цикл? О_о

Не верь глазам своим)
В справке к ней много упущений, ибо гмл как-то странно работает с либой, иногда 1 функции, иногда 2.
Второй аргумент- это id буфера.
Когда исп. с одним аргументом- считается, что пишешь в стандартный буфер. Пиши 0 всегда вторым аргументом.
Quote (Deswing)
И что ты скажешь о переносе алармов и степов на дельфи? Степ = бессконечный цикл? О_о

Именно так. Вот минус серверов на гм и прочих средах разработки.
Они приучают думать узко, в одном направлении.
Вы делаете что-то на непредназначенном для этого инструменте, а потом не можете сделать на нужном.
Учись мыслить шире


DeswingДата: Вторник, 11 Января 2011, 22:11 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
В том и проблема... Отвыкать от gml сложно))
Quote (Фил)
While(true) do begin *** end;

как я понял... Если бессконечный цикл начат - выполнить действие, написаное между begin и end? О_о

Добавлено (11.01.2011, 22:11)
---------------------------------------------
что значит
"procedure"? В дельфи?

karuyДата: Вторник, 11 Января 2011, 22:16 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
То и значит, лучше сядь и почитай хоть что-небудь.
DeswingДата: Вторник, 11 Января 2011, 22:19 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
послушаю твоего совета и пойду в лес -> google.com
VinchensooДата: Среда, 12 Января 2011, 07:06 | Сообщение # 13
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Deswing)
В том и проблема... Отвыкать от gml сложно))

Есть вариант делать 32-игроковые сервера на гмл.
Quote (Deswing)
как я понял... Если бессконечный цикл начат - выполнить действие, написаное между begin и end? О_о

Лучше все-таки не
Code
while true

а:
Code
while q=true;

Тогда можно не юзать exit-ы, а просто присваиваем q:=false и цикл завершается.
Quote (Deswing)
что значит "procedure"? В дельфи?

Quote (Vinchensoo)
Тут не задают вопросов по ЯП дельфи! Если вы не знаете Delphi, данный модуль будет для вас бесполезен. Не засоряйте тему!

Если не знаешь, что такое процедура, лучше не садиться за сервер на дельфи))


DeswingДата: Среда, 12 Января 2011, 18:46 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Vinchensoo, ну я так... Сейчас ф-ции и синтаксис учу... А там и сервер начну писать))
Просто очень интересная вещь) Если не ошибаюсь - к серверу ещё и mysql приделать можно?

Добавлено (12.01.2011, 18:46)
---------------------------------------------

Quote (Deswing)
Просто очень интересная вещь) Если не ошибаюсь - к серверу ещё и mysql приделать можно?

Quote (Vinchensoo)
Тут не задают вопросов по ЯП дельфи! Если вы не знаете Delphi, данный модуль будет для вас бесполезен.

пардон.
VinchensooДата: Среда, 12 Января 2011, 18:53 | Сообщение # 15
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Deswing)
Vinchensoo, ну я так... Сейчас ф-ции и синтаксис учу... А там и сервер начну писать)) Просто очень интересная вещь) Если не ошибаюсь - к серверу ещё и mysql приделать можно?

Про mysql отвечу, т.к. не ты один спрашиваешь.
Приделать можно что угодно, т.к. это обычная dll, но тестили уже ту либу для mysql, она работает медленно.
Мне кажется, что лучше тогда брать сам mysql(в виде сорсов или либ от самого разработчика) и привязывать их.
Но это в разы сложнее))
Самый простой вариант- хранить данные в .txt файлах, но это медленно.
Есть вариант, если руки прямые и сервер работает стабильно без вылетов, то можно все держать в оперативке и раз в заданный промежуток времени сейвить данные опять же в тхт.
Будет небольшая задержка в игре, на 1-2 секунды раз в 20 минут.
Но и ее можно избежать.
Лично мне не очень хочется учить мускуль, поэтому я буду использовать вариант с тхт


ФилДата: Среда, 12 Января 2011, 20:33 | Сообщение # 16
Томатный революционер
Сейчас нет на сайте
Почти допилил сервер, завтра выложу исходники. А пока скрин того, что есть:
DeswingДата: Среда, 12 Января 2011, 20:39 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Фил, исходники на "ковырялк0" потом зальёшь?
VinchensooДата: Четверг, 13 Января 2011, 12:31 | Сообщение # 18
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Фил)
Почти допилил сервер, завтра выложу исходники. А пока скрин того, что есть:

Ну как, стабильно модуль работает? Багов не поймал?


AGENTX001Дата: Четверг, 13 Января 2011, 21:19 | Сообщение # 19
почётный гцупер
Сейчас нет на сайте
Спасибо за проделанную работу)
P. S.: иду учить l'kmab!=)

Добавлено (13.01.2011, 21:19)
---------------------------------------------
l'kmab!=) Дэльфи в смысле)) Это пунто свитчер))

ФилДата: Пятница, 14 Января 2011, 16:10 | Сообщение # 20
Томатный революционер
Сейчас нет на сайте
Deswing, Здесь самые последние версии
Vinchensoo, представь себе, поймал :D Серверу абсолютно пофигу на указанный при чтении/записи буффер, он все врем работает с 0. Это не фатально, но создает некий дискомфорт.


Сообщение отредактировал Фил - Пятница, 14 Января 2011, 16:11
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Unit-файл с функциями 39dll (Используем 39dll на delphi или pascal)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг