它只是给了我“延迟的重新声明”。我怎样才能改变这个,如果延迟没有传递给的调用doSay(text)
,延迟应该是1000,但如果它被称为doSay(text, 9000)
,它应该是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;
}