Skocz do zawartości

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

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

CTF - przerobka


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Dudix

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 06.10.2009 18:57

Witam.
Stworzylem serwer soccerjam. na razie mod działa dobrze, lecz chce by byl zaje**sty ;) Dlatego potrzebuje przerobic kilka rzeczy w kodzie.

1 sprawa:

Jest w kodzie funkcja gdy sie ktos straci flage:

public DeathMsg()
{
	new victim = read_data(2)
	if(is_user_connected(victim))
	{
		if(victim==flag_holder[0])
		{
			flag_holder[0] = 0
			new name[32]
			new string[200]
			get_user_name(victim,name,31)
			format(string,199,"[red][CTF][/red] [green]%s[/green] stracil [green]Czerwona[/green] flage.",name)
			show_colored_message(0,string,199)
			write_hudmsg()
		}
		else if(victim==flag_holder[1])
		{
			flag_holder[1] = 0
			new name[32]
			new string[200]
			get_user_name(victim,name,31)
			format(string,199,"[red][CTF][/red] [green]%s[/green] stracil [green]Niebieska[/green] flage.",name)
			show_colored_message(0,string,199)
			write_hudmsg()
		}
		set_task(get_pcvar_float(respawntime),"respawn_player",victim)
	}
}

Chodzi o tekst: Czerwona i niebieska (czerwoną i niebieską). Przy przywroceniu flagi na swoje miejsce jest uzywane Ministring CT i T. Tego sie nie da zmienic (bo sie nie scompiluje). A potrzebuje miec tekst: Czerwona i niebieska jak w poprzedniej funkcji. Teraz wyglada to tak:

else if(!flag_holder[team])
			{
				pev(players[i],pev_origin,origin)
				if(get_distance_f(origin,flag_origin)<PICKUP_DISTANCE)
				{
					new ministring[4]
					if(team) ministring = "CT"
					else ministring = "T"
					flag_holder[team] = players[i]
					new name[32]
					new string[200]
					get_user_name(players[i],name,31)
					format(string,199,"[red][CTF][/red] [green]%s[/green] przywrocil [green]%s[/green] flage.",name,ministring)
					if(play_sounds) client_cmd(0,"mp3 play sound/%s",flag_returned)
					show_colored_message(0,string,199)
					flag_holder[team] = flagstand_ents[team]
					write_hudmsg()
					break;
				}
			}

Funkcja gdy sie zdobedzie punkt wyglada podobnie:

new name[32]
				get_user_name(flag_holder[team],name,31)
				format(string,199,"[red][CTF][/red] [green]%s[/green] zdobyl punkt. Flaga [green]%s[/green] znow jest w bazie.",name,ministring)
				if(play_sounds) client_cmd(0,"mp3 play sound/%s",flag_captured)
				show_colored_message(0,string,199)
				flag_holder[team] = flagstand_ents[team]
				write_hudmsg()

Ktos potrafi przerobic to tak jak pierwsza funkcje?



2 sprawa:
[/b][/size][/color]

Chce ustawic tekst:
Czerwoni: 1
Niebiescy: 3

na: Czerwoni 1:3 Niebiescy. Wiem ze w drugim tekscie na poczatku jest przeniesienie do nowej lini. Jak ustawic kordynaty aby tekst znajdowal sie obok? Dodatkowo czy da sie wstawic wlasna czcionke? Poprostu zeby to ladniej wygladalo ;)

set_hudmessage(255, 0, 0, -1.0, 0.03, 0, 6.0, 12.0, 0.0, 0.0)
	show_hudmessage(0,"Czerwoni: %d",TScore,flagloc)

	if(!flag_holder[1])
	{
		format(flagloc,31,"Lezy")
	}
	else if(flag_holder[1]==flagstand_ents[0])
	{
		format(flagloc,31,"Punkty")
	}
	else if(is_user_alive(flag_holder[1]))
	{
		get_user_name(flag_holder[1],flagloc,31)
	}

	set_hudmessage(0, 0, 255, -1.0, 0.03, 0, 6.0, 12.0, 0.0, 0.0,3)
	show_hudmessage(0,"_^nNiebiescy: %d",CTScore,flagloc)
}


3 sprawa:


Jak zrobic, aby gracz po dolaczeniu w srodku gry, byl od razu respawnowany bez wpisywania /respawnme?



4. sprawa:


Potrafi ktos dolozyc nowe dzwieki osobno dla kazdej druzyny? bo mam takie dzwieki paasujace do czegos pozytywnego i negatywnego. Wiec potrzeba by to tak rozbudowac:

Dzwiek terrorystow / Dzwiek antyterrorystow
przejecie flagi / ukradniecie flagi przez przeciwnikow
zdobycie punktu / stracenie punktu (dodanie do przeciwnikow kolejnego)
przywrocenie wlasnej flagi na jej miejsce (poprzez zabicie przeciwnika z nia)/ stracenie przenoszonej flagi (szansy na punkt)
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 06.10.2009 19:14

Pawn jest jak C i raczej nie mozesz tak ustalac tablic, uzyj
format(text_docelowy,rozmiar-1,"tekst docelowy")

2. lepiej polaczyc 2 teksty i wewnatrz tego zrobic nowa linie

3. wykryc dolaczenie do gry i wymusic komende co robi respawnme
  • +
  • -
  • 0

#3 Dudix

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 06.10.2009 19:37

1.

Pawn jest jak C i raczej nie mozesz tak ustalac tablic, uzyj
format(text_docelowy,rozmiar-1,"tekst docelowy"


To do punktu 1? Jak w nim to zrobic, bo nie mam pojecia. Mozna zbudowac wzorujac sie na tym jednym gotowym? dlaczego tak nie zrobil autor pluginu?

2.

lepiej polaczyc 2 teksty i wewnatrz tego zrobic nowa linie


Pawna umie jedynie z tego co czytam i zapamietuje.

Jesli dobrze mysle to powinno to tak wygladac:

set_hudmessage(255, 0, 0, -1.0, 0.03, 0, 6.0, 12.0, 0.0, 0.0) 
    show_hudmessage(0,"Czerwoni %d:%d Niebiescy",TScore,CTScore,flagloc) 

    if(!flag_holder[1]) 
    { 
        format(flagloc,31,"Lezy") 
    } 
    else if(flag_holder[1]==flagstand_ents[0]) 
    { 
        format(flagloc,31,"Punkty") 
    } 
    else if(is_user_alive(flag_holder[1])) 
    { 
        get_user_name(flag_holder[1],flagloc,31) 
    } 
}

Co oznacza flagloc? Lokalizacja flagi? Po co?

@ edit:

nie moge tak zrobic. bo mialem ustawiony kolor czcionki Czerwoni i Niebiescy. Masz pomysl?

3. Masz gotowy przyklad? Niezabardzo wiem jak to zrobic. Moze na metodzie menu (mam takie do wybierania interpu):
- Zrespawnuj mnie
- Pozniej wpisz: /respawnme.

Albo jedno pole wyboru. Tak bym na razie jedynie potrafil :) Lepiej bez zadnego menu, ale jak?

4. Masz pomysl? Jak oddzielic dzwiek dla kazdego teamu?
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych