Семь Футов под Килем
Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
Логин:
Пароль:


Купить игры
 



Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Страница 14 из 14«12121314
Модератор форума: NikK 
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок № 3. Пишем диалоги персонажам
Урок № 3. Пишем диалоги персонажам
MettДата: Пятница, 01.01.2016, 06:00 | Сообщение # 261
Капитан I ранга
Группа: Корсар
Сообщений: 578
Награды: 87
Репутация: 545
Статус: В открытом море
а вообще korsary4 прав - надо и корабль ставить и координаты с глобалки

я очень активно пользуюсь дебагером и только сейчас глянул код телепортов
Код
...
    int i = FindLocation(loc);
    if (i != -1)
    {
        if(CheckAttribute(&locations[i],"fastreload"))
        {
   if (GetCityFrom_Sea(locations[i].fastreload) != "")
      {
          setCharacterShipLocation(pchar, GetCityFrom_Sea(locations[i].fastreload));
          setWDMPointXZ(GetCityFrom_Sea(locations[i].fastreload));
      }
     }
     else
     {
         if (locations[i].type == "seashore" || locations[i].type == "mayak" || locations[i].type == "port")
         {
             setCharacterShipLocation(pchar, loc));
          setWDMPointXZ(loc);
         }
     }
     DoQuestReloadToLocation(loc, grp, ltr, "");
     Log_Info(loc);
    }
...


Что толку, если не можешь сделать мир лучше.
ActidДата: Пятница, 01.01.2016, 22:41 | Сообщение # 262
Пороховая обезьяна
Группа: Корсар
Сообщений: 9
Награды: 0
Репутация: 7
Статус: В открытом море
Цитата korsary4 ()
setWDMPointXZ("Tortuga_town")

если его прописываю то окно диолога не открывается :(
NathanielДата: Пятница, 01.01.2016, 23:30 | Сообщение # 263
Контр-адмирал
Группа: Капитан
Сообщений: 7212
Награды: 319
Репутация: 1650
Статус: В открытом море
Цитата Actid ()
если его прописываю то окно диолога не открывается

В синтаксисе ошибки не были случайно допущены?


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
ActidДата: Суббота, 02.01.2016, 00:11 | Сообщение # 264
Пороховая обезьяна
Группа: Корсар
Сообщений: 9
Награды: 0
Репутация: 7
Статус: В открытом море
вроде нет
Код
case "06":
    DialogExit();
    NextDiag.CurrentNode = NextDiag.TempNode;
    LAi_SetPlayerType(pchar);
    DoReloadCharacterToLocation("IslaMona_town", "reload", "reload1_back")
    SetCharacterShipLocation(pchar, "IslaMona_town");
    setWDMPointXZ("IslaMona_town")
   break;
MettДата: Суббота, 02.01.2016, 00:14 | Сообщение # 265
Капитан I ранга
Группа: Корсар
Сообщений: 578
Награды: 87
Репутация: 545
Статус: В открытом море
Actid,
Код
setWDMPointXZ("IslaMona_town")

в конце надо точку с запятой ставить


Что толку, если не можешь сделать мир лучше.
ActidДата: Суббота, 02.01.2016, 01:33 | Сообщение # 266
Пороховая обезьяна
Группа: Корсар
Сообщений: 9
Награды: 0
Репутация: 7
Статус: В открытом море
Цитата Mett ()
в конце надо точку с запятой ставить
всеровно не работает
Код
   DialogExit();
    NextDiag.CurrentNode = NextDiag.TempNode;
    LAi_SetPlayerType(pchar);
    DoReloadCharacterToLocation("Tortuga_town", "reload", "reload1_back")
    SetCharacterShipLocation(pchar, "Tortuga_town");
    setWDMPointXZ("Tortuga_town");
MettДата: Суббота, 02.01.2016, 02:43 | Сообщение # 267
Капитан I ранга
Группа: Корсар
Сообщений: 578
Награды: 87
Репутация: 545
Статус: В открытом море
Actid,
Код
DoReloadCharacterToLocation("Tortuga_town", "reload", "reload1_back")

в конце надо точку с запятой ставить


Что толку, если не можешь сделать мир лучше.
DufreinДата: Суббота, 02.01.2016, 02:47 | Сообщение # 268
Капитан II ранга
Группа: Корсар
Сообщений: 436
Награды: 12
Репутация: 73
Статус: В открытом море
Actid, Вам нужно выучить синтаксис C#, прежде чем приступать к кодингу :)


NathanielДата: Воскресенье, 03.01.2016, 15:28 | Сообщение # 269
Контр-адмирал
Группа: Капитан
Сообщений: 7212
Награды: 319
Репутация: 1650
Статус: В открытом море
Цитата Actid ()
вроде нет...

Цитата Actid ()
всеровно не работает...

Цитата Mett ()
в конце надо точку с запятой ставить...

Цитата Corss ()
Вам нужно выучить синтаксис C#, прежде чем приступать к кодингу...

Actid, включите отладочные логи. Инструкция в вопросе №7 в нашем FAQ в этом же разделе. И всё-таки не помешает почитать про базовые правила синтаксиса С/С++ в свободное время в любом самоучителе. Расставление скобок и знаков препинания - не менее важно, чем написание кода. Это как на уроках алгебры в школе: решить уравнение можете и правильно, а за неверно расставленные скобки получите "тройку", хотя решение было верным!..


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
pavel_86regДата: Четверг, 05.01.2017, 19:01 | Сообщение # 270
Пороховая обезьяна
Группа: Пират
Сообщений: 9
Награды: 0
Репутация: 0
Статус: В открытом море
Помогите пожалуйста разобраться с диалогом,что нужно прописать,что бы он не зацикливался?
Потому что если например добавить НПС который дает денег,то я могу подходить к нему сколько угодно и каждый раз диалог один и тот же.
korsary4Дата: Пятница, 06.01.2017, 01:22 | Сообщение # 271
Адмирал
Группа: Администратор
Сообщений: 5165
Награды: 478
Репутация: 1721
Статус: В открытом море
Цитата pavel_86reg ()
что нужно прописать,что бы он не зацикливался?

Сменить ему реплику, после предыдущего диалога.

Цитата pavel_86reg ()
Потому что если например добавить НПС который дает денег,то я могу подходить к нему сколько угодно и каждый раз диалог один и тот же


В предыдущем кейсе каком-нибудь того диалога, добавь также NextDiag.TempNode = "dialog_TempNode";
А тот кейс с новым диалогом будет тоже иметь ту строку:

Код
  case "dialog_TempNode":
   NextDiag.TempNode = "dialog_TempNode";  
   dialog.text = "Юла-бла.";
   link.l1 = "Бла-бла";
   link.l1.go = "exit";  
  break;    



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
pavel_86regДата: Пятница, 06.01.2017, 10:32 | Сообщение # 272
Пороховая обезьяна
Группа: Пират
Сообщений: 9
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата korsary4 ()
В предыдущем кейсе каком-нибудь того диалога, добавь также NextDiag.TempNode = "dialog_TempNode";

Спасибо!То есть получается строчка "NextDiag.TempNode = "dialog_TempNode" как раз и служит неким свитчем?
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок № 3. Пишем диалоги персонажам
Страница 14 из 14«12121314
Поиск:

Copyright Pirates-Life.Ru © 2008-2017


Семь Футов под Килем - Бухта Корсаров и Пиратов!