The following warnings occurred:
Warning [2] Undefined array key "extra" - Line: 100 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 100 errorHandler->error
/inc/plugins/google_seo.php 317 require_once
/inc/class_plugins.php 38 require_once
/inc/init.php 239 pluginSystem->load
/global.php 20 require_once
/showthread.php 28 require_once
Warning [2] Undefined array key "parent" - Line: 447 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 447 errorHandler->error
/inc/plugins/google_seo/url.php 1144 google_seo_url_create
/inc/plugins/google_seo/url.php 174 google_seo_url_hook
/inc/plugins/google_seo.php 317 require_once
/inc/class_plugins.php 38 require_once
/inc/init.php 239 pluginSystem->load
/global.php 20 require_once
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Trying to access array offset on value of type null - Line: 198 - File: inc/plugins/google_seo.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo.php 198 errorHandler->error
/inc/plugins/google_seo/redirect.php 133 google_seo_tid
/inc/class_plugins.php 142 google_seo_redirect_hook
/global.php 100 pluginSystem->run_hooks
/showthread.php 28 require_once
Warning [2] Undefined array key 91021 - Line: 198 - File: inc/plugins/google_seo.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo.php 198 errorHandler->error
/inc/plugins/google_seo/url.php 1453 google_seo_tid
/inc/functions.php 6300 google_seo_url_post
/inc/plugins/google_seo/redirect.php 134 get_post_link
/inc/class_plugins.php 142 google_seo_redirect_hook
/global.php 100 pluginSystem->run_hooks
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 573 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 752 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 752 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 892 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 892 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $newpmmsg - Line: 34 - File: global.php(956) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/global.php(956) : eval()'d code 34 errorHandler->error
/global.php 956 eval
/showthread.php 28 require_once
Warning [2] Undefined variable $messagestyle - Line: 45 - File: global.php(959) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/global.php(959) : eval()'d code 45 errorHandler->error
/global.php 959 eval
/showthread.php 28 require_once
Warning [2] Undefined variable $boardmessage - Line: 45 - File: global.php(959) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/global.php(959) : eval()'d code 45 errorHandler->error
/global.php 959 eval
/showthread.php 28 require_once
Warning [2] Undefined array key "style" - Line: 1024 - File: global.php PHP 8.1.28 (Linux)
File Line Function
/global.php 1024 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 5342 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 5342 errorHandler->error
/global.php 1024 build_theme_select
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$bottomlinks_returncontent - Line: 7 - File: global.php(1059) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/global.php(1059) : eval()'d code 7 errorHandler->error
/global.php 1059 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 606 - File: inc/plugins/simpleckeditor.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/simpleckeditor.php 606 errorHandler->error
/inc/plugins/simpleckeditor.php 517 simpleckeditor_is_allowed
/inc/class_plugins.php 142 setCKeditor
/global.php 1253 pluginSystem->run_hooks
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 606 - File: inc/plugins/simpleckeditor.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/simpleckeditor.php 606 errorHandler->error
/inc/plugins/simpleckeditor.php 233 simpleckeditor_is_allowed
/inc/plugins/simpleckeditor.php 521 simpleckeditor
/inc/class_plugins.php 142 setCKeditor
/global.php 1253 pluginSystem->run_hooks
/showthread.php 28 require_once
Warning [2] Undefined array key 3 - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1381 google_seo_url_cache
/inc/functions.php 6219 google_seo_url_forum
/inc/functions.php 4607 get_forum_link
/inc/functions.php 4579 build_forum_breadcrumb
/inc/functions.php 4579 build_forum_breadcrumb
/showthread.php 458 build_forum_breadcrumb
Warning [2] Trying to access array offset on value of type null - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1381 google_seo_url_cache
/inc/functions.php 6219 google_seo_url_forum
/inc/functions.php 4607 get_forum_link
/inc/functions.php 4579 build_forum_breadcrumb
/inc/functions.php 4579 build_forum_breadcrumb
/showthread.php 458 build_forum_breadcrumb
Warning [2] Undefined array key 42 - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1381 google_seo_url_cache
/inc/functions.php 6219 google_seo_url_forum
/inc/functions.php 4607 get_forum_link
/inc/functions.php 4579 build_forum_breadcrumb
/showthread.php 458 build_forum_breadcrumb
Warning [2] Undefined array key 43 - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1381 google_seo_url_cache
/inc/functions.php 6219 google_seo_url_forum
/inc/functions.php 4600 get_forum_link
/showthread.php 458 build_forum_breadcrumb
Warning [2] Undefined array key 1 - Line: 606 - File: inc/plugins/simpleckeditor.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/simpleckeditor.php 606 errorHandler->error
/inc/plugins/simpleckeditor.php 543 simpleckeditor_is_allowed
/inc/class_plugins.php 142 ckeditorQuickreply
/showthread.php 461 pluginSystem->run_hooks
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1483 - File: inc/functions.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions.php 1483 errorHandler->error
/inc/functions.php 1448 fetch_forum_permissions
/inc/functions.php 3086 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined array key 1 - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1347 google_seo_url_cache
/inc/functions.php 6136 google_seo_url_profile
/inc/functions_post.php 251 get_profile_link
/showthread.php 1126 build_postbit
Warning [2] Trying to access array offset on value of type null - Line: 833 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 833 errorHandler->error
/inc/plugins/google_seo/url.php 1347 google_seo_url_cache
/inc/functions.php 6136 google_seo_url_profile
/inc/functions_post.php 251 get_profile_link
/showthread.php 1126 build_postbit
Warning [2] Undefined array key 91021 - Line: 198 - File: inc/plugins/google_seo.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo.php 198 errorHandler->error
/inc/plugins/google_seo/url.php 1453 google_seo_tid
/inc/functions.php 6300 google_seo_url_post
/inc/functions_post.php 667 get_post_link
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "showimages" - Line: 768 - File: inc/functions_post.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php 768 errorHandler->error
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 773 - File: inc/functions_post.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php 773 errorHandler->error
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "showimages" - Line: 811 - File: inc/functions_post.php PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php 811 errorHandler->error
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "posttime" - Line: 9 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 9 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "avatar_padding" - Line: 19 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 19 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "newpoints_postbit" - Line: 31 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 31 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "quick_quote" - Line: 49 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 49 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "button_tyl" - Line: 59 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 59 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "tyl_display" - Line: 63 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 63 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "thankyoulike_data" - Line: 64 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 64 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "tyl_display" - Line: 66 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 66 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "thankyoulike_data" - Line: 67 - File: inc/functions_post.php(906) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/inc/functions_post.php(906) : eval()'d code 67 errorHandler->error
/inc/functions_post.php 906 eval
/showthread.php 1126 build_postbit
Warning [2] Undefined array key "invisible" - Line: 1568 - File: showthread.php PHP 8.1.28 (Linux)
File Line Function
/showthread.php 1568 errorHandler->error
Warning [2] Undefined array key "g33k_fitonpage_enabled" - Line: 15 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 15 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_fitonpage_resize" - Line: 16 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 16 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_fitonpage_fluid" - Line: 17 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 17 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined property: MyLanguage::$fitonpage_topbar_resized - Line: 18 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 18 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined property: MyLanguage::$fitonpage_topbar_full - Line: 19 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 19 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_fitonpage_topbar_text_class" - Line: 20 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 20 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_fitonpage_topbar_bground" - Line: 21 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 21 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_fitonpage_topbar_icon" - Line: 22 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 22 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_thankyoulike_enabled" - Line: 29 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 29 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_thankyoulike_collapsible" - Line: 30 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 30 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_thankyoulike_enabled" - Line: 37 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 37 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined array key "g33k_thankyoulike_collapsible" - Line: 38 - File: showthread.php(1600) : eval()'d code PHP 8.1.28 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 38 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined variable $newurl - Line: 1609 - File: inc/plugins/google_seo/url.php PHP 8.1.28 (Linux)
File Line Function
/inc/plugins/google_seo/url.php 1609 errorHandler->error
/inc/functions.php 1052 google_seo_url_multipage
/inc/functions.php 4501 multipage
/inc/functions.php 291 build_breadcrumb
/inc/functions.php 22 parse_page
/showthread.php 1601 output_page





Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Guide to amorilia's NIF Optimizer script
10-10-2007, 11:37 PM,
#1
Guide to amorilia's NIF Optimizer script
My name is Razorwing from the Silgrad Tower team. If you're a 3D Studio Max modeller like me and haven't tried amorilia's script before you'll most likely want to read this information.

