Сейчас 23:44:35 Четверг, 18 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Локальный квест (С помощью GetLocalPlayer())
[Вопрос] Локальный квест
19yuri98Дата: Воскресенье, 11 Августа 2013, 23:04:47 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
[code=jass]function clq takes integer i, string t, string d, string ip, player pl returns quest
local string e = ""
if (GetLocalPlayer() == pl) then
set e = ip
endif
return CreateQuestBJ(i, t, d, pl)
endfunction[/code]
вот моя функция,но она создает квесты для всех игроков
как исправить?


 

MelodiaДата: Воскресенье, 11 Августа 2013, 23:38:25 | Сообщение # 2
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
никак.
была уже тема


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

19yuri98Дата: Понедельник, 12 Августа 2013, 00:22:15 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
я раньше спрашивал и мне по советовали юзать эту функцию..
ладно подождем сэра Николаса или Тузика.. может что добавят..


 

SirNikolasДата: Понедельник, 12 Августа 2013, 07:40:47 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Никак.
Можно только создать квесты с разным описанием либо создать для всех, а разблокировать для некоторых.


 

19yuri98Дата: Понедельник, 12 Августа 2013, 11:40:27 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (SirNikolas)
Можно только создать квесты с разным описанием либо создать для всех, а разблокировать для некоторых.

можешь пример дать?желательно на гуи/джасс

Добавлено (12 Августа 2013, 11:40:27)
---------------------------------------------
[code=jass]function clq takes integer i, string t, string d, string ip, player pl returns quest
local string e = ""
if (GetLocalPlayer() == pl) then
set e = ip
return CreateQuestBJ(i, t, d, ip)
endif   
endfunction[/code]
Вот,функция,которая создает локальный квест,испробовал только в сингле,Скачать карту ==>Тык!




Сообщение отредактировал 19yuri98 - Понедельник, 12 Августа 2013, 11:41:07
 

SirNikolasДата: Понедельник, 12 Августа 2013, 11:53:34 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
В первом посте функция создает задание с текстом для игрока, у всех остальных оно будет пустым.

 

19yuri98Дата: Понедельник, 12 Августа 2013, 12:34:30 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (SirNikolas)
В первом посте функция создает задание с текстом для игрока, у всех остальных оно будет пустым.

я ту функцию сделал на основе функции локального спецэффекта с хгм

Добавлено (12 Августа 2013, 12:34:30)
---------------------------------------------

Цитата (19yuri98)
Код

а эта создает квест,для проверки создал 2 кв для 2-х игроков,в сингле работает норм,седня по локалке проверю


 

SirNikolasДата: Понедельник, 12 Августа 2013, 13:09:59 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (19yuri98)
Сообщение # 5
А эта будет вызывать десинхронизацию. Нельзя создавать никакие объекты локально для игроков.


 

19yuri98Дата: Понедельник, 12 Августа 2013, 13:10:56 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (SirNikolas)
А эта будет вызывать десинхронизацию. Нельзя создавать никакие объекты локально для игроков.

квест же не объект..


 

SirNikolasДата: Понедельник, 12 Августа 2013, 14:51:21 | Сообщение # 10
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Объект.

 

NightCattyДата: Понедельник, 12 Августа 2013, 18:22:31 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 201
Награды: 0
Репутация: 21
Блокировки:
Цитата (19yuri98)
квест же не объект..




Тщетно бытиё! :c
 

BruДата: Понедельник, 12 Августа 2013, 18:35:01 | Сообщение # 12
i<3bo4k@
Группа: Акулы
Сообщений: 4750
Награды: 2
Репутация: 1950
Блокировки:
Можно было просто как николас ответить ;)
 

ВолчачкаДата: Понедельник, 12 Августа 2013, 18:44:58 | Сообщение # 13
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
А не проще ли сделать все через один квест, тупо в нём показывать разный текст для разных игроков?
 

NightCattyДата: Понедельник, 12 Августа 2013, 20:06:25 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 201
Награды: 0
Репутация: 21
Блокировки:
Цитата (Волчачка)
А не проще ли сделать все через один квест, тупо в нём показывать разный текст для разных игроков?

так обычно и делают, разным игрокам разный текст квеста. по дефолту квест подписан как Не получен, а потом уже у каждого свой прогресс. в некоторых рпг встречал тучи квестов на каждого игрока.


