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

[COD MOD] Pare "innych" problemow


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

#1 Diurasel

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • GG:
  • Lokalizacja:Birmingham
Offline

Napisano 04.09.2010 18:42

Witam,

Proboje zrobic dosc zbalansowanego CoDa. Chcialbym zeby roznil on sie od innych modyfikowanych wersji. Mam pare problemow z niektorymi kodami. Nie wszystkie dzialaja jak powinny. Dodam ze jestem poczatkujacy jesli chodzi o programowanie i uzywajac logicznego myslenia i znajomosci angielskiego, brne w tym kodzie.

Wiec zacznijmy:

Ilosc Skokow:
Udalo mi sie dotychczas dodac do niektorych klas, podwojny skok. Jednak chcialbym osiagnac potrojny lub poczworny skok dla klas premium. Wpisywalem w [id] zamiast 2, 3 lub 4. Jednak nie przynosilo to zadnego efektu.

Ciche Bieganie:
Chcialbym zeby wybrane klasy, mogly biegac kompletnie bezglosnie. Dopisywalem pod switch(klasa_gracza[id]), docelowa klasa; set_user_footsteps(id, 1); zeby bylo slychac kroki, a pod postacia pod, ktora nie chce slyszec krokow; set_user_footsteps(id, 2); jednak nie przynosi to zadnych efektow.

Klasa Policjant:
Dodalem klase w ktorej jest uzywana tarcza. Wczesniej mialem problem iz klasa nie dostawala tarczy, teraz tarcze owszem dostaje, lecz po zmianie klasy tarcza zostaje, Bog wie czemu.

Odpornosc na Dynamit:
Obronca ma odpornosc na miny, wiec mysle ze jest mozliwe ustawic zeby klasa byla calkowicie odporna w moim przypadku na DYNAMIT. Posiadam klase premium, ktora jest szybka, posiada uzi i 10 dynamitow. Jest ona zabojcza w korytarzach i nikt nie ma z nim szans. Chcialbym do dwoch klas dodac odpornosc na dynamit (Szturmowiec + Szeregowy Armii Cudzoziemskiej). Nie mam zielonego pojecia gdzie tego szukac i jak to zrobic.

1/1 z Noza i Snajperka:
Klasie "Martial Artist" (z Ang. Sztukmistrz Walk), dalem 1/1 z noza. Jednak bywa tak ze musze uderzyc z kosy typa 4-5 razy zeby umarl. Chce osiagnac pelna gwarancje ze przeciwnik zginie od jednego uderzenia.
if(klasa_gracza[idattacker] == Martial )
			damage = float(health);

Drugim bledem w tej klasie jest otrzymanie itemu; Snajperki. Klasa moze normalnie sobie biegac ze snajperka i zabijac, pomimo tego ze dopisalem kod:
strip_user_weapons(id);

Item 1/1 Granat (Tajemnica Generala + Podrecznik Szpiega):
Tak jak wyzej, ten granat nie zabija ludzi z duza iloscia HP... Chcialbym zeby zabijal bez wzgledu na ilosc HP. Nie mam pojecia gdzie tego szukac.

Dolaczam plik .sma z moim dotychczasowym wynikiem prac. Zastrzegam sobie wykorzystywanie .sma, zawartosci mojej modyfikacji. Nie chcialbym zeby byl wykorzystywany gdzie indziej niz na serwerach CSArena.

Prosilbym o pomoc, wskazanie bledow i wyedytowanie dla mnie pliku .sma gdyz nie mam pojecia jak sie za to zabrac, przeszukalem cale forum a rozwiazan nie znalazlem. Oczywiscie wytlumaczenie i rozwiazanie moze sie przydac dla innych graczy, ktorzy modyfikuja CoD Moda.

Pozdrawiam,
Bury

Załączone pliki


  • +
  • -
  • 0

#2 Ketsu

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:27
  • Lokalizacja:Płock
Offline

Napisano 05.09.2010 19:43

