double CScript::SetMoveSpeed(const char* cmd, char* retStrL) { double dbRet = 1; int nSpeed = GetIntParam(cmd, 0); if(nSpeed != ERROR_CODE && nSpeed != INVILID_VALUE) { CMoveShape* pMoveShape = dynamic_cast<CMoveShape*>(p_SrcShape); if(pMoveShape) { pMoveShape->SetChangeSpeed(nSpeed); pMoveShape->SendChangedSpeedToClients(); } } else // 参数是整数 { AddErrorLogText("ERR: SetMoveSpeed(): 1st Arg is int!"); } return dbRet; }
double CScript::ChangeBaseSpeed(const char* cmd, char* retStr) { double dbRet = 1; int nRideState = GetIntParam(cmd, 0); DWORD dwSrc = GetIntParam(cmd,1); if(nRideState != ERROR_CODE && nRideState != INVILID_VALUE && dwSrc != ERROR_CODE && dwSrc != INVILID_VALUE) { CMoveShape* pMoveShape = (CMoveShape*)(dwSrc); if(pMoveShape && pMoveShape->GetType()==TYPE_PLAYER) { if (!pMoveShape->GetIsRide()) { //骑状态 if(!pMoveShape->GetIsRun()) { pMoveShape->SetSpeed(CGlobeSetup::GetSetup()->fRidePlayerWalkSpeed); } else { pMoveShape->SetSpeed(CGlobeSetup::GetSetup()->fRidePlayerRunSpeed); } } else { if(!pMoveShape->GetIsRun()) { pMoveShape->SetSpeed(CGlobeSetup::GetSetup()->fPlayerWalkSpeed); } else { pMoveShape->SetSpeed(CGlobeSetup::GetSetup()->fPlayerRunSpeed); } } pMoveShape->SendChangedSpeedToClients(); } } return dbRet; }