First I'll make a run-of-the-mill disclaimer that you're using this method at your own risk. It's not tested 100% and could cause you problems. All I can say is that I've used it quite a lot myself and haven't experienced any problems at all.

The 3D Studio Max exporter created by the Niftools group has a ton of perks. Whom can't love the ability to set up arrangements of box collision straight in the program, or why not the amazing ability to create convex shapes. But the exporter does have one flaw, and unfortunately it's a very serious one. It bloats your model with hundreds, sometimes thousands, of redundant and invisible faces. If you haven't noticed the effect before, select your model in 3D Studio Max's viewport then right-click and choose 'Properties...'. Note how many faces Max says the model has. Now open the nif in Nifskope and check out how many "Num Triangles" are reported on the NiTriStripsData block (use a calculator if you have multiple NiTriStrips). You can also see the number reported in the status bar of the Construction Set by selecting it in the world window.

[Image: th_PythonScriptBeforeOptimize.jpg]
My wooden cup exported from Max - 779 faces

In the case of my wooden cup Max says it has 219 faces while Nifskope says it has 779 faces -- in other words, the export process has bloated the model by 350% (!). You can imagine the problem becomes dire if you place ten wooden cups in a home since you'll lose ~5,500 faces from the facecount budget. If you use a lot of custom models like Silgrad Tower does then you can imagine how the problem affects an interior. For instance development ceased on one of our taverns because the facecount budget had been maxed out, tallying 452,349 faces, and the only remedy would have been to divide it into two cells. But after running amorilia's script on our model library the tavern's facecount shrunk to an astonishing 284,257 faces in one fell swoop!

The problem with bloated faces can't be remedied in either 3D Studio Max nor Nifskope. You can achieve a slight optimization by restripifying the model through Nifskope, but it's not a substantial improvement and half the time the process actually increase the number of faces. It would also seem you can save a lot of faces by not stripifying your model -- unticking the "Generate Strips" option on the 3D Studio Max export panel -- but that is a really bad idea, so I won't go into detail on how those methods work. I just wanted to mention them in case the question came up as to why the methods weren't used.

[Image: th_PythonScriptAfterOptimize.jpg]
My wooden cup after amorilia's script - 219 faces

But as it happens, the Blender exporter does not have the same problem with bloating as the 3D Studio Max exporter does. And thankfully amorilla, head of Blender script development over at Niftools, has created a script that optimizes nif files outside of Blender. As a sweet bonus the script also updates the tangent spaces of your models, which is a real timesaver. The algorhitm for updating tangent spaces seem on par with Nifskopes, while the 3D Studio Max exporter's UTS function is slightly worse (but better than no UTS at all, obviously).

The script is written in a different language than Nifskope is, so it's not likely it will be incorporated into the program in the foreseeable future. But one of the great things about using the script vs. importing/re-exporting through Blender is that it can do batch operations.

To get the script to work you'll need to get Python 2.5 and PyFFI 0.4.7 (or later versions if you're reading this in the future). Python is a freeware programming language and executable, while amorilia's PyFFI is an interface of sorts between Python and nif files. You'll also need to work through DOS, but if you're uncomfortable using it then don't worry - I'll explain all the steps.

1. Install Python first, and then PyFFI.

