MCPcopy Create free account
hub / github.com/Segs/Segs / sendUpdateTaskStatusList

Function sendUpdateTaskStatusList

Projects/CoX/Servers/MapServer/DataHelpers.cpp:1447–1500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1445}
1446
1447void sendUpdateTaskStatusList(MapClientSession &src, Task task)
1448{
1449 vTaskEntryList task_entry_list = src.m_ent->m_player->m_tasks_entry_list;
1450 //find task
1451 bool found = false;
1452
1453 for (uint32_t i = 0; i < task_entry_list.size(); ++i)
1454 {
1455 for(uint32_t t = 0; t < task_entry_list[i].m_task_list.size(); ++t)
1456 {
1457 if(task_entry_list[i].m_task_list[t].m_task_idx == task.m_task_idx) // maybe npcId instead?
1458 {
1459 found = true;
1460 qCDebug(logScripts) << "SendUpdateTaskStatusList Updating old task";
1461 //Tast already in list, update task;
1462 task_entry_list[i].m_task_list.at(t) = task;
1463 break;
1464 }
1465 }
1466
1467 if(found)
1468 break;
1469 }
1470
1471 if(!found)
1472 {
1473 qCDebug(logScripts) << "SendUpdateTaskStatusList Creating new task";
1474 uint32_t listSize = task_entry_list.size();
1475 if(task_entry_list.size() > 0)
1476 {
1477 qCDebug(logScripts) << "SendUpdateTaskStatusList task list not empty";
1478 task_entry_list[listSize].m_task_list.push_back(task); // Just use last task entry, Should only be one.
1479 }
1480 else
1481 {
1482 qCDebug(logScripts) << "SendUpdateTaskStatusList task list empty";
1483 std::vector<Task> task_list;
1484 task_list.push_back(task);
1485 TaskEntry t_entry;
1486 t_entry.m_db_id = src.m_ent->m_db_id;
1487 t_entry.m_reset_selected_task = true;
1488 t_entry.m_task_list = task_list;
1489 task_entry_list.push_back(t_entry);
1490 }
1491 }
1492
1493 //update database Task list
1494 src.m_ent->m_player->m_tasks_entry_list = task_entry_list;
1495 qCDebug(logScripts) << "SendUpdateTaskStatusList DB Task list updated";
1496
1497 //Send Task list to client
1498 src.addCommand<TaskStatusList>(task_entry_list);
1499 qCDebug(logScripts) << "SendUpdateTaskStatusList List updated";
1500}
1501
1502void selectTask(MapClientSession &src, Task task)
1503{

Callers 2

cmdHandler_AddTestTaskFunction · 0.85

Calls 3

push_backMethod · 0.80
sizeMethod · 0.45
atMethod · 0.45

Tested by

no test coverage detected