Skocz do zawartości

Rekomendowane odpowiedzi

Cześć, napisałem sobie prosty plugin (nawet nie wiem czy będzie działał - ma za zadanie slaynąć wszystkich, jeśli dołączy drugi gracz - oczywiście tylko w sytuacji gdy jest jeden gracz i dołączy drugi), ale nie chce się skompilować:

 

public void OnPluginStart()
{
	HookEvent("player_team", EventPlayerTeam);
}

GetPlayerCount()
{
    new players;
    for (new i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i)){
            players++;
		}
    }
    return players;
}

int clientCount = GetPlayerCount();

public Action EventPlayerTeam(Event event, const char[] name, bool dontBroadcast){
	int clientOldTeam = event.GetInt("oldteam");
	if(clientCount == 2){
		if(clientOldTeam == 0){
			ServerCommand("sm_slay @all");
		}
	}
}

 

Errory jakie wyskakują:
xyz.sp(32) : error 010: invalid function or declaration

xyz.sp(32) : error 008: must be a constant expression; assumed zero

Odnośnik do odpowiedzi
Udostępnij na innych stronach

To chyba wtedy plugin nie będzie miał sensu? Przecież niżej wykorzystuję clientCount do warunku. Pojawi mi się wtedy kolejny error, że: error 017: undefined symbol "clientCount"

 

 

Dobra. Ogarnięte:

przeniosłem:

int clientCount = GetPlayerCount();

do:

 

public Action EventPlayerTeam(Event event, const char[] name, bool dontBroadcast){
	int clientOldTeam = event.GetInt("oldteam");
	int clientCount = GetPlayerCount();
	if(clientCount == 2){
		if(clientOldTeam == 0){
			ServerCommand("sm_slay @all");
		}
	}
}

 

I ustawiłem int dla GetPlayerCount

Edytowane przez whyind
Odnośnik do odpowiedzi
Udostępnij na innych stronach
public void OnPluginStart()
{
	HookEvent("player_team", EventPlayerTeam);
}

int GetPlayerCount()
{
    int players;
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i)){
            players++;
		}
    }
    return players;
}

public Action EventPlayerTeam(Event event, const char[] name, bool dontBroadcast){
	int clientOldTeam = event.GetInt("oldteam");
	int clientCount = GetPlayerCount();
	if(clientCount == 2){
		if(clientOldTeam == 0){
			ServerCommand("sm_slay @all");
		}
	}
}

 

  • Dziękuję
Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 minuty temu, whyind napisał:

To chyba wtedy plugin nie będzie miał sensu? Przecież niżej wykorzystuję clientCount do warunku. Pojawi mi się wtedy kolejny error, że: error 017: undefined symbol "clientCount"

zamist clientCount mozesz uzyc GetPlayerCount ();

sorki ze w 2 odpowiedziach ale na telefonie jestem 😞

Edytowane przez Grafit
  • Dziękuję
Odnośnik do odpowiedzi
Udostępnij na innych stronach
10 minut temu, Grafit napisał:
public void OnPluginStart()
{
	HookEvent("player_team", EventPlayerTeam);
}

int GetPlayerCount()
{
    int players;
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i)){
            players++;
		}
    }
    return players;
}

public Action EventPlayerTeam(Event event, const char[] name, bool dontBroadcast){
	int clientOldTeam = event.GetInt("oldteam");
	int clientCount = GetPlayerCount();
	if(clientCount == 2){
		if(clientOldTeam == 0){
			ServerCommand("sm_slay @all");
		}
	}
}

 

Właśnie edytowałem post ostatni i zrobiłem dokładnie to samo xD, ale dzięki!

 

 

 

Edit:
Plugin działa, można zamknąć!

Edytowane przez whyind
  • Lubię to!
Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (5 użytkowników)

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...