int NFCSkillModule::OnRequireUseSkillPosEvent( const NFGUID& self, const int nEventID, const NFIDataList& var ) { if ( var.GetCount() < 4 || !var.TypeEx(TDATA_OBJECT, TDATA_FLOAT, TDATA_FLOAT, TDATA_FLOAT, TDATA_OBJECT)) { return 1; } int nSkillID = var.Int( 0 ); double fX = var.Float( 1 ); double fY = var.Float( 2 ); double fZ = var.Float( 3 ); //群伤,就只计算第一个人的闪避 //结果事件 // NFCDataList valueResult; // valueResult.AddInt(nSkillID); // valueResult.AddInt(nResult); // valueResult.Append(var, 4, var.GetCount()); // // m_pEventProcessModule->DoEvent(self, NFED_ON_CLIENT_USE_SKILL_POS_RESULT, valueResult); return 0; }
int NFCRecord::FindRowByColValue(const int nCol, const NFIDataList& var, NFIDataList& varResult) { if (!ValidCol(nCol)) { return -1; } TDATA_TYPE eType = var.Type(0); if (eType != mVarRecordType->Type(nCol)) { return -1; } switch (eType) { case TDATA_INT: return FindInt(nCol, var.Int(nCol), varResult); break; case TDATA_FLOAT: return FindFloat(nCol, var.Float(nCol), varResult); break; case TDATA_STRING: return FindString(nCol, var.String(nCol).c_str(), varResult); break; case TDATA_OBJECT: return FindObject(nCol, var.Object(nCol), varResult); break; default: break; } return -1; }