2. Create a folder called "python" on your root C:\ drive.

3. Make a full backup of all nifs you plan to optimize before proceeding. The script is not yet fully tested and if it runs into a nif it doesn't understand it may corrupt it and thereby destroy it.

4. Copy the nifs you want to optimize to "C:\python". You might be tempted to drop a large number of models there, but I wouldn't advise that since the script stops when it runs into a nif it doesn't understand, so it's best to do it one folder at a time.

5. Open the start menu in Windows and select Run (img). In the popup, write cmd and hit enter (img). Now a DOS window will appear. Write the following. <enter> means hit the enter key without leaving a blankspace at the end.
cd C:\Program Files\Python25 <enter>
python Scripts\niftoaster.py optimize "C:\python" <enter>

[Image: th_PythonScriptInDos.jpg]
This is what the DOS window should look like if using the default commands.
NOTE: The code has changed in recent versions of the script. Don't write nifoptimize.py,
write like in the paragraph above:
niftoaster.py optimize

NOTES.
- In the first line you tell DOS to browse to your Python install folder. If you didn't install it in the same folder as I did then just replace the local url with your own local url. If you're unsure what the local url is, open the start menu then go to "Programs > Python 2.5", right-click any of the shortcuts and choose properties. Open the Shortcut tab, where the local url is displayed in the "Target:" textbox. Write that url in your DOS window in the same format as the example.
- In the second line you're telling DOS to make Python run a script and process everything in the folder C:\python. If you created a different folder, for instance because your harddrive has the device letter D:\, just write that instead.

6. If everything works like it should, you should get a warning and a confirmation prompt. Write the letter Y (in uppercase) and hit return. Now the program will work it's way through all the nifs in the folder.

NOTES.
If the script comes across a nif it doesn't understand it will stop working and display an error. Just to avoid any risk of using a corrupted nif you should delete everything in the C:\python folder and start the process over again - but this time without the nif that caused you problems.

7. Don't forget to doublecheck that all nifs work afterwards. If it opens in Nifskope and look alright then I'd say it's a safe bet it's not corrupted.

Good luck, and happy optimizing!










Addendum.
Since I wrote this article it became possible to optimize nifs straight from Windows by right-clicking it and choosing "Optimize with PyFFI". If you, like me, don't want to optimize material names, here's how to do it. I originally posted this on the Niftools forum on Jan 20th 2008.

I love almost everything about the optimizer, but one thing I'm not so fond of is that it optimizes the NiMaterialProperties. I like to name my NiMaterialProperty blocks the same as the texture they use, and by default the optimizer 'confuses' them. The nif does become more optimized that way - to what extent I'm not sure - but to me, it makes the nif more confusing when I work with it in Nifskope. I'm grateful amorilia added a feature that lets the user skip certain parts of the optimization, which he describes on the CS Wiki.

But how to get that to work with the "Optimize with PyFFI" option you get when you right-click a nif? I love that new feature and use it a lot Big Grin What I did was I opened a folder, then went to "Tools > Folder Options...". On the File Types tab, scroll down to the NIF entry and click on the Advanced button. Select Optimize with PyFFI and click the "Edit..." button.

In the text box under Application used to perform action, replace the text string with this:
"C:\Program Files\Python25\python.exe" "C:\Program Files\Python25\Scripts\niftoaster.py" optimize -x NiMaterialProperty --pause "%1"
In older versions of the script, the command is: "C:\Program Files\Python25\python.exe" "C:\Program Files\Python25\Scripts\nifoptimize.py" -x NiMaterialProperty --pause "%1"

Click OK to close the window, OK to close the window underneath, and Close to return to the folder. Next time you use the command the script won't optimize the NiMaterialProperty blocks.
¤ How to add images or files to your post ¤ Silgrad's UBBCode
My pet peeve: huge images in img code. I reserve the right to make any such image into a clickeable thumbnail whenever I see it.
Angel mired in filth
[Image: SignatureBannerRazorwing.jpg]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)