本文整理汇总了C++中aithread::setScriptOffset方法的典型用法代码示例。如果您正苦于以下问题:C++ aithread::setScriptOffset方法的具体用法?C++ aithread::setScriptOffset怎么用?C++ aithread::setScriptOffset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aithread
的用法示例。
在下文中一共展示了aithread::setScriptOffset方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
bool Debug::execute(aithread &thread) const
{
// Perform independant behaviours
if ( this->getOpcode() == AISCRIPT::Enum::FATAL_ERROR )
{
// Message
Broodwar->sendText("Illegal AI script executed.");
// Debug
thread.saveDebug(Text::Green, this->getOpcode());
// Kill the script
thread.killThread();
thread.noretry();
return false;
}
else if ( this->getOpcode() == AISCRIPT::Enum::DEBUG )
{
// Read parameters
WORD wJump;
thread.readTuple( std::tie( wJump) );
// Send the message
Broodwar->sendText("%s", &pbAIScriptBinary[thread.getScriptOffset()] );
// Jump to offset
thread.setScriptOffset(wJump);
thread.saveDebug(Text::Green, this->getOpcode(), "p_%X %s", wJump, &pbAIScriptBinary[thread.getScriptOffset()]);
}
return true;
}
示例2: execute
bool Random_Jump::execute(aithread &thread) const
{
// Retrieve parameters
BYTE bChance;
WORD wOffset;
thread.readTuple( std::tie(bChance, wOffset) );
/// Set the new script offset
if ( (BYTE)rand() <= bChance )
thread.setScriptOffset( wOffset );
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u p_%04X", bChance, wOffset);
return true;
}
示例3: execute
bool If_Dif::execute(aithread &thread) const
{
// Parameters
BYTE bModifier, bValue;
WORD wBlock;
thread.readTuple( std::tie( bModifier, bValue, wBlock ) );
// Compare diff value
BYTE bDiff = MainController.bIfDif;
if ( bModifier ? (bDiff > bValue) : (bDiff < bValue) )
thread.setScriptOffset( wBlock );
// Save debug info and return
thread.saveDebug(Text::Green, this->getOpcode(), "%u %u %04X", bModifier, bValue, wBlock);
return true;
}