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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] GetLocalPlayer()
[Вопрос] GetLocalPlayer()
wetalqДата: Понедельник, 13 Февраля 2012, 23:54:36 | Сообщение # 1
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Код вызывает десинхи, помогите исправить, плз

конверт из гуи, если что)



Сообщение отредактировал wetalq - Понедельник, 13 Февраля 2012, 23:56:29
 

Ty3uKДата: Вторник, 14 Февраля 2012, 07:53:28 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Посмотрев на код не заметил ничего ужасного. Я локально показывал юнитов- десинх обходил стороной. Поэтому попробуй сначала скрыть всех, а потом локально показать (хотя это вряд ли поможет). Кстати, вместо GetOwningPlayer(GetTriggerUnit) можно использовать GetTriggeringPlayer(), ты тогда один вызов экономишь. Хотя стоп, я как обычно начал советовать... -_-

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

FkoFFДата: Вторник, 14 Февраля 2012, 08:01:16 | Сообщение # 3
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
wetalq, лучше просто убирай юнитов из таверн (разрешить\запретить строительство\найм юнитов). А то и не красиво, и, как видишь, глючит )

 

Ty3uKДата: Вторник, 14 Февраля 2012, 08:05:56 | Сообщение # 4
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Не, локальный показ юнитов не глючит. У меня на этом херопик работает. Мб это из-за отдельной функции для иф зен? Гуи же

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

wetalqДата: Вторник, 14 Февраля 2012, 12:36:08 | Сообщение # 5
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Ty3uK, ща тогда сделаю на Jass'е

Quote (FkoFF)
wetalq, лучше просто убирай юнитов из таверн (разрешить\запретить строительство\найм юнитов). А то и не красиво, и, как видишь, глючит )


ты о том что бы менять не таверну, а юнитов в таверне ?

если не сработает вариант 1 попробую твой)

Добавлено (14 Февраль 2012, 12:36:08)
---------------------------------------------

Code
function Trig_Spell_Actions takes nothing returns nothing
     local player p = GetTriggerPlayer()
      
     if GetItemTypeId(GetManipulatedItem()) == 'I000' then
         if (GetLocalPlayer() == p) then
         call ShowUnit(udg_Taverna[1], false)
         call ShowUnit(udg_Taverna[2], true)
         call SelectUnit(udg_Taverna[2], true)
         endif
     endif
      
     if GetItemTypeId(GetManipulatedItem()) == 'I001' then
         if (GetLocalPlayer() == p) then
         call ShowUnit(udg_Taverna[1], true)
         call ShowUnit(udg_Taverna[2], false)
         call SelectUnit(udg_Taverna[1], true)
         endif
     endif
     set p = null
endfunction

//===========================================================================
function InitTrig_Spell takes nothing returns nothing
     local trigger t = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_PICKUP_ITEM )
     call TriggerAddAction( t, function Trig_Spell_Actions )
endfunction


Вот на Jass перевел, эффект тот же(
 

SirNikolasДата: Вторник, 14 Февраля 2012, 13:10:25 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (wetalq)
Code
loop
if(GetLocalPlayer()==Player(i))then
call ShowUnit(udg_Taverna[2],false)
endif
set i=i+1
exitwhen i==12
endloop
Зачем так усложнять?
Code
call ShowUnit(udg_Tavern[2], false)//Для всех сразу


 

Ty3uKДата: Вторник, 14 Февраля 2012, 13:12:18 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Может быть дело в том, что нельзя скрывать триггерно юнитов, которые уже есть на карте? Я так понял, что в переменных именно такие юниты

Добавлено (14 Февраль 2012, 13:12:18)
---------------------------------------------
Про это и говорил в начале ^_^


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

SirNikolasДата: Вторник, 14 Февраля 2012, 13:15:24 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SirNikolas)
call ShowUnit(udg_Tavern[2], false)//Для всех сразу
Или, если тебе надо для первых двенадцати, то вот так:
Code
call ShowUnit(udg_Tavern[2], GetPlayerId(GetLocalPlayer()) > 11)

Добавлено (14 Февраль 2012, 13:15:24)
---------------------------------------------

Quote (Ty3uK)
Может быть, дело в том, что нельзя скрывать триггерно юнитов, которые уже есть на карте?
С чего бы? Хотя проверить все-таки надо...


 

Ty3uKДата: Вторник, 14 Февраля 2012, 13:17:59 | Сообщение # 9
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну созданные триггерно юниты при локальном скрытии не десинхают. Проверял лично

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

wetalqДата: Вторник, 14 Февраля 2012, 13:38:19 | Сообщение # 10
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Создал таверны триггерно, но за 3 проверки, синий игрок вылетал только после покупки первого предмета(
 

SirNikolasДата: Вторник, 14 Февраля 2012, 13:42:20 | Сообщение # 11
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Проверь другие триггеры с тем же событием, а также с "Юнит продает предмет (из лавки)".

 

wetalqДата: Вторник, 14 Февраля 2012, 14:09:28 | Сообщение # 12
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
хм, нашел чуть другой метод как сделать, без функции GetLocalPlayer()

создать таверну на таверне, и сделать так что бы 1 таверна была нормальная, а вторая маленькая.

можно как нибудь сделать так что бы таверну нельзя было выбрать игроку, а она выбиралась только в случае если используют переключатель у таверны ?
 

SirNikolasДата: Вторник, 14 Февраля 2012, 14:38:28 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Тогда действительно, создавай таверну для каждого игрока и локально устанавливай им прозрачность на 100%.

 

wetalqДата: Воскресенье, 19 Февраля 2012, 01:55:17 | Сообщение # 14
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (SirNikolas)
Тогда действительно, создавай таверну для каждого игрока и локально устанавливай им прозрачность на 100%.


а смысл ?

выбрать их же будет можно
 

SirNikolasДата: Воскресенье, 19 Февраля 2012, 11:38:35 | Сообщение # 15
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
А, точно. Тогда размер локально на 0%.

 

BorodachДата: Воскресенье, 19 Февраля 2012, 13:23:13 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Я думаю проблема все ж в другом... ты создай только эту функцию на карте и проверь на дессинк

Karamba
 

wetalqДата: Понедельник, 20 Февраля 2012, 01:25:36 | Сообщение # 17
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (Borodach)
ты создай только эту функцию на карте и проверь на дессинк


я и создал только одну функцию, вылетает именно при первой смене таверны
 

DreiiДата: Понедельник, 20 Февраля 2012, 19:12:32 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
wetalq,
создавай таверны.
скрывай циклом (НЕЛОКАЛЬНО)
локально показывай нужную


 

wetalqДата: Понедельник, 20 Февраля 2012, 22:07:48 | Сообщение # 19
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (Dreii)
скрывай циклом (НЕЛОКАЛЬНО)


зачем ? нелокально же будет так: скрыть таверну 12 рас

щас попробую
 

Ty3uKДата: Вторник, 21 Февраля 2012, 08:52:36 | Сообщение # 20
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Поэтому циклом и скрывай. Да и вообще, если не локально скрывать, то это нужно сделать всего один раз:
Code
call ShowUnit(u, false)


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

wetalqДата: Четверг, 23 Февраля 2012, 22:54:40 | Сообщение # 21
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Тему можна закрывать.

Проблема решил так: Перед тем как скрыть таверну, я снимал выбор со всех юнитов.

Всем спасибо кто пытался помочь
 

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

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