Equilibrium Keeper Опубликовано 23 сентября, 2005 Жалоба Поделиться Опубликовано 23 сентября, 2005 Вот собственно скрипт: begin EK_BonusMagicPoint short varMagicka short varBonus short varEnchant short varDestruction short varAlteration short varIllusion short varConjuration short varMysticism short varRestoration short varIntelligence short varWillpower if ( varEnchant != Player->GetEnchant ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetEnchant, Enchant endif if ( varDestruction != Player->GetDestruction ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetDestruction, Destruction endif if ( varAlteration != Player->GetAlteration ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetAlteration, Alteration endif if ( varIllusion != Player->GetIllusion ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetIllusion, Illusion endif if ( varConjuration != Player->GetConjuration ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetConjuration, Conjuration endif if ( varMysticism != Player->GetMysticism ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetMysticism, Mysticism endif if ( varRestoration != Player->GetRestoration ) Player->GetMagicka, varMagicka Player->GetIntelligence, varIntelligence Player->GetWillpower, varWillpower set varBonus to ((varIntelligence\20)+(varWillpower\30)) SetMagicka, varMagicka+varBonus MessageBox, "Предел магической энергии увеличин на %varBonus", varBonus Player->GetRestoration, Restoration endif end;Окончательный конец. =) ;((varIntelligence\20)-(20)mod(varIntelligence)+(varWillpower\30)-(30)mod(varWillpower)) Хотелос бьi узнать гdе ошибки... Принимаю все ответьi кроме "в DНК" =)Объяснят что оно dелает наdо?Во первьiх я так и не понял как скриптьi врубат - сунул в Старт Скрипт. В результате, почему то скрипт вьiполняется постоянно, не смотря на условия и бонусов не dает. Вот, ну и еще парочк:1)Существует ли dействие "mod" или как отцепить dробньiй хвост... или его вобщпе можно оставить? Само округлится.2)ГетСтат возвращает параметр свой или вместе с бонусами\минусами, если с бонусами, то как просчитать реальньiй. Вобще, может есть более простой способ? Но как привязать скрипт к повьiшению навьiка я не понял. =( Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 24 сентября, 2005 Жалоба Поделиться Опубликовано 24 сентября, 2005 Уважаемые модеры, разве этой теме здесь место? 2 Equilibrium Keeper Про то, что скрипт исполняется все время, читай MSFD! Нет Комманды StopScript! Ссылка на комментарий Поделиться на другие сайты Поделиться
MorfiX Опубликовано 24 сентября, 2005 Жалоба Поделиться Опубликовано 24 сентября, 2005 Уважаемый lost81, психически здоровые люди ночью спят, а не пялятся в монитор в ожидании того, когда какой-нибудь нуб заделает тему там где не следует.Перенесено. Ссылка на комментарий Поделиться на другие сайты Поделиться
LonWolf Опубликовано 24 сентября, 2005 Жалоба Поделиться Опубликовано 24 сентября, 2005 Темный темный лес. Тихий ужос. :1anim_ag: Я так полагаю, скрипт должен выполняться постоянно, чтобы осуществить проверку, без остановки чем-нибудь, так что StopScript в данном случае не нужен. Попрубуй вот это, сунь в StartScript.begin EK_BonusMagicPoint short varBonus short varEnchant short varDestruction short varAlteration short varIllusion short varConjuration short varMysticism short varRestoration short varIntelligence short varWillpower short doonce short curEnchant short curDestruction short curAlteration short curIllusion short curConjuration short curMysticism short curRestoration short curIntelligence short curWillpower Set curEnchant to ( Player -> GetEnchant ) Set curDestruction to ( Player -> GetDestruction ) Set curAlteration to ( Player -> GetAlteration ) Set curIllusion to ( Player -> GetIllusion ) Set curConjuration to ( Player -> GetConjuration ) Set curMysticism to ( Player -> GetMysticism ) Set curRestoration to ( Player -> GetRestoration ) Set curIntelligence to ( Player -> GetIntelligence ) Set curWillpower to ( Player -> GetWillpower ) Set varBonus to ( ( curIntelligence / 20 ) + ( curWillpower / 30 ) ) if ( doonce == 0 ) Set varEnchant to ( Player -> GetEnchant ) Set varDestruction to ( Player -> GetDestruction ) Set varAlteration to ( Player -> GetAlteration ) Set varIllusion to ( Player -> GetIllusion ) Set varConjuration to ( Player -> GetConjuration ) Set varMysticism to ( Player -> GetMysticism ) Set varRestoration to ( Player -> GetRestoration ) Set doonce to 1 endif if ( varEnchant != curEnchant ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varEnchant to curEnchant endif if ( varDestruction != curDestruction ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varDestruction to curDestruction endif if ( varAlteration != curAlteration ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varAlteration to curAlteration endif if ( varIllusion != curIllusion ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varIllusion to curIllusion endif if ( varConjuration != curConjuration ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varConjuration to curConjuration endif if ( varMysticism != curMysticism ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varMysticism to curMysticism endif if ( varRestoration != curRestoration ) Player -> ModMagicka, varBonus MessageBox, "Предел магической энергии увеличен на %varBonus", varBonus Set varRestoration to curRestoration endif End На самом деле значения навыков float, но заданный тип переменных short по идее автоматически округлит все. Ссылка на комментарий Поделиться на другие сайты Поделиться
Equilibrium Keeper Опубликовано 24 сентября, 2005 Автор Жалоба Поделиться Опубликовано 24 сентября, 2005 lost81Меня посьiлают вот сюdа при попьiтке учебничек скачат реклама на форуме запрещена, читай правилаerror.fullrest.net/404.html =) Есть рабочая ссьiлка? MorfiXЭто наезd? =DИзвиняюсь, не заметил разdел... LonWolfОгромное спасибо! Счаз попробую. =) Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 26 сентября, 2005 Жалоба Поделиться Опубликовано 26 сентября, 2005 MorfiX сказал: Уважаемый lost81, психически здоровые люди ночью спят, а не пялятся в монитор в ожидании того, когда какой-нибудь нуб заделает тему там где не следует.Перенесено.<{POST_SNAPBACK}> :) похвально! ;) 2 Equilibrium Keeper Да есть... здесь Ссылка на комментарий Поделиться на другие сайты Поделиться
Equilibrium Keeper Опубликовано 26 сентября, 2005 Автор Жалоба Поделиться Опубликовано 26 сентября, 2005 Санькс. =) Ссылка на комментарий Поделиться на другие сайты Поделиться
al Tor Опубликовано 28 сентября, 2005 Жалоба Поделиться Опубликовано 28 сентября, 2005 Предела магической энергии, как отдельной самостоятельной величины, не существует.Есть значение интеллекта, коэффициент отношения интеллекта к мане иэффект увеличения количества маны на N пунктов.Таким образом предел маны пересчитывается при изменении одной из этих величин, и затея не так проста, как кажется на первый взгляд. Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 Вот отрезок скрипта: elseif ( state == 3 ) messagebox "Well, why don't you tell me about yourself? I already know you're brave and resourceful, but how did you get started adventuring in Vvardenfel?" "I came here aboard a prisonship." "Can we cut the smalltalk? I just want to get some sleep." set state to 5 При компиляции выдает, что соманды "aboard" не существует, но скрипт в игре работает, а мне этот "messagebox" надо перевести на русский и естно перекомпилить. А если всё сделать в одну строчку, то и в игре будет в одну строчку и весь текст не влезет. Просто вставится середина, а начало и конец вижно не будет.В игре он работает без ошибок.Мож придумка какая есть на этот счёт? Ссылка на комментарий Поделиться на другие сайты Поделиться
LonWolf Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 Мож придумка какая есть на этот счёт?Переведи, а затем сохрани скрипт в esp любым альтернативным редактором, например MWEdit Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 LonWolf И в нём ошибку выдает. А есть ещё редакторы? Ссылка на комментарий Поделиться на другие сайты Поделиться
LonWolf Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 EnchantedEditorНасколько я помню. он не компилирует скрипты, так что ошибку не выдаст. Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 LonWolf Попробую. Но если без компилирования, то в игре используются старые скрипты(и где она их выковыривает?) и пишется ошибка, но уже в новом скрипте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Argon Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 2CemKey. Так разбей фразу на две с помощью двух messagebox да и все. Только кавычки лишние убери. Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 Argon Не поможет.И лишних кавычек там нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Boblen Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 Там есть какой-то хитрый прием с тем, что нужно в шестнадцатеричном редакторе вставить символ перевода каретки... Большего, к сожалению, не помню. Ссылка на комментарий Поделиться на другие сайты Поделиться
LonWolf Опубликовано 11 февраля, 2006 Жалоба Поделиться Опубликовано 11 февраля, 2006 Аха... Вот оно: Можно добавлять символы «возврат каретки» в сообщения, но это требует редактирования esp. Добавьте какие-нибудь необычные символы вроде || и сохраняйте esp. Затем откройте шестнадцатеричный редактор и замените || на 0D0A (код для возврата каретки). Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 12 февраля, 2006 Жалоба Поделиться Опубликовано 12 февраля, 2006 Спсибо вам люди добрые! :1anim_ab: Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти