vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Major Additions - Realm Conquest System (https://vborg.vbsupport.ru/showthread.php?t=211920)

Digital Jedi 06-05-2009 05:37 AM

Quote:

Originally Posted by Sugoi na (Post 1823629)
/claps for the fourth person to say the same thing as the previous people including myself.

Good work!

I was clarifying, because the way it was being explained wasn't sinking in.

Collussus 06-05-2009 06:37 PM

Quote:

Originally Posted by Sugoi na (Post 1822339)
U= User my friend.

Good try though!

UserID & ForumID are 2 different things.

even if that's true. You clearly haven't looked at the tables of conquest, which i have.

In the table conquest_players, you have "pID" which is the player ID inside conquest.

And you also have "forumID", which is linked to the USER ID of the forum.


Next time you try and correct me, do your research on how the game mechanics work.

Sugoi na 06-05-2009 06:56 PM

Quote:

Originally Posted by Collussus (Post 1824074)
even if that's true. You clearly haven't looked at the tables of conquest, which i have.

In the table conquest_players, you have "pID" which is the player ID inside conquest.

And you also have "forumID", which is linked to the USER ID of the forum.


Next time you try and correct me, do your research on how the game mechanics work.

Take a moment & read the posts on page 24. Please stop acting like some big shot because you clearly havn't done anything to impress. I was clarifying a point & you wanted to get wise.

Your wrong. Admit it & grow up.

Quote:

You clearly haven't looked at the tables of conquest, which i have.
Hahaha. We said things like this back in first grade. You sure showed me Mr!

Digital Jedi 06-05-2009 08:15 PM

Quote:

Originally Posted by Collussus (Post 1824074)
even if that's true. You clearly haven't looked at the tables of conquest, which i have.

In the table conquest_players, you have "pID" which is the player ID inside conquest.

And you also have "forumID", which is linked to the USER ID of the forum.


Next time you try and correct me, do your research on how the game mechanics work.

Could you at least clarify what your trying to say, because I'm not following you.

Collussus 06-08-2009 05:19 PM

Quote:

Originally Posted by Sugoi na (Post 1824081)
Take a moment & read the posts on page 24. Please stop acting like some big shot because you clearly havn't done anything to impress. I was clarifying a point & you wanted to get wise.

Your wrong. Admit it & grow up.



Hahaha. We said things like this back in first grade. You sure showed me Mr!

.... How am i wrong if my sql code deletes a user from conquest? Try it, your userid is 1 i presume? Try this:

UPDATE conquest_players SET pTurns = 9999999 WHERE forumID = 1


Now tell me that im wrong when that works.

I use:

DELETE FROM conquest_players WHERE forumID = <userid on forums itsself>

Daily to delete users from conquest, so please don't tell me im wrong while im already using it <3

therogueforums 06-13-2009 09:04 AM

Hey Jax. Just checking in with you- hope all is well, and I'm looking forward to the updates/additions. By chance, any ball park figure on when they might be out?

All the best,
~Ki

Jaxel 06-15-2009 02:34 AM

Sorry for the lack of new version yet... swine flu sucks... so the next release wont come for a few more weeks.

therogueforums 06-15-2009 06:00 AM

Oh, man. Sorry to hear it. Hope you get to feeling better!

jonlar 06-17-2009 12:03 PM

Hi there. I installed the Conquest system. Works fine so far, but when i want to klick on

Village Overview
Village Armory
Village Barracks
Offense History
Defense History
......
i just get..... no access to this page....

DaddyCool8 06-17-2009 04:13 PM

"The hours for revenge no matter the size of the enemy village"

What is this about?

BlueNinjaGo 06-17-2009 04:40 PM

Quote:

Originally Posted by jonlar (Post 1831237)
Hi there. I installed the Conquest system. Works fine so far, but when i want to klick on

Village Overview
Village Armory
Village Barracks
Offense History
Defense History
......
i just get..... no access to this page....

Go to ACP -> Usergroups -> Usergroup Manager -> Edit Administrator -> Find Conquest and enable it for you.
Quote:

Originally Posted by DaddyCool8 (Post 1831377)
"The hours for revenge no matter the size of the enemy village"

What is this about?

There is a built in protection for smaller villages. I think the default is 60%. That means if Village A is 61% bigger than Village B, it cannot attack. BUT if Village B attacks Village A, then Village A has x amount of hours to attack back before the 60% comes into affect.

Collussus 06-18-2009 09:23 PM

It's a shame to see there's barely any activity on this product. It could use alot of little updates.

Megatr0n 06-18-2009 10:03 PM

Quote:

Originally Posted by Jaxel (Post 1829894)
Sorry for the lack of new version yet... swine flu sucks... so the next release wont come for a few more weeks.

We'll all have to wait.

Skyrider 06-20-2009 04:38 PM

How do I remove existing nations? I seem to be only able to add nations, not to remove them.

GigaSb 06-22-2009 11:48 AM

i need to change the lang to hebrew.. there is some sentences i cant find like:

pm's: You have been attacked by

"Your work force has finished and 1 troops have joined your military ranks"
all this kind..

gamerfu 06-24-2009 11:05 AM

can players switch nations? how often?

kellyandmark04 06-24-2009 11:10 PM

I keep getting this error and all my members are as well.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in /home/p2fgh778k/public_html/conquest/functions_conquest.php on line 92

therogueforums 06-25-2009 07:32 AM

Not to be rude, but if you read the thread, you would've found this to be a common problem, usually stemming from large armies going at each other. Basically, they lag the system.

dodjer42 06-25-2009 07:53 AM

I like the interface, though the space characters are a little conflicted to the unit types and the game gets tiring after about 36hours. Would be great to see a new game mod with similar tight vB integration but more depth to the game itself.

Collussus 06-25-2009 12:00 PM

Quote:

Originally Posted by kellyandmark04 (Post 1836740)
I keep getting this error and all my members are as well.


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in /home/p2fgh778k/public_html/conquest/functions_conquest.php on line 92

Quote:

Originally Posted by therogueforums (Post 1836936)
Not to be rude, but if you read the thread, you would've found this to be a common problem, usually stemming from large armies going at each other. Basically, they lag the system.

Yeah, this is common. Hence why i posted a fix:

Quote:

Originally Posted by Collussus (Post 1818309)
2 of my members got extremely high defense and offense and lost their access to their village overview. I went and looked at the code and found very unnecessary code. To fix this i did the following:

open functions_conquest.php

Go to line 60, remove the whole for script and place down:

PHP Code:

        $weapontotal $weapon[stockCount] * $weapon[wPower];
        
array_push($count$weapontotal); 

Then do the same at line 88 i think. remove the whole for there and place down:

PHP Code:

        $armourtotal $armour[stockCount] * $armour[aPower];
        
array_push($count$armourtotal); 


That should fix the error of "too much memory allocated".


Collussus 06-25-2009 12:05 PM

1 Attachment(s)
Sorry for double post, For the lazy people i attached the fixed functions_conquest.php.

blissend 06-26-2009 02:33 AM

Would you be so kind to add the time left till next cycle in the next release? 8)

I was able to by adding these lines (you'll have to excuse my crappy coding)...

conquest.php
PHP Code:

// ### blissend's fugly modification
$countDownMin $settings[gCycleMinutes]-(date(i,(time() - $settings[gLastCycle])));
$countDownSec 60-(date(s,(time() - $settings[gLastCycle])));
if (
$countDownSec == 60$countDownSec--; // ugh
if ($countDownSec 10$countDownSec '0'.$countDownSec;
// yes I know its really bad to mod the $vbphrase variable but I didn't fee like changing a template file to get this working
$vbphrase[conquest_navigation] = "Navigation (".$countDownMin.":".$countDownSec.")";
// ###  end of blissend's fugly modification 

Only works on page load but better than nothing. Would be great with live updating.

therogueforums 06-26-2009 07:55 AM

That's actually an awesome idea.

Skyrider 06-26-2009 08:16 AM

How do I remove nations? I still can't figure that out.

therogueforums 06-26-2009 08:20 AM

If you do Sky, let me know.

Itchy Nips 06-26-2009 01:42 PM

i've created a 2nd navbar under the default one, for just extra links. How do I get rid of the "conquest system" link that gets created when I installed this mod?

I've looked under the "navbar" template and I dont see a link in there.

BlueNinjaGo 06-26-2009 01:50 PM

Quote:

Originally Posted by Itchy Nips (Post 1837843)
i've created a 2nd navbar under the default one, for just extra links. How do I get rid of the "conquest system" link that gets created when I installed this mod?

I've looked under the "navbar" template and I dont see a link in there.

I haven't looked at the code, but he probably used a template hook...

Go to ACP -> options -> Conquest -> The location on your navbar for the link to the conquest system -> Disable

Collussus 06-26-2009 03:04 PM

I found a fix for the max troops bug. It seemed that the "int" for the pTroops column in conquest_players had to be bigint. Change it with this sql:

Code:

ALTER TABLE  `conquest_players` CHANGE  `pTroops`  `pTroops` BIGINT UNSIGNED NOT NULL DEFAULT  '0'
add a prefix before conquest_ if you have one.


Quote:

Originally Posted by Itchy Nips (Post 1837843)
i've created a 2nd navbar under the default one, for just extra links. How do I get rid of the "conquest system" link that gets created when I installed this mod?

I've looked under the "navbar" template and I dont see a link in there.



There's also a conquest settings in vbulletin options. Disable it there.

Skyrider 06-27-2009 08:09 PM

Great, you can't even remove nations when you add some or wish to keep it at 2. What's the point in that? The owners of this plugin has been around in the last few days but doesn't seem to reply in this thread. Haven't received a private message from him either when I send him a message qute some time ago.

gezgas 06-28-2009 07:27 PM

i went into myphpadmin and looked it up there, and was able to remove nations and change nations for players and so. so take a look there.

blissend 06-29-2009 10:40 PM

For those interested in adding a trade system, here is my really sloppy attempt and how you can do it. Hopefully the author will consider adding it and that I'm not out of line for posting this 8)

Notes...
  • You can send troops or gold. Simply click the user as if you were to do a raid/spy run. You should see the trade area above the raid/spy run area. You can trade with anyone thus can have traitors :D
  • It will tax you depending on your size (smaller = no tax, bigger than 2x caps to 76% tax and will only let you send 2x their size in amount). You will see a notice like raid/spy runs show but it won't be seen in history (requires more than adding code to do that me thinks). I also made it cost 5 turns to send gold and 1 to send troops... to lazy to make that editable but its easy enough to change in the code.
  • I leave it to you to figure out how to add this to your code. Not sure if I'm allowed to post my version. Files to edit are function_conquest_village.php, conquest.php and a template modification.
add these functions to function_conquest_village.php
PHP Code:

function run_sendtroops($player$village)
{
    global 
$vbulletin$settings$passcolor$failcolor;
    
    if (
$player[pTurns] < 1)
    {
        return 
'<font color="'.$failcolor.'">You can not trade as you do not have enough turns available.</font>';
    }
    
    
$troops $vbulletin->input->clean_gpc('p'"troopamount"TYPE_UINT);
    
    if (!
is_numeric($troops) && !is_int($troops))
    {
        return 
'<font color="'.$failcolor.'">Please enter an appropriate value.</font>';
    }
    elseif (
$player[pTroops] == 0)
    {
        return 
'<font color="'.$failcolor.'">You can not send troops because you don\'t have any!</font>';
    }
    elseif (
$troops >= $player[pTroops])
    {
        return 
'<font color="'.$failcolor.'">You can not send all of your troops or more than what you have!</font>';
    }

    if (
$player[pTroops] >= ($village[pTroops]*2)) $sendtax .77;
    elseif (
$player[pTroops] >= ($village[pTroops]+1)) $sendtax pow(0.75, (($player[pTroops]/$village[pTroops])*2.5));
    else 
$sendtax 0;
    
    if (
$player[pTroops] > ($village[pTroops]*2) && ($troops > ($village[pTroops]*2)))
    {
        
$troops $village[pTroops]*2;
        
$transferTotal $troops - ($troops $sendtax);
    }
    else 
$transferTotal $troops - ($troops $sendtax);
    
$transferTotal ceil($transferTotal);
    
$troopsLost ceil($troops $sendtax);
    
    
$playerNewTroops $player[pTroops] - $troops;
    
$villageNewTroops $village[pTroops] + $transferTotal;
    
    
// for debugging purposes
    //return '<font color="'.$failcolor.'">FAIL FAIL FAIL ALERT! '
    //.'<br />tax: '.$sendtax
    //.'<br />troops to send: '.$troops
    //.'<br />after tax: '.$transferTotal
    //.'<br />troops lost: '.$troopsLost
    //.'<br />playerNewTotal: '.$playerNewTroops
    //.'<br />villageNewTotal: '.$villageNewTroops.'</font>';
    
    
$newTurnCount $player[pTurns] - 1;
    
    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pTurns = '".$newTurnCount."' WHERE playerID = ".$player[playerID]."");
    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pTroops = '".$playerNewTroops."' WHERE playerID = ".$player[playerID]."");
    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pTroops = '".$villageNewTroops."' WHERE playerID = ".$village[playerID]."");
    
    
//send_notice(1, $player, $village, $lootRatio);
    
    
if($troopLost != 0)
    {
        
$randomMessageChoice mt_rand(1,3);
        switch (
$randomMessageChoice)
        {
            case 
1: return '<font color="'.$passcolor.'">You have sent '.$troops.' troops but '.$troopsLost.' ran away.</font>';


            case 
2: return '<font color="'.$passcolor.'">You have sent '.$troops.' troops but '.$troopsLost.' got lost along the way.</font>';
            default: return 
'<font color="'.$passcolor.'">You have sent '.$troops.' troops but '.$troopsLost.' troops failed to make it there.</font>';
        }
    }
    else return 
'<font color="'.$passcolor.'">You have sent '.$troops.' troops.</font>';
}

function 
run_sendgold($player$village)
{
    global 
$vbulletin$settings$passcolor$failcolor;
    
    if (
$player[pTurns] < 5)
    {
        return 
'<font color="'.$failcolor.'">You can not trade as you do not have enough turns available.</font>';
    }
    
    
$gold $vbulletin->input->clean_gpc('p'"goldamount"TYPE_UINT);

    if (!
is_numeric($gold) && !is_int($troops))
    {
        return 
'<font color="'.$failcolor.'">Please enter an appropriate value.</font>';
    }
    elseif (
$player[pGold] == 0)
    {
        return 
'<font color="'.$failcolor.'">You can not send gold because you don\'t have any!</font>';
    }
    elseif (
$gold $player[pGold])
    {
        return 
'<font color="'.$failcolor.'">You can not send more gold than what you have!</font>';
    }
    
    if (
$player[pTroops] >= ($village[pTroops]*2)) $sendtax .77;
    elseif (
$player[pTroops] >= ($village[pTroops]+1)) $sendtax pow(0.75, (($player[pTroops]/$village[pTroops])*2.5));
    else 
$sendtax 0;

    if (
$player[pTroops] > ($village[pTroops]*2) && ($gold > ($village[pTroops]*2)))
    {
        
$gold $village[pTroops]*2;
        
$transferTotal $gold - ($gold $sendtax);
    }
    else 
$transferTotal $gold - ($gold $sendtax);
    
$transferTotal ceil($transferTotal);
    
$goldLost ceil($gold $sendtax);

    
$playerNewGold $player[pGold] - $gold;
    
$villageNewGold $village[pGold] + $transferTotal;
    
    
// for debugging purposes
    //return '<font color="'.$failcolor.'">FAIL FAIL FAIL ALERT! '
    //.'<br />tax: '.$sendtax
    //.'<br />gold to send: '.$gold
    //.'<br />after tax: '.$transferTotal
    //.'<br />gold lost: '.$goldLost
    //.'<br />playerNewTotal: '.$playerNewGold
    //.'<br />villageNewTotal: '.$villageNewGold.'</font>';
    
    
$newTurnCount $player[pTurns] - 5;

    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pTurns = '".$newTurnCount."' WHERE playerID = ".$player[playerID]."");
    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pGold = '".$playerNewGold."' WHERE playerID = ".$player[playerID]."");
    
$vbulletin->db->query_write("UPDATE IGNORE ".TABLE_PREFIX."conquest_players SET pGold = '".$villageNewGold."' WHERE playerID = ".$village[playerID]."");
    
    
//send_notice(1, $player, $village, $lootRatio);
    
    
if ($goldLost != 0)
    {
        
$randomMessageChoice mt_rand(1,3);
        switch (
$randomMessageChoice)
        {
            case 
1: return '<font color="'.$passcolor.'">You have sent '.$gold.' gold but '.$goldLost.' was taken as draconian tax.</font>';
            case 
2: return '<font color="'.$passcolor.'">You have sent '.$gold.' gold but '.$goldLost.' was stolen by steelzepplin.</font>';
            default: return 
'<font color="'.$passcolor.'">You have sent '.$gold.' gold but '.$goldLost.' was taxed and lost during the transfer.</font>';
        }
    }
    else return 
'<font color="'.$passcolor.'">You have sent '.$gold.' gold.</font>';


add this check to conquest.php
PHP Code:

// ########################################################################
// IS USER SENDING TROOPS?

if ($village fetch_village($vbulletin->input->clean_gpc('p''sendtroops'TYPE_UINT)))
{
    
$noticeTEXT run_sendtroops($player$village);
    
$player fetch_player($vbulletin->userinfo[userid]);
}

// ########################################################################
// IS USER SENDING GOLD?

if ($village fetch_village($vbulletin->input->clean_gpc('p''sendgold'TYPE_UINT)))
{
    
$noticeTEXT run_sendgold($player$village);
    
$player fetch_player($vbulletin->userinfo[userid]);


modify the conquest_village template for each theme used to have this above the raid/spy run area
HTML Code:

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr><td class="tcat" align="center">Trading</td></tr>

<tr><td class="alt1" align="center">
    <table cellpadding="5" cellspacing="0" border="0" width="100%" align="center">
    <tr>
        <td width="50%" valign="top">
            <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
            <tr>
                <td class="thead" align="center">Send Troops</td>
            </tr>
            <tr>
                <td class="alt1" align="center"><form action="$filename?do=village&pid=$village[playerID]" method="post">
                    <input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
                    <input type="hidden" name="sendtroops" value="$village[playerID]" />
                    <input name="troopamount" type="text" size="10" />
                    <input type="submit" value="Send">
                </form></td>
            </tr>
            </table>
        </td>
        <td width="50%" valign="top">
            <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
            <tr>
                <td class="thead" align="center">Send Gold</td>
            </tr>
            <tr>
                <td class="alt1" align="center"><form action="$filename?do=village&pid=$village[playerID]" method="post">
                    <input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
                    <input type="hidden" name="sendgold" value="$village[playerID]" />
                    <input name="goldamount" type="text" size="10" />
                    <input type="submit" value="Send">
                </form></td>
            </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td width="50%" align="center"><strong>Performing a troop trade cost 1 turn</strong></strong></td>
        <td width="50%" align="center"><strong>Performing a gold trade cost 5 turns</strong></strong></td>
    </tr>
    </table>
   
</td></tr>
</table>

It isn't pretty but it works which is all I cared about when doing this.

Just wanted to add thanks for the author for this mod! It is awesome and I have wasted too many hours on it :D

Hornstar 06-30-2009 04:32 AM

its a shame this has not had any updates in a while. I was beta testing it with my staff but they don't really seem that interested in this because of its lack of features/updates.

Jaxel 06-30-2009 11:33 PM

Sorry for the lack of updates... after a long wait I'm back to programming... working on a different mod right now (because that mod actually makes me money)... but this mod is up next.

blissend 07-01-2009 12:01 AM

Quote:

Originally Posted by Jaxel (Post 1840443)
Sorry for the lack of updates... after a long wait I'm back to programming... working on a different mod right now (because that mod actually makes me money)... but this mod is up next.

Awesome! I can't wait 8)

therogueforums 07-01-2009 07:40 AM

Quote:

Originally Posted by Jaxel (Post 1840443)
Sorry for the lack of updates... after a long wait I'm back to programming... working on a different mod right now (because that mod actually makes me money)... but this mod is up next.

Totally understandable :) looking forward to the updates!

ged 07-02-2009 12:49 PM

Quote:

Originally Posted by Jaxel (Post 1840443)
Sorry for the lack of updates... after a long wait I'm back to programming... working on a different mod right now (because that mod actually makes me money)... but this mod is up next.

Health first, money second and other mods third. :)

Good news! :)

therogueforums 07-02-2009 08:43 PM

Quote:

Originally Posted by blissend (Post 1839876)
For those interested in adding a trade system, here is my really sloppy attempt and how you can do it. Hopefully the author will consider adding it and that I'm not out of line for posting this 8)

Just made the changes, and all seems to be working correctly. Thank you! Hopefully, there will be resources latter on (that provide certain benefits when you have/obtain them), and are trade-able.

therogueforums 07-03-2009 08:09 AM

Is there any way to allow players to switch nations, WITHOUT going into the SQL?

ged 07-03-2009 11:05 AM

I think Jaxel has noted these suggestions and fixes, am I right Jaxel? :rolleyes:

Dutch_Boy 07-03-2009 05:51 PM

Quote:

Originally Posted by Jaxel (Post 1840443)
Sorry for the lack of updates... after a long wait I'm back to programming... working on a different mod right now (because that mod actually makes me money)... but this mod is up next.

Great still working on this mod.
Army is dead so i uninstalled it.

Ill give it a try :)


All times are GMT. The time now is 01:53 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01996 seconds
  • Memory Usage 1,964KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)bbcode_html_printable
  • (5)bbcode_php_printable
  • (19)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete