Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

klink

Anfänger

  • »klink« ist der Autor dieses Themas

Beiträge: 7

Rootserver vorhanden: Ja

  • Nachricht senden

1

Samstag, 16. April 2016, 13:24

Verzögerung in eine funktion einbauen

Hallo,
kann mir einer sagen wie ich es an diesem Beispiel so machen kann, dass das entity nicht sofort gekillt wird, sondern erst nach 0,5 Sekunden Verzögerung?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
	if (GetConVarInt(Cvar_TeamWallRemove) == 1)
	{
		entity = -1;
		for (new i = 0; i < sizeof(g_szTeamWalls); i++)
		{
			while ((entity = FindEntityByClassname(entity, g_szTeamWalls[i])) != -1)
			{
				AcceptEntityInput(entity, "Kill");
			}
		}
	}

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

2

Samstag, 16. April 2016, 14:54

Du erstellst einen Timer

PHP-Quelltext

1
2
3
4
5
6
7
8
9
// Wird im Loop aufgerufen
CreateTimer(0.5Timer_DeleteEntityg_szTeamWalls[i]);

public Action Timer_DeleteEntity(Handle timerany entity)
{
    AcceptEntityInput(entity"Kill");
    
    return Plugin_Stop;
}

Du solltest Die Dokumentatioin zu Timern lesen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (16. April 2016, 15:50)


klink

Anfänger

  • »klink« ist der Autor dieses Themas

Beiträge: 7

Rootserver vorhanden: Ja

  • Nachricht senden

3

Mittwoch, 4. Mai 2016, 14:18

Danke.

Meine Programmierkenntnisse sind relative schwach. Ich habe dass jetzt so versucht, aber da kriege ich ein error. Was mache ich falsch?

PHP-Quelltext

1
2
3
4
5
6
7
8
9
    new entity = -1;
    if (GetConVarInt(Cvar_CPdisable) == 1)
    {
        for (new 0sizeof(g_szObjectives); i++)
        {
            CreateTimer(0.5Timer_DeleteEntityg_szObjectives[i]);
        }
        entity = -1;
    }



PHP-Quelltext

1
error 035argument type mismatch (argument 3)

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

4

Mittwoch, 4. Mai 2016, 17:49

Ist g_szObjectives ein String? Falls ja musst du ihn zB in ein Datapack packen und das handle dazu übergeben. Falls die Variable global ist kannst du auch nur das i übergeben und im Callback das nutzen um auf die Variable zuzugreifen. Siehe hierzu auch nochmal die Definition von CreateTimer .