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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » geralex [238]
Результаты поиска
geralexДата: Воскресенье, 08 Мая 2011, 18:17 | Сообщение # 161 | Тема: [Скрипты RC] Книга
участник
Сейчас нет на сайте
Ну, я не нашел темы в данном разделе - Правила оформления. Так что Сорри...
geralexДата: Воскресенье, 08 Мая 2011, 18:14 | Сообщение # 162 | Тема: [Скрипты RC] Книга
участник
Сейчас нет на сайте
Итак, сегодня писал скрипт торговца, скрипт спела "Heal". Идем к торговцу покупаем книгу чтобы выучить навык/способность/умение (кто как назовет) =) Heal, а вот тут теперь пришло время наверное написать скрипт который Вам поможет это реализовать. В скрипт включен код с участием навыка "Магия", желающие могут дописать чтобы книгу можно было использовать с определенного уровня данного навыка =)

Скрипт для RC Standart версии 1.083

Code
// RC1 Sample Project      
// Date/Time: 6:20:56 PM on 5/08/2011  
// By Администратор on VERITAS  

Function Main()  

Player = Actor()  
Magiclvl% = Attribute(Player, "Magic") //уровень навыка Магия  

If (AbilityKnown(Actor(), "Health")) //Проверяем, вдруг игрок уже ранее выучил данный спел =)  
         OutPut(Player, "You already know that spell", 255, 0, 0) //Говорим, извини у тебя уже есть такой спел =)  
Else  
GiveItem(Player, "HealthSpell Book", $-1)//забираем книжку, ну думаю понятно дело  
DoEvents(500)//ждем-с 0,5сек.  
CreateEmitter(Player, "Learn_Spell", 10, 1000) //вокруг игрока или как настроите создается эффект частиц, каста, не знаю как правильно назвать, но думаю кто работает с RC меня поймут =)  
AddAbility(Player, "Health", 1) //Выдаем игроку его спел, заслужил=)  
OutPut(Player, "Learned Health ability.", 125, 45, 125) //и сообщаем, что спел успешно выучен =)  
            
Endif      

//Return()
End Function

Скрипт для RC Standart версий 1.20+

Code
Using "RC_Core.rcm"
; RC1 Sample Project      
; Date/Time: 7:20:56 PM on 5/23/2009
; By Администратор on VERITAS

Function Main()

Player = Actor()
Magiclvl% = Attribute(Player, "Magic") ;уровень навыка Магия

If (AbilityKnown(Actor(), "Health")) ;Проверяем, вдруг игрок уже ранее выучил данный спел =)
         OutPut(Player, "You already know that spell", 255, 0, 0) ;Говорим, извини у тебя уже есть такой спел =)
Else
GiveItem(Player, "HealthSpell Book", - 1);забираем книжку, ну думаю понятно дело
DoEvents(500);ждем-с 0,5сек.
CreateEmitter(Player, "Learn_Spell", 10, 1000) ; вокруг игрока или как настроите создается эффект частиц, каста, не знаю как правильно назвать, но думаю кто работает с RC меня поймут =)
AddAbility(Player, "Health", 1) ;Выдаем игроку его спел, заслужил=)
OutPut(Player, "Learned Health ability.", 125, 45, 125) ;и сообщаем, что спел успешно выучен =)
            
Endif      

;Return
End Function


Сообщение отредактировал geralex - Воскресенье, 08 Мая 2011, 18:20
geralexДата: Воскресенье, 08 Мая 2011, 18:04 | Сообщение # 163 | Тема: [Скрипты RC] Способность "Лечение"
участник
Сейчас нет на сайте
Итак, пример базового скрипта на RC спела под именем "Heal" или по русски Лечение, восстанавливает ~5-10hp за одно использование спела =)

Скрипт для RC Standart версии 1.083

Code

// RC1 Sample Project
// Date/Time: 18:07:56 on 08.05.2011
// By Администратор on VERITAS

