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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Помогите с JASS
Помогите с JASS
lawsonДата: Понедельник, 03 Января 2011, 21:58:36 | Сообщение # 1
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
В общем дела в чем я хочу как видно в тригерречто при n = определенному числу давался герою определенный предмет но проблема в том что как только функция снова прослушиваеться то переменная n снова приходит в ихсходное положение а мне надо что она оставалась измененной(тоесть если функция останавливаеться где n = 2 то при последующем прослушивании оно начнет отсчет с n = 2) Ну что поможите заранее спасибою и еще с переменными типа udg_ тоже не работает или я чтото не так делаю.
Code
function Trig_JassItems_Conditions takes nothing returns boolean
return (GetPlayerController(GetOwningPlayer(GetTriggerUnit())) == MAP_CONTROL_COMPUTER )   
endfunction

function Trig_JassItems_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local integer gold = GetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD)
local integer n = 1
if (n == 1 ) and (gold >= 1500)then
set n = n + 1
call UnitAddItemByIdSwapped('I00M', u)
call SetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD, (gold - 1500))  
endif
call PolledWait(0.4)
if (n == 2) and (gold >= 500 )then
set n = n +1
call UnitAddItemByIdSwapped('brac', u)
call SetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD, (gold - 500))  
endif
call PolledWait( .5 )
if (n == 3) and (gold >= 2400) then
set n = n +1
call UnitAddItemByIdSwapped('I00G', u)
call SetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD, (gold - 2400))  
endif
call PolledWait( .7 )
if (n == 4) and (gold >= 2100) then
set n = n +1
call UnitAddItemByIdSwapped('ward', u)
call SetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD, (gold - 2100))  
endif
call PolledWait( .9 )
if (n == 5) and (gold >= 500) then
set n = 0
call UnitAddItemByIdSwapped('I00T', u)
call SetPlayerState(GetOwningPlayer(u), PLAYER_STATE_RESOURCE_GOLD, (gold - 500))  
endif
endfunction

//===========================================================================
function InitTrig_JassItems takes nothing returns nothing
     local trigger tr = CreateTrigger()
     call TriggerRegisterEnterRectSimple(tr, gg_rct_BotRegenSent )
     call TriggerAddCondition(tr, Condition( function Trig_JassItems_Conditions ) )
     call TriggerAddAction(tr, function Trig_JassItems_Actions )
endfunction


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

rixt7956Дата: Понедельник, 03 Января 2011, 22:08:55 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Quote (lawson)
проблема в том что как только функция снова прослушиваеться то переменная n снова приходит в ихсходное положение а мне надо что она оставалась измененной(тоесть если функция останавливаеться где n = 2 то при последующем прослушивании оно начнет отсчет с n = 2)

Quote (lawson)
работает

Quote (lawson)
с переменными типа udg_
 

lawsonДата: Понедельник, 03 Января 2011, 22:13:46 | Сообщение # 3
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Тогда обхясните пожалуйста а то я сегодня сума уже сошел.

Добавлено (03-01-2011, 22:13)
---------------------------------------------
Я сделал с udg_ так number(переменная) = 1
local integer n = udg_number
set n = n + 1
или как еще?
Как только бот чтото покупает я вывожу number и он всегда равняеться 1!


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

rixt7956Дата: Понедельник, 03 Января 2011, 22:14:11 | Сообщение # 4
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
lawson, Чего тебе объяснять?Ты же при запуске функции присваиваешь исходное значение
Quote (lawson)
local integer n = 1
И тем более ты используешь локальные переменные, а при каждом запуске функции они всегда создаються новые.
 

lawsonДата: Понедельник, 03 Января 2011, 22:30:54 | Сообщение # 5
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
я заню что сам себе рою яму тем что создаю local integer это я все уже понял так объясните как сделать чтоб работало!

Добавлено (03-01-2011, 22:30)
---------------------------------------------
Все разобрался вот я тупица я сделал так
local integer n = udg_number
set udg_number = 1
if (n == 1) then
set udg_number = n + 1
endif
Фуу не все только жаль что для каждой функции пидеться обнулять n или создавать новую переменную udg


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

rixt7956Дата: Вторник, 04 Января 2011, 00:51:53 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
real и integer обнулять не надо.
 

FkoFFДата: Вторник, 04 Января 2011, 02:28:23 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Ох май факин, что за индусский код? Обезьянка из зоопарка и та лучше напишет, поднатаскавшись за недельку..;

За одни только полледвейты уже можно казнить. Я уж не говорю о том что там какая то анархия творится...


 

FrozenMasterДата: Вторник, 04 Января 2011, 15:56:17 | Сообщение # 8
3 уровень
Группа: Пользователи
Сообщений: 69
Награды: 0
Репутация: 11
Блокировки:
Зачем вы завели меня в эту тему?? Я не шарю в JASS.


Давайте вместе поржём над минусом некого sumert'a в моей репутации!
 

lawsonДата: Вторник, 04 Января 2011, 16:12:09 | Сообщение # 9
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ох май факин, что за индусский код? Слыш у меня что в инфе написано профессор по програмированию в JASS ? если можешь помочь по оптимизации то помоги а если всякую чушь гониш тогда иди дуй в дудку!

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

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Помогите с JASS
  • Страница 1 из 1
  • 1
Поиск:

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