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

Czytelny cod


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.09.2008 09:02

*
Popularny

Tu podam pare podpowiedzi jak utrzymac kod w ladnym porzadku.

Klamry zawsze na wysokosci funkcji:
public event_curweapon (id) 
{
	if (zmienna==1)
	{
		for(new i=0;i<33;i++)
		{
			
		}
	}
}

Pomijamy klamry gdy jest tylko 1 linia kodu:

public event_curweapon (id) 
{
	if (zmienna==1)
		for(new i=0;i<33;i++)
			while(get_user_health(i)<random_num(0,100))
			{
				if(a==<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> client_print(i,print_chat,"ab")
				else if(a><img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> client_print(i,print_chat,"a")
				else client_print(i,print_chat,"b")
			}
}
Przy 1. if i for mozna stosowac jeszcze klamry bo ulatwia to troche utrzymaniu kodu. Ale przy ostatnich pozbywamy sie ich, a z powod, ze kod jest krotki to dajemy go zaraz za if'em.

Elementu kodu ktore nie potrzebuja ustalonej kolejnosci ustawiamy tematycznie:
register_touch("throwing_knife", "player",		"touchKnife")
	register_touch("throwing_knife", "worldspawn",		"touchWorld")
	register_touch("throwing_knife", "func_wall",		"touchWorld")
	register_touch("throwing_knife", "func_door",		"touchWorld")
	register_touch("throwing_knife", "func_door_rotating",	"touchWorld")
	register_touch("throwing_knife", "func_wall_toggle",	"touchWorld")
	register_touch("throwing_knife", "func_breakable",	"touchWorld")
	register_cvar("diablo_knife","20")
	register_cvar("diablo_knife_speed","1000")

Lub wedlug typu funkcji:
g_msg_bartime = get_user_msgid("BarTime")
	g_msg_clcorpse = get_user_msgid("ClCorpse")
	g_msg_screenfade = get_user_msgid("ScreenFade")
	g_msg_statusicon = get_user_msgid("StatusIcon")
	
	register_cvar("diablo_sql_host","localhost",FCVAR_PROTECTED)
	register_cvar("diablo_sql_user","root",FCVAR_PROTECTED)
	register_cvar("diablo_sql_pass","root",FCVAR_PROTECTED)
	register_cvar("diablo_sql_database","dbmod",FCVAR_PROTECTED)

	register_event("CurWeapon","CurWeapon","be") 
	register_event("Damage", "Damage", "b", "2!0")	
	register_event("DeathMsg","DeathMsg","ade") 
	register_event("ResetHUD", "ResetHUD", "abe")
	
	register_logevent("RoundStart", 2, "0=World triggered", "1=Round_Start")
	register_logevent("award_plant", 3, "2=Planted_The_Bomb");	
	
	register_clcmd("say /Pomoc","helpme") 
	register_clcmd("say /Klasa","changerace")
	register_clcmd("say /speed","speed")

==================================================

Nazewnictwo - stosujemy zawsze takie nazwy cvarow, zmiennych i funkcji by mozna sie domyslic do czego sluza bez ogladania kodu np. id - gracz (jesli kozystamy rownoczesnie z id kilku graczy to mozemy nazwac (sry ale przyzwyczailem sie do ang. w pawnie) KillerID (kid), victimID (vid)).

Zmienne globalne z przedrostkiem g_ (moze sam tego zbytnio nie stosuje, ale to ulatwia czytanie kodu!).

Nazwy funkcji (np. wzgledem eventa) moga byc dowolne, ale piszemy tak by wiadomo bylo co chcemy by sie w niej dzialo.

===================================================

Uzywamy stalych (i eNUM'ow) [code#define TOTAL_RACES 4
#define TOTAL_CLASSES 3 [/code]
Szczegolnie gdy w wielu miejsciach musi byc ta sama liczba lub gdy odpowiada im konkretna wlasciwosc (np. MOVETYPE_FLY zamiast 5 - eNUM).

===================================================

Uzywamy komentarzy, szczegolnie gdy dana czesc kodu sprawiala nam problemy lub jest szczegolnie wazna!




PS. Kod jest nie kompletny i wyrwany z 'kontekstu', proszę tylko zwracac uwage na uklad kodu.
PS2. Jak tos pamieta jeszcze jakas zasade to niech poda to dodam do tutka.
  • +
  • -
  • 6




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

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