XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
ILYI

offline
Опыт: 580
Активность:
Читерство
Реально ли сделать так чтобы при мультиплейэрной игре определённые бонусы добавлялись игроку с определённым именем????
Н-р: Каждую минуту игруку с именем "Пупкин" прибавлялось 10 дерева и 20 золота....
Старый 19.06.2008, 14:45
S

offline
Опыт: 43,833
Активность:
вставлять в карту скрипт, который каждую минуту будет давать пупкину 10 дерева и 20 золота...
Цитата:
Реально ли

угу, а еще лучше прописывать -gold 01 10000 и реду будет даваться 10000 голд -_- и так для любого игрока.
Старый 19.06.2008, 14:56
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
А что сложного? Создаёшь периодический триггер, проверяешь имя каждого игрока, если совпадает, то дать ему золота и дерева.

Если всё вышеизложенное не понятно, тебе идти в статьи, читай про триггеры. Это всё элементарный базис.
Старый 19.06.2008, 14:57
ILYI

offline
Опыт: 580
Активность:
Логику этого процесса я прослеживаю, единственное что я не смог найти в редакторе триггеров так это проверку имени игрока....
Старый 19.06.2008, 15:00
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
ищи в String Comparison

DFlyer добавил:
В джаззе примерно так:
Код:
if GetPlayerName(whichPlayer)==CheatName then
  //your actions
endif

  //CheatName - глобальная переменная типа строка (string)
  //с заранее присвоенным значением
  //(например, "Pupkin")
Старый 19.06.2008, 15:06
ILYI

offline
Опыт: 580
Активность:
в общем у меня получился вот такой вот код...
сразу сознаюсь пытаюсь воткнуть его в доту.
так вот в простых картах всё срабатывает а вот с дотой косяк, при попытке создать сервер с этой картой я возвращаюсь в окошко со списком игр, т.е. насколько я понял игра не может инициализировать эту карту.
А вот собственна код (версия доты 6.52с (когда я в версии 6.51 сделал морфлингу бесконечное прибавление атрибутов таких проблем не возникало))
function Trig_ILYI_Func001002001001 takes nothing returns boolean
return ( GetPlayerName(ForcePickRandomPlayer(GetPlayersAll())) == "ILYI" )
endfunction
function Trig_ILYI_Actions takes nothing returns nothing
call AdjustPlayerStateBJ( 10, ForcePickRandomPlayer(GetPlayersMatching(Condition(function Trig_ILYI_Func001002001001))), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function InitTrig_ILYI takes nothing returns nothing
set gg_trg_ILYI = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_ILYI, 1.00 )
call TriggerAddAction( gg_trg_ILYI, function Trig_ILYI_Actions )
endfunction
Старый 19.06.2008, 19:19
S

offline
Опыт: 43,833
Активность:
Цитата:
разу сознаюсь пытаюсь воткнуть его в доту.

советую забить на это - скрипт в таком виде дота "не примет".
+ фэйкнутую доту сразу попалят и играть просто не будут.
Старый 19.06.2008, 19:20
ILYI

offline
Опыт: 580
Активность:
Цитата:
Сообщение от Sasha
советую забить на это - скрипт в таком виде дота "не примет".
+ фэйкнутую доту сразу попалят и играть просто не будут.


Хорошо может кто нить подскажет в каком виде "примет"...
Насчёт фэйкнутой доты она используется в паре клубов да в домашней сети, так что особых проблем не будет,
Конечно читерство зло однако грех не пользоваться слабостями других, которым даже не возможно объяснить что ДотА всего лишь карта к игре ВарКрафт а не великая игра....

Да кстати немного продвинулся...
Карта запускается, единственное что не так, так это то что скрипт не выполняется.....
Старый 20.06.2008, 11:43
S

offline
Опыт: 43,833
Активность:
Цитата:
Карта запускается, единственное что не так, так это то что скрипт не выполняется.....

во-во ;) я и говорю...

жди, через 10 минут сделаю код.

Sasha добавил:
Цитата:
function Trig_ILYI_Func001002001001 takes nothing returns boolean
return ( GetPlayerName(ForcePickRandomPlayer(GetPlayersAll())) == "ILYI" )
endfunction
function Trig_ILYI_Actions takes nothing returns nothing
call AdjustPlayerStateBJ( 10, ForcePickRandomPlayer(GetPlayersMatching(Condition(function Trig_ILYI_Func001002001001))), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function InitTrig_ILYI takes nothing returns nothing
set gg_trg_ILYI = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_ILYI, 1.00 )
call TriggerAddAction( gg_trg_ILYI, function Trig_ILYI_Actions )
endfunction

замени на
Код:
function wtfm takes nothing returns boolean
return ( GetPlayerName(ForcePickRandomPlayer(GetPlayersAll())) == "ILYI" )
endfunction
function twwt takes nothing returns nothing
call AdjustPlayerStateBJ( 10, ForcePickRandomPlayer(GetPlayersMatching(Condition(function wtfm))), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function omgq takes nothing returns nothing
call TriggerRegisterTimerEventPeriodic(TR, 1.00 )
call TriggerAddAction(TR, function twwt)
endfunction

в глобалках пропиши
Код:
trigger TR=CreateTrigger()

а в функции main в самом конце
Код:
call omgq()


Sasha добавил:
ах да...

Enjoy :)

Отредактировано Sasha, 20.06.2008 в 12:28.
Старый 20.06.2008, 12:14
ILYI

offline
Опыт: 580
Активность:
Спасибо
Старый 20.06.2008, 12:15
S

offline
Опыт: 43,833
Активность:
нп, обращайся в пм если что.
(также возможно изменить ландшафт доты, героев,айтемы, и.т.п... всё возможно ;))
Модеры, закройте тему, ибо
1 вопрос = 1 тема.
Старый 20.06.2008, 12:17
WordEdit

offline
Опыт: 11,597
Активность:
И пошло? Просто я в какую-то версию тож читы вставлял, при загрузки был фатал еррор..Надо еще грамотно затолкнуть обратно.
Старый 20.06.2008, 13:31
ILYI

offline
Опыт: 580
Активность:
2Sasha!!!
я пытался написать у Тебя ящик переполнен был...
Твой вариант к сожалению не заработал, при загрузке карты на экране была тупо закрытая карта и ничего больше, но я всё же сделал рабочий вариант, может быть и не очень проффессионально однако работает вот код


Код:
globals
trigger trg_gova=CreateTrigger()
string hren="ILYI"
endglobals

function govaa_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(1), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govaa takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govaa_action )
endfunction
function govab_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(2), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govab takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govab_action )
endfunction
function govac_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(3), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govac takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govac_action )
endfunction
function govad_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(4), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govad takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govad_action )
endfunction
function govae_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(5), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govae takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govae_action )
endfunction
function govaf_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(7), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govaf takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govaf_action )
endfunction
function govag_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(8), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govag takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govag_action )
endfunction
function govah_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(9), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govah takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govah_action )
endfunction
function govai_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(10), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govai takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govai_action )
endfunction
function govaj_action takes nothing returns nothing
    call AdjustPlayerStateBJ( 100, Player(11), PLAYER_STATE_RESOURCE_GOLD )
endfunction
function govaj takes nothing returns nothing
    call TriggerRegisterTimerEventPeriodic( trg_gova, 5.00 )
    call TriggerAddAction( trg_gova, function govaj_action )
endfunction
function namocheck takes nothing returns nothing
if GetPlayerName(Player(1))==hren then 
call govaa()
else 
if GetPlayerName(Player(2))==hren then 
call govab()
else 
if GetPlayerName(Player(3))==hren then 
call govac()
else 
if GetPlayerName(Player(4))==hren then 
call govad()
else 
if GetPlayerName(Player(5))==hren then 
call govae()
else 
if GetPlayerName(Player(7))==hren then 
call govaf()
else 
if GetPlayerName(Player(8))==hren then 
call govag()
else 
if GetPlayerName(Player(9))==hren then 
call govah()
else 
if GetPlayerName(Player(10))==hren then 
call govai()
else 
if GetPlayerName(Player(11))==hren then 
call govaj()
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endfunction

function main takes nothing returns nothing...
call namocheck()...
...endfunction
Старый 26.06.2008, 06:33
S

offline
Опыт: 43,833
Активность:
Цитата:
Твой вариант к сожалению не заработал

я часа вроде через 2 обновил код, т.к. нашел ошибку - попробуй, а твой код с кучей проверок ни к чему - если от тебя опять придет подтверждение что мой код не работает - будем делать по-другому... (скажи ник, на который должно даваться опред. кол-во ресов)
Старый 29.06.2008, 12:22
ILYI

offline
Опыт: 580
Активность:
Цитата:
Сообщение от Sasha
я часа вроде через 2 обновил код, т.к. нашел ошибку - попробуй, а твой код с кучей проверок ни к чему - если от тебя опять придет подтверждение что мой код не работает - будем делать по-другому... (скажи ник, на который должно даваться опред. кол-во ресов)


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

Кстати Ты в той же теме написал ответ что можно скрыть круг силы, каким образом это мона провернуть????

P.S. nickname ILYI or IWIHAA
Старый 30.06.2008, 05:26
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
ILYI Hide Unit?
Старый 30.06.2008, 11:31
S

offline
Опыт: 43,833
Активность:
Код:
globals
trigger chrigg=CreateTrigger()
endglobals

function chret takes nothing returns boolean
return GetPlayerName(GetTriggerPlayer())=="ILYI"
endfunction

function chadd takes nothing returns nothing
call SetPlayerState(GetTriggerPlayer(),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetT  riggerPlayer(),PLAYER_STATE_RESOURCE_GOLD)+S2I(SubString(GetEventPlayerChatStrin  g(),6,30)))
endfunction

function chin takes nothing returns nothing
local integer i=0
loop
exitwhen i>11
call TriggerRegisterPlayerChatEvent(chrigg,Player(i),"-gold",false)
set i=i+1
endloop
call TriggerAddCondition(chrigg,Condition(function chret))
call TriggerAddAction(chrigg,function chadd)
endfunction

то что в globals - вставишь в глобалки, остальное - после endglobals, в функции main в конце пропиши
Код:
call chin()

потом в игре, нажми кнопку Общение (рядом с Меню и Союзники) и выбери "Зрителям". Потом открываешь чат
» Почему зрителям?

В зрителях обычно никого нет, а в реплее то что ты пишешь зрителям не показывают

и пишешь -gold 10000 например - тебе добавят (не установят значение, а добавят) 10000 золота.

Sasha добавил:
и еще - в функции chadd желательно чтобы не было пробелов (у меня показано что есть пробел в словах GetTriggerPlayer, его быть не должно)

Отредактировано Sasha, 30.06.2008 в 11:44.
Старый 30.06.2008, 11:36
ILYI

offline
Опыт: 580
Активность:
Спасибки рульно...
Старый 03.07.2008, 19:08
S

offline
Опыт: 43,833
Активность:
Работает? =)
Видимо работает. Клоуз тему.

Отредактировано Sasha, 18.07.2008 в 10:35.
Старый 03.07.2008, 19:55
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:42.