Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

[ROZWIĄZANE] Wiele set_tasków dla tej samej funkcji w tym samym czasie

set_task multiple time

  • This topic is locked This topic is locked
3 replies to this topic

#1 Gość_21977_*

  • Gość

  • Reputacja: 0

Offline

Posted 07.12.2012 16:16

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.


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

  • Reputacja: 6,559
    Godlike

  • Postów:11,989
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Posted 07.12.2012 16:28

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);
	}
}

  • +
  • -
  • 0

#3 Gość_21977_*

  • Autor tematu
  • Gość

  • Reputacja: 0

Offline

Posted 07.12.2012 16:37

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

#4 Gość_21977_*

  • Autor tematu
  • Gość

  • Reputacja: 0

Offline

Posted 07.12.2012 16:37

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




  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In