UrsaBoss, Kirill78, prog, никто не говорил о супер крутой защите которую никто не взломает
хотя бы потому что такой не существует
всё что нужно это простая проверка описанная мной
защита от взлома самой карты является уже другим вопросом на который уже ответили
т.е. подделывание пакетов синхронизации не должно вызывать десинков UrsaBoss, так если в карте идёт синхронизация то он может перехватить их
в теории если перехватить sync пакеты от игрока 1 и заменить их содержимое
а также перехватить sync пакеты к игроку 1 и тоже заменить их содержимое
то игрок 1 будет считать что он получил локальные данные от других, а остальные игроки будет считать что локальные данные получили от игрока 1
ну на крайний случай можно пойти другим путём
карта генерит строку и пишет её в кэш
бот считывает - высчитывает ответ - фигачит его в чат
карта проверяет ответ и если он верен то значит это наш бот
бот может читать/писать кэш
на этом основано много систем взаимодействия с ботом
стата в доте
моды в картах для хостботов
сделай чтобы бот писал в кэш карты пароль
в карте хранишь хэш этого пароля
после старта карты высчитываешь хэш полученного пароля и сверяешь с тем что записан в карте
если совпали то значит карта на твоём боте
если пароля нету или не совпали то значит карта не на твоём боте
хэш функций в интернете дофига
интерфейсы юзай
хотя я бы не советовал часто юзать полиморфизм на вджасс
он реализован через триггеры и при большом количестве объектов существенно растёт нагрузка на машину
опубликовал тупо потому что кидают и похуже
да и оформление какое никакое есть
касательно ланда
избавься от клифоф
они убоги
особенно в синематиках вот тебя хорошая статья
и не стоит писать всякую фигню в метках
не стоит пихать большие изображения в ресурс (это я про ту фигню что шла до сюжета)
особенно если эти изображения не относятся к игровому процессу/разработке
опубликовал
возможно муишно надоела маленькая зарплата и он устроил забастовку
для более подробного ответа советую подождать когда штатный телепат вернётся из отпуска
8gabriel8, Steal nerves, никак отследить нельзя
единственное что можно это сделать псевдо абилки без указания цели через покупку юнитов (как у куры в доте)
самым оптимальным вариантом будут параллельные массивы+перебор таймером
вот тебе готовая система на v/cjass:
library auto_deleted_effect initializer init{
private effect myEffects[];
private int times[];
private int count=0;
int createAutoDeletedEffect(effect newEffect, int time){
int index=count;
count++;
myEffects[index]=newEffect;
times[index]=time;
return index;
}
bool removeAutoDeletedEffect(int index){
DestroyEffect(myEffects[index]);
count--;
if(index<count){
myEffects[index]=myEffects[count];
times[index]=times[count];
return false;
}
return true;
}
private void update(){
int index=0;
loop{
exitwhen index==count;
times[index]--;
if(times[index]<=0){
if(removeAutoDeletedEffect(index)){
index++;
}
}
}
}
private void init(){
timer t=CreateTimer();
TimerStart(t, 1, true, function update);
}
}
вставь её в шапку карты
вызывать вот так:
createAutoDeletedEffect(AddSpecialEffectTargetUnitBJ( "overhead", PickUnit , "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" ), 3) // создаёт эффект который будет удалён через 3 секунды
требует подключения cj_types.j без вайлов qzGoon, ну а ты проверь рабочий он или нет
qzGoon, в статьях в которые ты просил тебя не посылать написано что вейты не работают в функциях вызываемых из ForGroup
т.е. весь код который идёт после вейта не будет выполнятся
а если ещё прочесть статьи про джасс то можно узнать что они нигде не работают кроме действий триггеров и потоков дочерних от них
самый лучший способ - переделать на таймеры
самый быстрый способ - порождать дочерний поток через экзекут
Fakov, это не русские триггеры сложные а автор тупит
он заставляет всех союзников игрока зашедшего на арену (а это все игроки) считать всех игроков (теже самые игроки) врагами
а потом удивляется почему после команды "заставить всех игроков считать всех игроков врагами" все игроки стали врагами друг другу Andrey33, убери нафиг союзников отовсюду
сделай так:
заставить владельца(входящий юнит) считать всех игроков как противник
заставить всех игроков считать владельца(входящий юнит) как противник
» WarCraft 3 / Защита карты от редактирования
хотя бы потому что такой не существует
всё что нужно это простая проверка описанная мной
защита от взлома самой карты является уже другим вопросом на который уже ответили
Отредактирован nvc123
» WarCraft 3 / Защита карты от редактирования
UrsaBoss, так если в карте идёт синхронизация то он может перехватить их
в теории если перехватить sync пакеты от игрока 1 и заменить их содержимое
а также перехватить sync пакеты к игроку 1 и тоже заменить их содержимое
то игрок 1 будет считать что он получил локальные данные от других, а остальные игроки будет считать что локальные данные получили от игрока 1
ну на крайний случай можно пойти другим путём
карта генерит строку и пишет её в кэш
бот считывает - высчитывает ответ - фигачит его в чат
карта проверяет ответ и если он верен то значит это наш бот
» WarCraft 3 / Защита карты от редактирования
по идее ведь кэш поддерживает синхронизацию локальных данных
» WarCraft 3 / Защита карты от редактирования
UrsaBoss, мне почему то казалось что он может и читать и писать
» WarCraft 3 / Защита карты от редактирования
в ту же доту например
» WarCraft 3 / Защита карты от редактирования
на этом основано много систем взаимодействия с ботом
стата в доте
моды в картах для хостботов
сделай чтобы бот писал в кэш карты пароль
в карте хранишь хэш этого пароля
после старта карты высчитываешь хэш полученного пароля и сверяешь с тем что записан в карте
если совпали то значит карта на твоём боте
если пароля нету или не совпали то значит карта не на твоём боте
хэш функций в интернете дофига
Отредактирован nvc123
» WarCraft 3 / Wispball
» WarCraft 3 / vjass структуры, проблема наследования
хотя я бы не советовал часто юзать полиморфизм на вджасс
он реализован через триггеры и при большом количестве объектов существенно растёт нагрузка на машину
» WarCraft 3 / Вторжение Орды (Орда) 4.0
хотя над ландом стоит поработать
Бордер, не стоит
» WarCraft 3 / Вторжение Орды (Орда) 4.0
тут по крайней мере соблюдены минимальные требования качества и оформления
» WarCraft 3 / Вторжение Орды (Орда) 4.0
да и оформление какое никакое есть
касательно ланда
избавься от клифоф
они убоги
особенно в синематиках
вот тебя хорошая статья
и не стоит писать всякую фигню в метках
» WarCraft 3 / Душа Демона
особенно если эти изображения не относятся к игровому процессу/разработке
опубликовал
» WarCraft 3 / Вопрос по Jass
для более подробного ответа советую подождать когда штатный телепат вернётся из отпуска
» WarCraft 3 / Душа Демона
» WarCraft 3 / The Two Peaks.Apocalypse.(v3.4)
все давно привыкли к тому что они пихают слово Entertainment куда угодно
Отредактирован nvc123
» WarCraft 3 / The Two Peaks.Apocalypse.(v3.4)
во вторых у нас правила оформления
» WarCraft 3 / кем был отдан приказ (отследить как?)
единственное что можно это сделать псевдо абилки без указания цели через покупку юнитов (как у куры в доте)
» WarCraft 3 / Пассивная способность героя
Clamp, ну а что ты хочешь от кода написанного прямо тут в комментах
Отредактирован nvc123
» WarCraft 3 / Пассивная способность героя
вот тебе готовая система на v/cjass:
qzGoon, ну а ты проверь рабочий он или нет
Отредактирован nvc123
» WarCraft 3 / Пассивная способность героя
т.е. весь код который идёт после вейта не будет выполнятся
а если ещё прочесть статьи про джасс то можно узнать что они нигде не работают кроме действий триггеров и потоков дочерних от них
самый лучший способ - переделать на таймеры
самый быстрый способ - порождать дочерний поток через экзекут
Отредактирован nvc123
» WarCraft 3 / Вопрос про облости
он заставляет всех союзников игрока зашедшего на арену (а это все игроки) считать всех игроков (теже самые игроки) врагами
а потом удивляется почему после команды "заставить всех игроков считать всех игроков врагами" все игроки стали врагами друг другу
Andrey33, убери нафиг союзников отовсюду
сделай так:
заставить владельца(входящий юнит) считать всех игроков как противник
заставить всех игроков считать владельца(входящий юнит) как противник