Тщетно бытиё! :c
 

19yuri98Дата: Среда, 14 Августа 2013, 09:25:50 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (Волчачка)
А не проще ли сделать все через один квест, тупо в нём показывать разный текст для разных игроков?

не думал об этом..
а как это сделать?

Добавлено (14 Августа 2013, 09:25:50)
---------------------------------------------
помогите же..


 

NightCattyДата: Среда, 14 Августа 2013, 15:56:59 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 201
Награды: 0
Репутация: 21
Блокировки:
19yuri98, через тот же if с GetLocalPlayer - кому надо изменять текст квеста на нужный

Тщетно бытиё! :c
 

Ty3uKДата: Четверг, 15 Августа 2013, 20:56:03 | Сообщение # 17
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ник верно говорит - блокируй квест для ненужных

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

19yuri98Дата: Четверг, 15 Августа 2013, 23:09:15 | Сообщение # 18
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (NightCatty)
через тот же if с GetLocalPlayer - кому надо изменять текст квеста на нужный

Цитата (Ty3uK)
Ник верно говорит - блокируй квест для ненужных

спасибо)

Добавлено (25 Августа 2013, 11:49:57)
---------------------------------------------
Я сделал квест с помощью
[code=jass]function clq takes integer i, string t, string d, string ip, player pl returns quest
local string e = ""
if (GetLocalPlayer() == pl) then
set e = ip
return CreateQuestBJ(i, t, d, ip)
endif
endfunction[/code]
и триггера
[code=jass]function Trig_____________________________________001_Actions takes nothing returns nothing
local string t = "Привет"
local string d = "Насть"
call clq(bj_QUESTTYPE_REQ_DISCOVERED, t, d, "ReplaceableTextures\\CommandButtons\\BTNAmbush.blp",Player(1) )
call QuestSetEnabledBJ( true, GetLastCreatedQuestBJ() )
set d = "Юр!"
call clq(bj_QUESTTYPE_REQ_DISCOVERED, t, d, "ReplaceableTextures\\CommandButtons\\BTNAmbush.blp",Player(0) )
call QuestSetEnabledBJ( true, GetLastCreatedQuestBJ() )
endfunction

//===========================================================================
function InitTrig_____________________________________001 takes nothing returns nothing
set gg_trg_____________________________________001 = CreateTrigger(  )
call TriggerRegisterTimerEventSingle( gg_trg_____________________________________001, 2.00 )
call TriggerAddAction( gg_trg_____________________________________001, function Trig_____________________________________001_Actions )
endfunction
[/code]
в мультиплеере все норм,не вылетает,проверил


 

SirNikolasДата: Воскресенье, 25 Августа 2013, 12:16:15 | Сообщение # 19
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (19yuri98)
[code=jass]function clq takes integer i, string t, string d, string ip, player pl returns quest
local string e = ""
if (GetLocalPlayer() == pl) then
set e = ip
return CreateQuestBJ(i, t, d, ip)
endif
endfunction[/code]
Исправь:[code=jass]function clq takes integer i, string t, string d, string ip, player pl returns quest
local string e = ""
if GetLocalPlayer() == pl then
set e = ip
endif
return CreateQuestBJ(i, t, d, e)
endfunction[/code]


 

ExtrematorДата: Воскресенье, 25 Августа 2013, 13:23:21 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
А можно завернуть квест в какой спелл бук у юнита, а там уже скрывать/показывать его :DD
Типа "Книжка заданий", и там всякие разделы... с пассивками у которых будет описание как у квеста...
 

19yuri98Дата: Воскресенье, 25 Августа 2013, 13:36:46 | Сообщение # 21
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Цитата (Extremator)
А можно завернуть квест в какой спелл бук у юнита, а там уже скрывать/показывать его :DD
Типа "Книжка заданий", и там всякие разделы... с пассивками у которых будет описание как у квеста...

я так делал)в одной карте..
Цитата (SirNikolas)
Исправь:

что именно?я что-то не понял..


 

Ty3uKДата: Воскресенье, 25 Августа 2013, 14:13:46 | Сообщение # 22
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Локальную строку для локального игрока устанавливай, а создание квеста выбрось из if GetLocalPlayer()

И последний параметр - e, а не ip.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал SirNikolas - Понедельник, 26 Августа 2013, 07:41:39
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Локальный квест (С помощью GetLocalPlayer())
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz