Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
vbBux / vbPlaza v1.5.8 (Points + Store System) Details »»
vbBux / vbPlaza v1.5.8 (Points + Store System)
Version: 1.5.8, by CMX_CMGSCCC CMX_CMGSCCC is offline
Developer Last Online: Sep 2014 Show Printable Version Email this Page

Category: Major Additions - Version: 3.5.4 Rating:
Released: 02-01-2006 Last Update: 07-13-2006 Installs: 771
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

vbBux / vbPlaza v1.5.8 by CMX (http://www.cmgsccc.com)
Official Homepage - http://www.vbplaza.com

v1.5.7 AND HIGHER are now compatible with vBulletin v3.5.x and v3.6.x

Welcome to the largest points/store system for vBulletin! READ THE ENTIRE POST AGAIN AS THERE HAVE BEEN CHANGES SINCE THE CONVERSION TO vbBux / vbPlaza!!

Credits: MrZeropage for ibProArcade Support, John for v3 Arcade Support, Caimakale for various additions including ribbons and his other addons for vbPlaza, defi for the addon for Paypal Subscriptions.

New Premium Modification Forum: https://vborg.vbsupport.ru/forumdisplay.php?f=171
If you post a new thread in there, it will be easier to track the answer to your thread folks!

Now with 135 Options for purchasing at your forums and this is still rising folks!

NOTE: As of this version, there is a Template Patcher helper inside the Admin CP. Admin CP -> vbPlaza Maintenance -> Auto Patch Templates, when you run this the first time, it will just list the changes that it has found/not found. If you press Attempt Auto Patches, it will modify the template changes it has found only. It will also modify all styles for your forums. I have tested this on all 3 of my licensed vBulletin production websites and the patches all worked great.

UPDATED MUST READ NOTES:
1) RE-READ THE UPGRADING OR NEW INSTALLATION INSTRUCTIONS AS THEY HAVE CHANGED FROM THE PREVIOUS VERSIONS!!
2) IF UPGRADING FROM A PREVIOUS VERSION OF eBux / eStore. YOU MUST INSTALL THIS ONE FIRST TO SAVE YOUR SETTINGS. (BUT YOU WOULD KNOW THIS IF YOU READ THE UPGRADING INSTRUCTIONS!! DONT SAY I DIDNT WARN YOU!!)

Branding Free Option
If you have donated in the past, you can get the Branding Free Option for Free by sending CMX a PM on the http://www.vbplaza.com/forums Message Board.
Otherwise, you will need to purchase it by signing up for an account at http://www.vbplaza.com/forums/register.php and then going to http://www.vbplaza.com/forums/payments.php

Features List:
This section has been moved due to its length. Look in the file included insize the zip named features.txt.

Release Notes:
This section will only show the most recent changes. For the rest of the changes, look in the file included inside the zip named changes.txt.

NOTE: If you want ibProArcade, v3 Arcade or vBookie integration now, you'll have to install the appropriate Addon included in the download. The reason for these parts being packaged as Addons, is to make the install a little smaller for users who do not have an Arcade, and because both Arcades cant be installed simultaneously as well. So it saves space only installing the one that you currently have.

v1.5.8 Updates:
1) Bugfix: Quick editing a post with BB Codes, modified the post directly instead of modifying a copy.
2) Bugfix: Some phrases fixed.
3) Bugfix: TABLEPREFIX bug has been fixed.
4) Bugfix: Addon Product XML sheets do not have executionorder in them anymore for vB 3.5 compatibility.

Database Backups Recommended!
Although I have upgraded 3 forums with this script already, it IS recommended that you backup your database before installing this product!!

Upgrading Instructions:
NOTE: THESE INSTRUCTIONS ARE FOR UPGRADING IF YOU HAD A PREVIOUS VERSION OF eBux / eStore INSTALLED!!
1) DO NOT UNINSTALL eBux / eStore (UNLESS YOU WANT TO LOSE ANY AND ALL SETTINGS.)
2) Reupload all of the files in the upload folder to your forum's root folder. Make sure that all files are being overwritten. Do not move on to the next step until all files are transferred successfully!
NOTE: It could take a long time to install if you have a lot of registered users, be PATIENT! It should display the messages as it goes along to let you know that it IS working.
3) After finished with step 2!! Reimport the product-vbbuxplaza.xml file via Admin CP -> Plugin System -> Manage Products -> Add/Import Product. Make sure that Allow Overwrite is set to YES.
4) Refresh the Admin CP and you will see all of the vbBux / vbPlaza Admin CP features at the top.
5) UNINSTALL THE OLD eBux / eStore NOW!! Go to Admin CP -> Plugin System -> Manage Products -> eBux / eStore -> Uninstall.
6) You can delete all files/folders that have the word estore or elottery in them from the FTP as well.
7) You will need to redo the template edits listed below as almost all of them have changed since the previous eBux / eStore.