Szukalem troszke i znalazlem
Znajdz to:
public DotykRakiety(ent)
{
	if ( !is_valid_ent(ent))
		return;

	new attacker = entity_get_edict(ent, EV_ENT_owner);

	new Float:fOrigin[3], iOrigin[3];
	entity_get_vector( ent, EV_VEC_origin, fOrigin);	
	iOrigin[0] = floatround(fOrigin[0]);
	iOrigin[1] = floatround(fOrigin[1]);
	iOrigin[2] = floatround(fOrigin[2]);

	message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
	write_byte(TE_EXPLOSION);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(sprite_blast);
	write_byte(32); // scale
	write_byte(20); // framerate
	write_byte(0);// flags
	message_end();

	new entlist[33];
	new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
	
	for (new i=0; i < numfound; i++)
	{		
		new pid = entlist[i];

Zamien na to:
public DotykRakiety(ent)
{
	if ( !is_valid_ent(ent))
		return;

	new attacker = entity_get_edict(ent, EV_ENT_owner);

	new Float:fOrigin[3], iOrigin[3];
	entity_get_vector( ent, EV_VEC_origin, fOrigin);	
	iOrigin[0] = floatround(fOrigin[0]);
	iOrigin[1] = floatround(fOrigin[1]);
	iOrigin[2] = floatround(fOrigin[2]);

	message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
	write_byte(TE_EXPLOSION);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(sprite_blast);
	write_byte(32); // scale
	write_byte(20); // framerate
	write_byte(0);// flags
	message_end();

	new entlist[33];
	new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
	
	for (new i=0; i < numfound; i++)
	{		
		new pid = entlist[i];
		(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Szturmowiec)
			continue;

A zeby jeszcze Szeregowy Armii Cudzoziemskiej byl odporny to zmien
(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Szturmowiec, Szeregowy Armii Cudzoziemskiej)
			continue;

Ale nie jestem pewnien sprobuj samym szturmowcem najpierw

Użytkownik Ketsu edytował ten post 05.09.2010 19:45

  • +
  • -
  • 0

#3 Diurasel

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • GG:
  • Lokalizacja:Birmingham
Offline

Napisano 05.09.2010 22:22

Nie chce sie kompilowac.
  • +
  • -
  • 0

#4 Ketsu

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:27
  • Lokalizacja:Płock
Offline

Napisano 06.09.2010 15:35

Sorka nie looknolem ze ty dynamit chcesz i wiem gdzie bład zrobilem znajdz:
public PolozDynamit(id)
{
	if(!ilosc_dynamitow_gracza[id])
	{
		client_print(id, print_center, "Wykorzystales juz caly dynamit!");
		return PLUGIN_CONTINUE;
	}
	
	if(inteligencja_gracza[id] < 1)
		client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!");
	
	ilosc_dynamitow_gracza[id]--;
	new Float:fOrigin[3], iOrigin[3];
	entity_get_vector( id, EV_VEC_origin, fOrigin);
	iOrigin[0] = floatround(fOrigin[0]);
	iOrigin[1] = floatround(fOrigin[1]);
	iOrigin[2] = floatround(fOrigin[2]);

	message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
	write_byte(TE_EXPLOSION);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(sprite_blast);
	write_byte(32);
	write_byte(20);
	write_byte(0);
	message_end();
	
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] );
	write_coord( iOrigin[2] );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] + 300 );
	write_coord( iOrigin[2] + 300 );
	write_short( sprite_white );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 );// r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 8 ); // speed
	message_end();

	new entlist[33];
	new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
	
	for (new i=0; i < numfound; i++)
	{		
		new pid = entlist[i];
		
		if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
			continue;
		ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
	}
	return PLUGIN_CONTINUE;
Zmien:
public PolozDynamit(id)
{
	if(!ilosc_dynamitow_gracza[id])
	{
		client_print(id, print_center, "Wykorzystales juz caly dynamit!");
		return PLUGIN_CONTINUE;
	}
	
	if(inteligencja_gracza[id] < 1)
		client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!");
	
	ilosc_dynamitow_gracza[id]--;
	new Float:fOrigin[3], iOrigin[3];
	entity_get_vector( id, EV_VEC_origin, fOrigin);
	iOrigin[0] = floatround(fOrigin[0]);
	iOrigin[1] = floatround(fOrigin[1]);
	iOrigin[2] = floatround(fOrigin[2]);

	message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
	write_byte(TE_EXPLOSION);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(sprite_blast);
	write_byte(32);
	write_byte(20);
	write_byte(0);
	message_end();
	
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] );
	write_coord( iOrigin[2] );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] + 300 );
	write_coord( iOrigin[2] + 300 );
	write_short( sprite_white );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 );// r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 8 ); // speed
	message_end();

	new entlist[33];
	new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
	
	for (new i=0; i < numfound; i++)
	{		
		new pid = entlist[i];
		(!is_user_alive(pid) || get_user_team(pid) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Szturmowiec)
			continue;
		if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
			continue;
		ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
	}
	return PLUGIN_CONTINUE;
}

Napisalem tak dokladnie zeby nie mial problemow ze znalezieniem :D i gdzie wpisac

Użytkownik Ketsu edytował ten post 06.09.2010 15:38

  • +
  • -
  • 0

#5 Diurasel

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • GG:
  • Lokalizacja:Birmingham
Offline

Napisano 06.09.2010 18:10

Teraz dynamit nie zadaje w ogóle obrazen... A co z pozostalymi problemami? Bywa ze z kosy 1/1 pociagne Lekkiego Zolnierza, a on dalej stoi.
  • +
  • -
  • 0

#6 Ketsu

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:27
  • Lokalizacja:Płock
Offline

Napisano 06.09.2010 21:24

To ostatni raz to sie postaram naprawic spróbuj zmienic:
new pid = entlist[i];
		(!is_user_alive(pid) || get_user_team(pid) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Szturmowiec)
			continue;
		if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
			continue;
na:
new pid = entlist[i];

		if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Szturmowiec)
			continue;

Użytkownik Ketsu edytował ten post 06.09.2010 22:11

  • +
  • -
  • 0

#7 Starozytny

    Wszechwidzący

  • Zbanowany

Reputacja: 41
Pomocny

  • Postów:257
  • GG:
  • Lokalizacja:C: / Program Files / Steam / SteamAps / Starozytny / Steam .exe
Offline

Napisano 07.09.2010 06:48

Napisz na GG a się dogadamy




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

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