Function Main()

  Player = Actor()

  // Проверка, достаточно ли маны для использования спела
  ManaLevel = Attribute(Player, "Mana")
  If (ManaLevel < 1)
   Output(Player, "Insufficient mana - spell failed!")
   Return()
  EndIf
  SetAttribute(Player, "Mana", ManaLevel $- 1)

  // Эффекты и анимация использования спела (каст)
  AnimateActor(Player, "Magic Cast", 0.05, 1)
  CreateEmitter(Player, "HealthSpell", 15, 1000)
  DoEvents(1000)

  // Восстанавливаем здоровье
  Health = Attribute(Player, "Health") $+ Rand(5, 10)
  Max = MaxAttribute(Player, "Health")
  If (Health > Max)
   Health = Max
  EndIf
  SetAttribute(Player, "Health", Health)

  Return()

End Function

Скрипт для RC Standart версий 1.20+

Code
Using "RC_Core.rcm"
; RC1 Sample Project
; Date/Time: 18:04:56 on 08.05.2011
; By Администратор on VERITAS

Function Main()

  Player = Actor()

  ; Проверка, достаточно ли маны для использования спела
  ManaLevel = Attribute(Player, "Mana")
  If (ManaLevel < 1)
   Output(Player, "Insufficient mana - spell failed!")
   Return
  EndIf
  SetAttribute(Player, "Mana", ManaLevel - 1)

  ; Эффекты и анимация использования спела (каст)
  AnimateActor(Player, "Magic Cast", 0.05, 1)
  CreateEmitter(Player, "HealthSpell", 15, 1000)
  DoEvents(1000)

  ; Восстанавливаем здоровье
  Health = Attribute(Player, "Health") + Rand(5, 10)
  Max = MaxAttribute(Player, "Health")
  If (Health > Max)
   Health = Max
  EndIf
  SetAttribute(Player, "Health", Health)

  Return

End Function
geralexДата: Воскресенье, 08 Мая 2011, 17:54 | Сообщение # 164 | Тема: [Скрипты RC] Добыча руды
участник
Сейчас нет на сайте
Итак, простенький скрипт добычи руды. В данном случае в скрипте присутствует привязка к тому что должна одета быть одна шмотка (это может быть перчатка, кирка и т.п.) В примере приведен простой скрипт, каждый может его модифицировать, сделать рандом по добычи ресурсов, привязку к линейки опыта по добычи руды, привязку к уровню владения данным навыком, назначить каждой руде - каждый свой камень добычи, вообщем все что угодно, насколько хватает фантазии=)

Выкладываю как и по предыдущим постам к двум версиям программ. В случае если будут ошибки в версии 1.083 - отпишите, так как немного позабыл синтаксис написания под 1.083 =)

Скрипт для RC Standart версии 1.083

Code

// RC1 Sample Project
// Date/Time: 17:51:29 on 08.05.2011
// By Администратор on VERITAS

Function Main()    

Player = Actor()    
Rock = ContextActor()    
speed = Attribute(Player, "Speed")    
mininglvl = Attribute(Player, "Mining")    
miningxp = Attribute(Player, "miningxp")    
maxxp = MaxAttribute(Player, "miningxp")    
newlvl = mininglvl $+ 1    

If ActorGlobal(Rock, 0) == 1    
Output(Player, "This rock currently has no iron ore.")    
Return()
Endif    

If HasItem(Player, "Mining Gloves", 1)    
time = rand(mininglvl $* 60,mininglvl $* 100)    
wait = 10000 $- time    
CreateEmitter(Player, "mining", 10, wait)    
Output(Player, "You start mining for iron...")    
SetAttribute(Player, "Speed", 0)    
DoEvents(wait)    
SetAttribute(Player, "Speed", speed)    
chance = Rand(1,mininglvl $+ 3)    
If chance == 1    
Output(Player, "You failed to get iron ore.")    
Return()    
Endif    
GiveItem(Player, "Iron Ore", 1)    
Output(Player, "You recieved iron ore.")    
If mininglvl < 100    
SetAttribute(Player, "miningxp", miningxp $+ 20)    
Endif    
If miningxp < maxxp    