If upgrading from a previous version of vbBux / vbPlaza follow these instructions:
1) Reupload all of the files in the upload folder to your forum's root folder. Make sure that all files are being overwritten. Do not move on to the next step until all files are transferred successfully!
2) After finished with step 2!! Reimport the product-vbbuxplaza.xml file via Admin CP -> Manage Products -> Add/Import Product. Make sure that Allow Overwrite is set to YES.
3) Refresh the Admin CP and get to checking your settings!
NOTE: You will be happy know that NO templates have been updated from v1.5.0 to v1.5.2!

New Installation Instructions:
1) Upload all of the files/folders in the UPLOAD folder to your forum's root folder.
2) Import the product-vbbuxplaza.xml via Admin CP -> Manage Products -> Add/Import Product.
NOTE: It could take a long time to install if you have a lot of registered users, be PATIENT! It should display the messages as it goes along to let you know that it IS working.
3) Refresh the Admin CP and start setting up your settings!
4) You will need to do all of the template edits listed below as well.

Template Edits:
A) Inside templates 'postbit' AND 'postbit_legacy':

Find:
Code:
<div id="postmenu_$post[postid]">
Replace With:
Code:
<!-- vbPlaza start -->
<div id="postmenu_$post[postid]" <if condition="$post['namestyle']">style="$post[namestyle]"</if>>
<!-- vbPlaza end -->
Next Find:
Code:
<if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
<if condition="$post['usertitle']"><div class="smallfont" <if condition="$post['titlestyle']">style="$post[titlestyle]"</if>>$post[usertitle]</div></if>
<!-- vbPlaza end -->
Then Find:
Code:
$vbphrase[posts]: $post[posts]
Replace With:
Code:
$vbphrase[posts]: $post[posts]
<!-- vbPlaza start -->
<if condition="$show['pointsinpostbit']"><br />
$vbphrase[vbbux_points]: $post[points]<br />
$vbphrase[vbbux_bank]: $post[bank]<br />
<phrase 1="$vbphrase[vbbux_points]">$vbphrase[vbbux_total_points]</phrase>: $post[totalpoints]<br />
<a href="vbplaza.php?do=donate&amp;userid=$post[userid]">$vbphrase[vbplaza_donate]</a><br />
</if>
<!-- vbPlaza end -->
Then Find:
Code:
				<div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div>
Add Below:
Code:
<!-- vbPlaza start -->
				<if condition="$post['giftsdisplay']"><div class="smallfont">$post[giftsdisplay]</div></if>
				<if condition="$post['ribbonsdisplay']"><div class="smallfont">$post[ribbonsdisplay]</div></if>
<!-- vbPlaza end -->
B) Inside template 'navbar':

Find:
Code:
		<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
		<if condition="$show['popups']">
Add Below:
Code:
<!-- vbPlaza start -->
			<if condition="$show['member']">
				<if condition="$vboptions['vbplaza_enabled']"><td id="vbplazamenu" class="vbmenu_control"><a href="$show[nojs_link]#vbplazamenu">$vbphrase[vbplaza_name] $vbphrase[vbplaza_menu]</a> <script type="text/javascript"> vbmenu_register("vbplazamenu"); </script></td></if>
			</if>
<!-- vbPlaza end -->
Then Find:
Code:
<!-- / NAVBAR POPUP MENUS -->
Add Above:
Code:
<!-- vbPlaza start -->
	<if condition="$show['member']">
	<!-- vbplaza tools menu -->
	<div class="vbmenu_popup" id="vbplazamenu_menu" style="display:none">
		<table cellpadding="4" cellspacing="1" border="0">

		<tr><td class="thead"><a href="vbplaza.php?$session[sessionurl]">$vbphrase[vbplaza_name] $vbphrase[vbplaza_main]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=48">$vbphrase[vbplaza_lottery]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=27">$vbphrase[vbplaza_give_gifts]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=118">$vbphrase[vbplaza_give_ribbons]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=13">$vbphrase[vbbux_bank]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=7">$vbphrase[vbplaza_donate]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=16">$vbphrase[vbplaza_thief]</a></td></tr>

		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=richestusers">$vbphrase[vbbux_richest_users]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=userhistory">$vbphrase[vbplaza_history]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=mostsold">$vbphrase[vbplaza_most_sold]</a></td></tr>

		<if condition="is_member_of($vbulletin->userinfo, $vboptions['vbplaza_adminusergroups'])">
			<tr><td class="thead">$vbphrase[vbplaza_admin_only]</a></td></tr>
			<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=12">$vbphrase[vbplaza_admin_donate]</a></td></tr>
		</if>

		</table>
	</div>
	<!-- / vbplaza tools menu -->
	</if>
<!-- vbPlaza end -->
C) Inside template 'MEMBERINFO':

Find:
Code:
				<div class="bigusername">$userinfo[musername] $userinfo[onlinestatus]</div>
Replace With:
Code:
<!-- vbPlaza start -->
				<div class="bigusername" <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>>$userinfo[musername] $userinfo[onlinestatus]</div>
<!-- vbPlaza end -->
Next Find:
Code:
				<if condition="$userinfo['usertitle']"><div class="smallfont">$userinfo[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
				<if condition="$userinfo['usertitle']"><div class="smallfont" <if condition="$userinfo['titlestyle']">style="$userinfo[titlestyle]"</if>>$userinfo[usertitle]</div></if>
<!-- vbPlaza end -->
Then Find:
Code:
			<if condition="$vboptions['usereferrer']">
Add Above:
Code:
<!-- vbPlaza start -->
			<if condition="$vboptions['vbbux_enabled']">$show[vbbuxuserinfo]</if>
			<if condition="$show['gifts']">$show[gifts]</if>
			<if condition="$show['ribbons']">$show[ribbons]</if>
<!-- vbPlaza end -->
D) Inside template 'forumrules':

Find:
Code:
		<div><phrase 1="$htmlcodeon">$vbphrase[html_code_is_x]</phrase></div>
Add Below:
Code:
<!-- vbPlaza start -->
		<if condition="$vboptions['vbbux_enabled']">
			<if condition="!$show['codeonly']">
			<hr />
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perview]">$vbphrase[vbbux_points_perview]</phrase></div>
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perthread]">$vbphrase[vbbux_points_perthread]</phrase></div>
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perreply]">$vbphrase[vbbux_points_perreply]</phrase></div>
			</if>
		</if>
<!-- vbPlaza end -->
E): Inside template 'USERCP_SHELL':

Find:
Code:
<if condition="$show['avatarlink']">
Add Above:
Code:
<!-- vbPlaza start -->
<if condition="$vboptions['vbplaza_enabled']">
	<tr>
		<td class="$navclass[vbplaza]" nowrap="nowrap"><a class="smallfont" href="vbplaza.php?$session[sessionurl]do=editvbpoptions"><phrase 1="$vbphrase[vbplaza_name]">$vbphrase[edit_vbplaza_options]</phrase></a></td>
	</tr>
</if>
<!-- vbPlaza end -->
F): Inside template 'threadbit':

Find:
Code:
		$thread[title_editable]
		<div>
Replace With:
Code:
<!-- vbPlaza start -->
		$thread[title_editable]
		<div <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>
<!-- vbPlaza end -->
vBulletin 3.5.x Only Edit:

Next Find:
Code:
			<if condition="$show['gotonewpost']">
				<strong><a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]">$thread[threadtitle]</a></strong>
			<else />
				<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]">$thread[threadtitle]</a>
			</if>
Replace With:
Code:
<!-- vbPlaza start -->
			<if condition="$show['gotonewpost']">
				<strong><a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]" <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a></strong>
			<else />
				<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]" <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a>
			</if>
<!-- vbPlaza end -->

vBulletin 3.6.x Only Edit:

Next Find:
Code:
			<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]"<if condition="$show['gotonewpost']"> style="font-weight:bold"</if>>$thread[threadtitle]</a>
Replace With:
Code:
			<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]"<if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a>
G): Inside template 'memberlist_resultsbit':

Find:
Code:
		<a href="member.php?$session[sessionurl]u=$userinfo[userid]">$userinfo[musername]</a>
		<if condition="$show['usertitlecol']"><div class="smallfont">$userinfo[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
		<div <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>><a href="member.php?$session[sessionurl]u=$userinfo[userid]" <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>>$userinfo[musername]</a></div>
		<if condition="$show['usertitlecol']"><div class="smallfont" <if condition="$userinfo['titlestyle']">style="$userinfo[titlestyle]"</if>>$userinfo[usertitle]</div></if>
<!-- vbPlaza end -->
-CMX

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #242  
Old 02-03-2006, 11:57 PM
Ignignokt's Avatar
Ignignokt Ignignokt is offline
 
Join Date: Aug 2005
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by forumsoup.com
I installed the version 1.0.0 (from yesterday). How do I upgrade?
Open your eyes and read?

1. Upload all files
2. Reupload xml product and enable overwriting
Reply With Quote
  #243  
Old 02-04-2006, 12:35 AM
CMX_CMGSCCC CMX_CMGSCCC is offline
 
Join Date: Sep 2003
Posts: 1,218
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by HR3rdGen
Can we develope add-on's for this? I was just thinking of a vbgallery add-on, allowing members to increase diskspace
Yes, you can make addons, however if you do, start using itemid's at 100 and higher, I want to reserve the first 100 slots for any items that I build into the hack directly.

I really need to get the Add Action feature done for the next version. I'm releasing v1.0.4 now, but not sure when I'll get to update it again. It might be AFTER the weekend. So don't be surprised if there are no updates on the weekend, I have to have some days off too

-CMX
Reply With Quote
  #244  
Old 02-04-2006, 01:00 AM
Mr Peabody Mr Peabody is offline
 
Join Date: May 2004
Posts: 105
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the update
Reply With Quote
  #245  
Old 02-04-2006, 01:00 AM
KennethS KennethS is offline
 
Join Date: Nov 2005
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm having a problem with it. I did edit postbit and now it says this under amount of posts:

Join Date: Feb 2006
Code:
 Posts: 2
:
If you dont understand what im saying to go http://www.thevlife.com/eForums/showthread.php?t=1 and look under posts.
Reply With Quote
  #246  
Old 02-04-2006, 01:09 AM
Dark s.s. Trunk's Avatar
Dark s.s. Trunk Dark s.s. Trunk is offline
 
Join Date: Apr 2004
Location: Good Guestion its dark
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Update is great, no problems here... thanx keep up the good work man
Reply With Quote
  #247  
Old 02-04-2006, 01:10 AM
KennethS KennethS is offline
 
Join Date: Nov 2005
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm having a problem with it. I did edit postbit and now it says this under amount of posts:

Join Date: Feb 2006
Posts: 2
:

If you dont understand what im saying to go http://www.thevlife.com/eForums/showthread.php?t=1 and look under posts.
Reply With Quote
  #248  
Old 02-04-2006, 01:11 AM
Michael_Tree Michael_Tree is offline
 
Join Date: Aug 2005
Posts: 56
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do I give points away upon registeration?
Reply With Quote
  #249  
Old 02-04-2006, 01:14 AM
incurable incurable is offline
 
Join Date: Apr 2005
Location: pink jar~*
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

gosh thank you for the update !! it's so nice !!
Reply With Quote
  #250  
Old 02-04-2006, 01:15 AM
CMX_CMGSCCC CMX_CMGSCCC is offline
 
Join Date: Sep 2003
Posts: 1,218
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by KennethS
I'm having a problem with it. I did edit postbit and now it says this under amount of posts:

Join Date: Feb 2006
Code:
 Posts: 2
:
If you dont understand what im saying to go http://www.thevlife.com/eForums/showthread.php?t=1 and look under posts.
What version do you have installed?

-CMX
Reply With Quote
  #251  
Old 02-04-2006, 01:16 AM
CMX_CMGSCCC CMX_CMGSCCC is offline
 
Join Date: Sep 2003
Posts: 1,218
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Michael_Tree
How do I give points away upon registeration?
eBux Setting: Points For Registerring

-CMX
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:48 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06520 seconds
  • Memory Usage 2,357KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (32)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete