Сейчас 09:31:24 Пятница, 27 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
переменные
lawsonДата: Четверг, 06 Января 2011, 17:42:13 | Сообщение # 26
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
не использовать её
Гениально и просто
да это было бы хорошо.
А внутри этого массива мне попасть ни как уже полсе его обявлениия?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

DreiiДата: Четверг, 06 Января 2011, 18:37:26 | Сообщение # 27
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
lawson, зачем обнулять интегер?

 

lawsonДата: Четверг, 06 Января 2011, 18:43:49 | Сообщение # 28
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Потому что у меня опять проблема с ИИ когда выбирает героя
я хочу чтобы выбранный герой тоесть
local unit e = GetLastCreatedUnit()
local integer array hr
set hr[1] = 'H000'
set hr[2] = 'E005'
set hr[3] = 'E006'

после каждого действия Loop
он удалял GetUnitTypeId(e)
если он совпадал с выбранным id массива hr.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Banzay89Дата: Четверг, 06 Января 2011, 18:45:16 | Сообщение # 29
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
lawson, так тут массив логической нужен -_-
 

lawsonДата: Четверг, 06 Января 2011, 18:46:15 | Сообщение # 30
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
О боже что это еще такое?

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 18:52:08 | Сообщение # 31
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Code

If GetUnitTypeId(e) == hr[i] then
         set hr[i] = 0
endif

Так что-ли?


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

lawsonДата: Четверг, 06 Января 2011, 18:55:01 | Сообщение # 32
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
If GetUnitTypeId(e) == hr[i] then
set hr[i] = 0
endif
если бы...
ни фига он не обнуляет.

Добавлено (06-01-2011, 18:55)
---------------------------------------------
и вообще у меня integer массив в котором несколько ячеек


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 19:02:53 | Сообщение # 33
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
GetLastCreatedUnit() вообще что-нибудь возвращает? Какое событие?

Quote
и вообще у меня integer массив в котором несколько ячеек

Это вообще к чему?


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

lawsonДата: Четверг, 06 Января 2011, 19:03:40 | Сообщение # 34
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
пфф ты обнуляешь какуюто выбранную ячейку а у меня их 3 и как обнулить ту которая была выбрана?

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 19:11:17 | Сообщение # 35
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Поместить это в цикл...

Code

local unit e = GetLastCreatedUnit()
local integer array hr
set hr[1] = 'H000'
set hr[2] = 'E005'
set hr[3] = 'E006'
loop
       exitwhen (hr[4] > 3)
       If GetUnitTypeId(e) == hr[i] then
              set hr[i] = 0
       endif
       set hr[4] = hr[4] + 1
endloop

Идёт поочерёдное сравнение 1, 2 и 3 элемента с типом юнита e. Если совпало, то ставим 0.

Добавлено (06-01-2011, 19:11)
---------------------------------------------
Ещё set hr[4] = 1 перед циклом забыл.


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

lawsonДата: Четверг, 06 Января 2011, 19:12:33 | Сообщение # 36
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
а ячейки можно добавлять к массивам?

Добавлено (06-01-2011, 19:12)
---------------------------------------------
и еще а i это что?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 19:12:35 | Сообщение # 37
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
И вместо i - hr[4]. Слишком быстро написал, надо думать больше...

XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

lawsonДата: Четверг, 06 Января 2011, 19:14:04 | Сообщение # 38
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ладно попробуем

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 19:14:11 | Сообщение # 39
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Массивы резервируют память сразу по 1000-2000, так что ячейками можно не жадничать.
Вообще предел 8190 элементов.


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

lawsonДата: Четверг, 06 Января 2011, 19:24:01 | Сообщение # 40
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Вот только у меня проблема
у меня игроки которым я даю героя в цикле ссылаються на ConvertedPlayer(GetForLoopIndexA()) поэтому нужен
цикл вроде
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
Если делать по другому то все 4 героя даються 1 игроку.

Добавлено (06-01-2011, 19:24)
---------------------------------------------
вот весь код без integer

Code
set bj_forLoopAIndex = 1
     set bj_forLoopAIndexEnd = 10
     loop
         exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
         call StartMeleeAI( Player(10), "map.ai" )
         if (bot()) then
             call CreateNUnitsAtLoc( 1, 'герой', ConvertedPlayer(GetForLoopIndexA()), GetRectCenter(gg_rct_BaseCenterSen), bj_UNIT_FACING )
             if (GetUnitTypeId(e) == hr[5]) then
             set hr[5] = 0
             endif
             call PolledWait(0.1)
             call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+" has selected the "+GetUnitName(GetLastCreatedUnit())+ ".")
             call SetUnitOwner( udg_remove[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))], Player(PLAYER_NEUTRAL_PASSIVE), false )
         endif
         set bj_forLoopAIndex = bj_forLoopAIndex + 1
     endloop


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

nixonikxДата: Четверг, 06 Января 2011, 19:25:07 | Сообщение # 41
3 уровень
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 2
Блокировки:
как обнулить переменные при помощи личного сченария какие нада команды?
 

lawsonДата: Четверг, 06 Января 2011, 19:25:57 | Сообщение # 42
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
смотря какие переменные!

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

nixonikxДата: Четверг, 06 Января 2011, 19:28:52 | Сообщение # 43
3 уровень
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 2
Блокировки:
ну дай для
целочисл
точек
реальных
пока хватит)

Добавлено (06-01-2011, 19:28)
---------------------------------------------
а забыл отряд

 

lawsonДата: Четверг, 06 Января 2011, 19:30:56 | Сообщение # 44
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Юниты, отряды = null
Integer real = 0


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

nixonikxДата: Четверг, 06 Января 2011, 19:33:36 | Сообщение # 45
3 уровень
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 2
Блокировки:
так чтоли и писать в ?

Добавлено (06-01-2011, 19:33)
---------------------------------------------
значение кода

 

lawsonДата: Четверг, 06 Января 2011, 19:33:48 | Сообщение # 46
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
ты в JASS хоть чтото можешь сделать?
когда сделаешь поймеш!


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

AjaccioДата: Четверг, 06 Января 2011, 19:34:12 | Сообщение # 47
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Эх, вообще не пойму, что нужно то.

Code

local unit e = GetLastCreatedUnit()
local integer array hr
set hr[1] = 'H000'
set hr[2] = 'E005'
set hr[3] = 'E006'
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 3
loop
        exitwhen (bj_forLoopAIndex > bj_forLoopAIndexEnd)
        If GetUnitTypeId(e) == hr[bj_forLoopAIndex] then
               set hr[bj_forLoopAIndex] = 0
        endif
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop

Неужели так? Если нет, то я уже устал гадать, скажите последовательно, что должно происходить. Я сделаю.


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

nixonikxДата: Четверг, 06 Января 2011, 19:37:06 | Сообщение # 48
3 уровень
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 2
Блокировки:
Quote (lawson)
ты в JASS хоть чтото можешь сделать?
когда сделаешь поймеш!

не поэту и прошу напиши точно что писать
 

lawsonДата: Четверг, 06 Января 2011, 19:39:43 | Сообщение # 49
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
:) да все просто
я хочу чтобы боту давался рандомный герой и все! и чтоб герои не повторялись!

Добавлено (06-01-2011, 19:38)
---------------------------------------------
Ты что прикалываешься? в каком смысле что писать? Пиши цифры и буквы и смотри почему ругается JAss Helper.

Добавлено (06-01-2011, 19:39)
---------------------------------------------
Напиши в инициализации карты вот это
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, " Нет мозгов")


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

nixonikxДата: Четверг, 06 Января 2011, 19:42:11 | Сообщение # 50
3 уровень
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 2
Блокировки:
бляяяяяя
в действие есть функция личный сценарий
позволяет вставить код из Jass я спрашиваю какой код на обнуление для этих переменный
 

  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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