//ActorGlobal(Rock, 0)= 1    
//DoEvents(7500)    
//ActorGlobal(Rock, 0) = 0    

Return()
Endif    
SetAttribute(Player, "Mining", mininglvl $+ 1)    
SetMaxAttribute(Player, "miningxp", maxxp $+ 20)    
SetAttribute(Player, "miningxp", maxxp-miningxp $+ 20)    
Output(Player, "You leveled up in Mining! You are now level " $+ newlvl $+ "!")    
Else    
Output(Player, "You don't have mining gloves.")    
Return()
Endif    
Return()
End Function

Скрипт для RC Standart версий 1.20+

Code
Using "RC_Core.rcm"
; RC1 Sample Project
; Date/Time: 16:46:19 on 08.05.2011
; By Администратор on VERITAS

Function Main()    

Player = Actor()    
Rock = ContextActor()    
speed = Attribute(Player, "Speed")    
mininglvl = Attribute(Player, "Mining")    
miningxp = Attribute(Player, "miningxp")    
maxxp = MaxAttribute(Player, "miningxp")    
newlvl = mininglvl + 1    

If ActorGlobal(Rock, 0)= 1    
Output(Player, "This rock currently has no iron ore.")    
Return    
Endif    

If HasItem(Player, "Mining Gloves", 1)    
time = rand(mininglvl*60,mininglvl*100)    
wait = 10000-time    
CreateEmitter(Player, "mining", 10, wait)    
Output(Player, "You start mining for iron...")    
SetAttribute(Player, "Speed", 0)    
DoEvents(wait)    
SetAttribute(Player, "Speed", speed)    
chance = Rand(1,mininglvl+3)    
If chance = 1    
Output(Player, "You failed to get iron ore.")    
Return    
Endif    
GiveItem(Player, "Iron Ore", 1)    
Output(Player, "You recieved iron ore.")    
If mininglvl <100    
SetAttribute(Player, "miningxp", miningxp + 20)    
Endif    
If miningxp <maxxp    

;ActorGlobal(Rock, 0)= 1    
;DoEvents(7500)    
;ActorGlobal(Rock, 0) = 0    

Return    
Endif    
SetAttribute(Player, "Mining", mininglvl + 1)    
SetMaxAttribute(Player, "miningxp", maxxp + 20)    
SetAttribute(Player, "miningxp", maxxp-miningxp+20)    
Output(Player, "You leveled up in Mining! You are now level " + newlvl + "!")    
Else    
Output(Player, "You don't have mining gloves.")    
Return    
Endif    
Return    
End Function


Сообщение отредактировал geralex - Воскресенье, 08 Мая 2011, 17:54
geralexДата: Воскресенье, 08 Мая 2011, 07:41 | Сообщение # 165 | Тема: [Скрипты RC] Торговец
участник
Сейчас нет на сайте
Начну не посредственно с тем условием данную тему, что сам Actor Торговца уже создан, если возникнут вопросы как его создать, пишите=)
Итак, приступим-с
Запускаем Realm Scripter.
Создаем новый файл, назовем его к примеру BlacksmithSetup.
В данном скрипте пропишем те предметы (шмот,оружие,еда,руда) которые будет продавать наш торговец.

Скрипт для RC Standart версии 1.083

Code
Function Main()

        GiveItem(Actor(), "Beer", 11)
        SetName(Actor(), "Jonh")
        Return()

End Function

Скрипт для RC Standart версий 1.20+

Code
Function Main()

        GiveItem(Actor(), "Beer", 11)
        SetName(Actor(), "John")
        Return

End Function

В данном скрипте команда
GiveItem(Actor(), "Beer", 11) - дает торговце 11 кружек/бутылок Beer/пива
SetName(Actor(), "John") - дает имя нашему торговцу. В данном случае John.

С более подробным синтаксисом команд можно ознакомится в базовом Хелпе RC или в программе Realm Scripter

Сохраняем и создаем ещё один файл, назовем его к примеру Blacksmith. Это основной файл где прописывается диалог между игроком и торговцем, покупка/продажа предметов.

Скрипт для RC Standart версии 1.083

Code
Function Main()        
          Player = Actor()         
          D = OpenDialog(Player, ContextActor(), "Trader")        

//Start        
             DialogOutput(Player, D, "Welcome, lets get started.", 255, 255, 255)        
             Result = DialogInput(Player, D, "Trade", "Goodbye")        

//Trading        
          Output(Actor(), "My result is: " $+ Result)        
          If (Result == 1)        
             OpenTrading(Player, ContextActor())        
             DialogOutput(Player, D, "Thanks for coming!", 255, 255, 255)        
                  
          ElseIf (Result == 2)        
             CloseDialog(Player, D)        
          EndIf        
          DialogInput(Player, D, "Goodbye!")        
          CloseDialog(Player, D)        
                  
          Return()

End Function

Скрипт для RC Standart версий 1.20+

Code
Using "RC_Core.rcm"

Function Main()        
          Player = Actor()         
          D = OpenDialog(Player, ContextActor(), "Trader")        

;Start        
             DialogOutput(Player, D, "Welcome, lets get started.", 255, 255, 255)        
             Result = DialogInput(Player, D, "Trade", "Goodbye")        

;Trading        
          Output(Actor(), "My result is: " + Result)        
          If (Result = 1)        
             OpenTrading(Player, ContextActor())        
             DialogOutput(Player, D, "Thanks for coming!", 255, 255, 255)        
                  
          ElseIf (Result = 2)        
             CloseDialog(Player, D)        
          EndIf        
          DialogInput(Player, D, "Goodbye!")        
          CloseDialog(Player, D)        
                  
          Return        

End Function        

Сохраняем и запускаем Game Editor.

Заходим во вкладку "Zones", выбираем зону где хотим разместить нашего торговца.
И создаем waypoint со следующими настройками:

Сохраняем, запускаем сервер, клиент.

Итог:

!!! Для обладателей лицензии и доступа к SDK - окно торговли редактируется в исходном коде.
Файл Interface.bb ~Строка 115
Файл Interface3D.bb ~Строка 1779
+ Хелп в помощь !!!


Сообщение отредактировал geralex - Воскресенье, 08 Мая 2011, 08:01
geralexДата: Воскресенье, 08 Мая 2011, 07:04 | Сообщение # 166 | Тема: [Скрипты RC] Оседлать лошадь
участник
Сейчас нет на сайте
Приведу пример базового скрипта на примере лошади. Данный скрипт можно модифицировать, так же использовать для "оседлания" любых иных животных, траспорта типа мото, спайдера/спидера =) (Звездные Войны).

Для того чтобы на животное,транспорт можно было сесть=) необходимо поставить галочку на против поля "Actor can be ridden" означающее,что данный "Actor" является ну что-то вроде ездового =) и RC автоматически в этом случае задействует скрипт Mount, который лежит по-умолчанию в папке проекта:
Realm Crafter 1\Projects\Название проекта\Data\Server Data\Scripts\

Quote
- Скрипт для RC Standart версии 1.083 Mount.rcscript
- Скрипт для RC Standart версий 1.20+ Mount.rsl

Содержание базового скрипта:
Скрипт для RC Standart версии 1.083

Code
// Default mounting change script for player characters
// You may alter this script however you like, but DO NOT RENAME OR DELETE IT

// This function is called when a player mounts an actor
// The actor is the player, the context actor is the mount
Function Mount()

       // Done
       Return()

End Function

// This function is called when a player dismounts from an actor
// The actor is the player, the context actor is the ex-mount
Function Dismount()

       DoEvents(100)
             
       C = Actor()       

       MoveActor(C, ActorX(C), ActorY(C), ActorZ(C) + 5)       

       Return()

End Function

Скрипт для RC Standart версий 1.20+

Code
; Default mounting change script for player characters
; You may alter this script however you like, but DO NOT RENAME OR DELETE IT

; This function is called when a player mounts an actor
; The actor is the player, the context actor is the mount
Function Mount()

       ; Done
       Return

End Function

; This function is called when a player dismounts from an actor
; The actor is the player, the context actor is the ex-mount
Function Dismount()

       DoEvents(100)
             
       C = Actor()       

       MoveActor(C, ActorX(C), ActorY(C), ActorZ(C) + 5)       

       Return

End Function


Сообщение отредактировал geralex - Воскресенье, 08 Мая 2011, 09:04
geralexДата: Воскресенье, 08 Мая 2011, 06:50 | Сообщение # 167 | Тема: [Скрипты RC] Отображение координат игрока
участник
Сейчас нет на сайте
Данный скрипт показывает координаты положения игрока на карте, очень удобен в том случае если сделать привязку расстановки объектов или респавн НПС, мобов на основе координат например из *.txt файла или базы данных =)

Скрипт для RC 1.083

Code
//Display Date and Coordinates by craze3

Function Main()

       //Get the player's X coordinate
       ActX = ActorX(Actor())
       //Get the player's Y coordinate
       ActY = ActorY(Actor())
       //Get the player's Z coordinate
       ActZ = ActorZ(Actor())

       Output(Actor(), "Your Coordinates: " $+ ActX $+ ", " $+ ActY $+ ", " $+ ActZ)
       Return()

End Function

Скрипт для RC Standart версий 1.20+

Code
Function Main()

       ;Get the player's X coordinate
       ActX = ActorX(Actor())
       ;Get the player's Y coordinate
       ActY = ActorY(Actor())
       ;Get the player's Z coordinate
       ActZ = ActorZ(Actor())

       Output(Actor(), "Your Coordinates: " + ActX + ", " + ActY + ", " + ActZ)
       Return

End Function

Источник: http://mmorpgmaker.com

Сообщение отредактировал geralex - Воскресенье, 08 Мая 2011, 07:55
geralexДата: Понедельник, 25 Апреля 2011, 23:00 | Сообщение # 168 | Тема: Проблема с Realm Crafter
участник
Сейчас нет на сайте
Как вариант снести и заново установить RC.
geralexДата: Понедельник, 25 Апреля 2011, 22:58 | Сообщение # 169 | Тема: Как в RC классу дать русское название?
участник
Сейчас нет на сайте
Что за версию используете???
geralexДата: Среда, 30 Марта 2011, 23:04 | Сообщение # 170 | Тема: [RC] Анимация моделей
участник
Сейчас нет на сайте
Насчет текстуры ты должен сохранять модель уже с наложенными текстурами [дома, деревья и т.п.] за исключением монстров, персонажей - всё то что имеет анимацию и будет относится к Actor-ам, по ним в отдельном разделе накладывается текстура.

Насчет скриптинга в RC Standart используется ЯП Angel Script, в Pro версии начиная с 2.50 толи C# толи C++

Насчет пули, если интересно я могу покапать и написать мини-туториал.

Сообщение отредактировал geralex - Среда, 30 Марта 2011, 23:05
geralexДата: Вторник, 29 Марта 2011, 22:07 | Сообщение # 171 | Тема: [RC] Анимация моделей
участник
Сейчас нет на сайте
Barugoo, если используешь стандартную версию, то необходимо запустить RC Terrain Editor. Там ты либо в ручную создаешь "террейн" либо генерируешь используя карту-высот, затем текстуришь и сохраняешь. При сохранении она автоматически будет у тебя в основной программе где ты уже размещаешь объекты. [Так же объекты можно расставить и в RC Terrain Editor]



Сообщение отредактировал geralex - Вторник, 29 Марта 2011, 22:25
geralexДата: Понедельник, 28 Марта 2011, 21:04 | Сообщение # 172 | Тема: [RC] Анимация моделей
участник
Сейчас нет на сайте
Загружаешь модель, ставишь галочку что с анимацией и далее во вкладке Animation по-кадрово прописываешь каждые действия персонажа, вот и всё.
Есть базовая анимация, которая задействована, пример - ходьба, бег, прыжок, атака и т.п. можно также свою добавить которую потом использовать в игре например отдать честь, приветствие и т.п.


Сообщение отредактировал geralex - Понедельник, 28 Марта 2011, 21:04
geralexДата: Четверг, 17 Февраля 2011, 22:52 | Сообщение # 173 | Тема: Подскажите бесплатный конструктор/движок 3D
участник
Сейчас нет на сайте
Необходим движок, по возможности лучше конструктор, так как не сталкивался сданной платформой насчет софта, в 3D, жанр любой, так как хотел бы воспользоваться чисто для самообучения и тестов на консоле Wii.
geralexДата: Среда, 16 Февраля 2011, 20:30 | Сообщение # 174 | Тема: Помогу с Realm Crafter! Есть туториалы?
участник
Сейчас нет на сайте
Она крякнутая, попробуй воспользоваться с другого ресурса - торрент как пример.
geralexДата: Вторник, 15 Февраля 2011, 19:02 | Сообщение # 175 | Тема: Помогу с Realm Crafter! Есть туториалы?
участник
Сейчас нет на сайте
Stryker, а точнее где пишет, какая версия, по возможности скрин выложи.
geralexДата: Понедельник, 14 Февраля 2011, 23:27 | Сообщение # 176 | Тема: fragMOTION
участник
Сейчас нет на сайте
Просьба закрыть тему!

Сообщение отредактировал geralex - Понедельник, 21 Февраля 2011, 20:24
geralexДата: Среда, 02 Февраля 2011, 10:53 | Сообщение # 177 | Тема: Вопросы по UE4 и UDK
участник
Сейчас нет на сайте
Подскажите, как настроить модель которую импортирую, чтобы игрок не проваливался???
geralexДата: Среда, 02 Февраля 2011, 04:30 | Сообщение # 178 | Тема: Подскажите бесплатный 3D-движок/конструктор
участник
Сейчас нет на сайте
Нужен 3D движок/конструктор для создания игры жанра "Шутер от первого лица" на примере Counter-Strike; Counter-Strike Online, в дальнейшем чтобы дополнить выводом в сеть используя авторизацию по логину и паролю [Пример Counter-Strike Online].
Платформа:Windows. Особых требований к поддержке форматов 3D, чтобы поддерживал скелетную анимацию.


Сообщение отредактировал geralex - Среда, 02 Февраля 2011, 04:31
geralexДата: Воскресенье, 30 Января 2011, 12:17 | Сообщение # 179 | Тема: Помогу с Realm Crafter! Есть туториалы?
участник
Сейчас нет на сайте
Pupik, ответ на первый вопрос есть вкладка Animations в которой прописывается анимация по-кадрово. Когда импортируете модель ставите галочку, что и импортировать с анимацией.
geralexДата: Четверг, 27 Января 2011, 01:25 | Сообщение # 180 | Тема: Realm Crafter Урок#1
участник
Сейчас нет на сайте
webstrict666, в сумме аналогично, они уже давно снизили цену, аж с того момента как вышло 2.41 на ПРО. Для бета теста. Будут ли поднимать цену не известно.
Форум игроделов » Записи участника » geralex [238]
Поиск:

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