←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Wiele set_tasków dla tej same...

Locked

Gość_21977_* 07.12.2012

Czy działanie kilku set_tasków dla tej samej funkcji w tym samym czasie
jest możliwe i czy nie będą zadania czasowe ze sobą kolidować?

Przykładowy kod z Wiki (http://wiki.amxmodx....MX_Mod_X)#Tasks) dla rozjaśnienia pytania:
//the timed function receives the parameter array and its task id
public slapTask(params[], id)
{
new player = params[0]
user_slap(player, 5)
}

public start_slapping(id)
{
new params[1]
params[0] = id
//we don't need a specific id
set_task(1.0, "slapTask", 0, params, 1, "a", 5)
}
Czy możliwe jest slapowanie wielu osób naraz przy użyciu funkcji start_slapping?
Na przykład poprzez rozpoczęcie slapowania wszystkich z drużyny, która przegrała poprzednią rundę
w momencie rozpoczęcia nowej rundy? Zaznaczę, że konieczne jest, by każda osoba była slapowana w osobnym tasku.
Edited by benio101, 07.12.2012 16:19.
dod.
Quote

  • +
  • -
DarkGL's Photo DarkGL 07.12.2012

Jeżeli dobrze zrozumiałem co chcesz zrobić to tak jest to możliwe
użyłem tego np. tutaj http://darkgl.amxx.p...zycia-cheaterom

wszystko wyjaśnia ten kod
void CTaskMngr::registerTask(CPluginMngr::CPlugin *pPlugin, int iFunc, int iFlags, cell iId, float fBase, int iParamsLen, const cell *pParams, int iRepeat)
{
	// first, search for free tasks
	TaskListIter iter = m_Tasks.find(CTaskDescriptor(0, NULL, true));
	
	if (iter)
	{
		// found: reuse it
		iter->set(pPlugin, iFunc, iFlags, iId, fBase, iParamsLen, pParams, iRepeat, *m_pTmr_CurrentTime);
	} else {
		// not found: make a new one
		CTask *pTmp = new CTask;
		
		if (!pTmp)
			return;
		
		pTmp->set(pPlugin, iFunc, iFlags, iId, fBase, iParamsLen, pParams, iRepeat, *m_pTmr_CurrentTime);
		m_Tasks.put(pTmp);
	}
}
Quote

Gość_21977_* 07.12.2012

Dokładnie o to mi chodziło, dzięki.
Quote

Gość_21977_* 07.12.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked