←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z paką

  • +
  • -
Split - zdjęcie Split 24.08.2017

Witam. Mam pewien problem. Otóż zrobiłem aby po podłożeniu paki dostawało się punkty. Niestety pojawił się błąd. Osoba, która podłożyła pakę dostaje punkty a pozostałe osoby w teamie nie. Proszę o pomoc.

public bomb_planted(id)
{
	if (get_playersnum() > 1)
	{
		if (klasa_gracza[id])
		{
			// give pkt player
			pkt[id] += bomb_plant_pkt
			
			ColorChat(id, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby.", bomb_plant_pkt)

			// give pkt others
			for (new i = 0; i < 32; i++)
			{
				if (!is_user_connected(i) || !is_user_alive(i))
					continue
					
				if (get_user_team(i) != 1)
					continue
				
				if (id == i)
					continue

				pkt[i] += bomb_plant_pkt / 2
					
				ColorChat(i, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby przez Twoj team.", bomb_plant_pkt / 2)
			}
		}
	}
	
	else
		ColorChat(id, GREEN, "^x01 Nie otrzymales(as) PKT za podlozenie bomby")
		
	return PLUGIN_CONTINUE
}
Help !
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 24.08.2017

Wiadomość się pokazuje? Ta z 26 linijki? Spróbuj tak:

public bomb_planted(id)
{
	if (get_playersnum() > 1)
	{
		if (klasa_gracza[id])
		{
			// give pkt player
			pkt[id] += bomb_plant_pkt
			
			ColorChat(id, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby.", bomb_plant_pkt)
 
			// give pkt others
			new maxgraczy=get_maxplayers();
			for(new i=0; i<maxgraczy; i++)
			{
				if (!is_user_connected(i) || !is_user_alive(i) || get_user_team(i) != 1 || id == i)
					continue
					
				pkt[i] += (bomb_plant_pkt / 2)
					
				ColorChat(i, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby przez Twoj team.", (bomb_plant_pkt / 2))
			}
		}
	}
	
	else
		ColorChat(id, GREEN, "^x01 Nie otrzymales(as) PKT za podlozenie bomby")
		
	return PLUGIN_CONTINUE
}
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 24.08.2017

Wiadomość się pokazuje? Ta z 26 linijki? Spróbuj tak:

public bomb_planted(id)
{
	if (get_playersnum() > 1)
	{
		if (klasa_gracza[id])
		{
			// give pkt player
			pkt[id] += bomb_plant_pkt
			
			ColorChat(id, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby.", bomb_plant_pkt)
 
			// give pkt others
			new maxgraczy=get_maxplayers();
			for(new i=0; i<maxgraczy; i++)
			{
				if (!is_user_connected(i) || !is_user_alive(i) || get_user_team(i) != 1 || id == i)
					continue
					
				pkt[i] += (bomb_plant_pkt / 2)
					
				ColorChat(i, GREEN, "^x01 Otrzymales(as)^x03 %i^x01 PKT za podlozenie bomby przez Twoj team.", (bomb_plant_pkt / 2))
			}
		}
	}
	
	else
		ColorChat(id, GREEN, "^x01 Nie otrzymales(as) PKT za podlozenie bomby")
		
	return PLUGIN_CONTINUE
}
Odpowiedz

  • +
  • -
Split - zdjęcie Split 24.08.2017

Nie pomogło. Nadal nie dostają osoby w teamie punktów, tylko osoba plantująca.
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 24.08.2017

Które z ColorChatów się pokazują?

Odpowiedz

  • +
  • -
_McHappy - zdjęcie _McHappy 24.08.2017

Ile wynosi wartość 'bomb_plant_pkt'?
Odpowiedz

  • +
  • -
Split - zdjęcie Split 25.08.2017

Problem rozwiązany, okazało się że boty nie miały "if (klasa_gracza[id])" I dlatego nie dostawałem punktów za podłożenie przez team.
Odpowiedz