それは私に「遅延の再宣言」を与えるだけです。delay が の呼び出しに渡されない場合doSay(text)
、遅延が 1000 になるようにこれを変更するにはどうすればdoSay(text, 9000)
よいですか?
これが私が試したものですが、うまくいきませんでした。
uint32_t delay = MINTICKS;
if (parameters > 1) {
delay = std::max(delay, popNumber(L));
} else {
uint32_t delay = 1000;
}
コード
int PersonInterface::luaActionSay(lua_State* L)
{
//doSay(text, <optional> delay)
int32_t parameters = lua_gettop(L);
uint32_t delay = MINTICKS;
if (parameters > 1) {
delay = std::max(delay, popNumber(L));
}
std::string msg(popString(L));
ScriptEnviroment* env = getScriptEnv();
Person* person = env->getPerson();
if(person){
person->doSay(msg, delay);
}
return 0;
}