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
 

Czaso Umilacz - zdjęcie

Czaso Umilacz

Rejestracja: 26.04.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 22.12.2015 02:26
-----

#569621 TOP 15 oparte na 'największym' poziomie.

Napisane przez Czaso Umilacz w 02.09.2013 22:13

Witam, 
postanowiłem napisać TOP 15 do codów opartych na zapisie nvault, system rankingu opiera się na liczbie doświadczenia (tudzież im więcej doświadczenia, tym większy lvl a zarazem rank), instalacja standardowa, skorzystałem z biblioteki nvault_util (TOP 15 jest odświeżane co zmianę mapy).
 
2013-09-02_00001.jpg

Cvary:
1. Zmiana komendy (standardowo: /codtop15):

cod_top15_cmd

2. Podawanie zapisu (nazwa pliku .nvault, bez .nvault, np standardowo: codmod):

cod_top15_save_file

Dla zaawansowanych użytkowników:
Makrodefinicja:


#define MAX_TOP 15

Odpowiada za ilość miejsc w TOP, 15 to zalecana ilość (coś tam coś tam że motd obsługuje do 1000 znaków z hakiem, tabela od motd ranu ma bufer 1512, i przy liczbie 15 będzie w 100% działać).
 
PROŚBA
Proszę nie usuwać mojego nicku z tej prymitywnej 'stopki' tego motd, dziękuje :)

Załączone pliki


  • +
  • -
  • 19


#564292 Blokada skilli na początku rundy

Napisane przez Czaso Umilacz w 16.08.2013 23:03

Misiuniu, cytuje sam siebie:
 

 

 

Gdzie wartość 5.0, podmieniamy na czas, jaki ma trwać blokada (np: czas freeze time)

I jeszcze bliżej:

 

 

(np: czas freeze time)

I jeszcze:

 

 

np:

I cytuje dalej:
 

 

 

od teraz możemy blokować użycie skillów klasy na określony czas za pomocą cvara

Oraz podkreślę:

od teraz możemy blokować użycie skillów klasy na określony czas za pomocą cvara

 

 


  • +
  • -
  • 1


#564009 Blokada skilli na początku rundy

Napisane przez Czaso Umilacz w 16.08.2013 08:37

Witam,
gracze ostatnio bardzo się skarżyli na rakiety podczas freeze time, postanowiłem coś z tym zrobić i podzielić się z wami :)

Zaczynajmy, na początku pluginu  dodajemy dwie nowe zmienne:
 

new	Float:czas_blokady,
	Float:blokada_skilla;

Do plugin_init() dodajemy:
 

czas_blokady = register_cvar("cod_skill_freezetime", "5.0");

Gdzie wartość 5.0, podmieniamy na czas, jaki ma trwać blokada (np: czas freeze time), następnie podmieniamy funkcję NowaRunda() na:
 

public NowaRunda(){
	blokada_skilla = get_gametime() + czas_blokady;
	freezetime = true;
}

Następnie na początku funkcji EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ), dodajemy:
 

if(blokada_skilla > get_gametime())
	return FMRES_IGNORED;

I to by było na tyle, od teraz możemy blokować użycie skillów klasy na określony czas za pomocą cvara :)

Kod sprawdzony i działa, liczę na masę hejtu :)
 

 


  • +
  • -
  • 1


#561612 Podnoszenie broni z ziemi

Napisane przez Czaso Umilacz w 07.08.2013 15:59

Witam,
postanowiłem podzielić się kodem na podnoszenie broni z ziemi gdy już jedną mamy na slocie, przykład:

Klasa posiada dwie bronie, AWP i M4, jak wyrzuci AWP ma w slocie M4 i nie może podnieść AWP, po dodaniu tego będzie mogła.

Zaczynajmy, na początku kodu dodajemy nową zmienna:
 

new bool:just_droped[MAX+1];

Następnie w plugin_init dodajemy:

register_clcmd("drop", "DropWeapon");

Gdzieś w kodzie dodajemy następujące funkcje:

public DropWeapon(id){
	just_droped[id] = true;
	
	set_task(0.5, "Unlock", id);
}

public Unlock(id){
	just_droped[id] = false
}

Na samym końcu podmieniamy funkcje DotykBroni na:

public DotykBroni(weapon, id){
	static model[24];
	pev(weapon, pev_model, model, 23);
	
	if(containi(model, "w_backpack") != -1)
		return HAM_IGNORED;
		
	if(!just_droped[id] && pev(weapon, pev_owner) == id){
		static classname[64], weaponname[32], temp[32], del[4];
		pev(weapon, pev_model, classname, 63);
		
		replace(classname, 63, "w_", " ");
		replace(classname, 63, ".mdl", "");
		
		strbreak(classname, del, 3, classname, 63);
		
		format(weaponname, 32, "weapon_%s", classname);
		
		new weapons[32], weaponsnum, stop;
		get_user_weapons(id, weapons, weaponsnum);
		
		for(new i = 0; i < weaponsnum; i ++){
			get_weaponname(weapons[i], temp, 31);
			
			if(equal(temp, weaponname))
				stop = 1;
		}
		
		if(!stop)
			fm_give_item(id, weaponname);
			
		engfunc(EngFunc_RemoveEntity, weapon);
	}	
		
	return HAM_SUPERCEDE;
}

Kod sprawdzony i działa, sprawdza czy gracz nie posiada już broni którą chce podnieść, liczę na masę hejtu.

Pozdrawiam :)


  • +
  • -
  • 3


#469600 DLLFunc_Think, do czego służy?

Napisane przez Czaso Umilacz w 19.10.2012 23:00

To wiem, ale od czego konkretnie jest ta funkcja:
DLLFunc_Think
Wywoływać to se mogę nie wiedząc co...
  • +
  • -
  • 2


#452095 Jak ustawić speeda dla danego teamu ?

Napisane przez Czaso Umilacz w 27.08.2012 09:05

Gdzieś w kod:
public PlayerPreThink(id)
{
if(!is_user_alive(id))
  return;

new Float:Speed = 250.0;
Speed += get_user_team(id) == 1 ? 100.0 : 0.0;
Speed +=  get_user_team(id) == 2 ? 200.0 : 0.0;
entity_set_float(id, EV_FL_maxspeed, Speed);
}
I do plugin init:
RegisterHam(Ham_Player_PreThink, "player", "PlayerPreThink");
I zoom czy nie, zamiana broni czy nie wartość rośnie, tylko podmieniasz 100 i 200 w linijce Speed +=, oraz wybierasz drużynę ( 1 to chyba TT 2 to chyba CT ).

Jest to zrobione na szybciaka, więc dałem standardową prędkość 250 ( Float:Speed = 250.0; chyba z nożem );
Szło by to zrobić że zależne od broni, ale nie mam tabelki z prędkościami z danią bronią a by poszukać mam lenia w d*pie :P
  • +
  • -
  • 1


#366309 [ROZWIĄZANE] [VIP] Problem z pluginem

Napisane przez Czaso Umilacz w 17.02.2012 21:38

W plugin init kończą 2x } a powinno być 1x }

Jest tak:

public plugin_init()
{
register_plugin("VIP", "1.5", "HubertTM");
#if defined INFO_VIP
register_clcmd("say /infovip", "MOTD", 0);
register_clcmd("say /vipinfo", "MOTD", 0);
register_clcmd("say /vip", "MOTD", 0);
#endif
#if defined VIPS
maxplayers = get_maxplayers()
register_clcmd("say /vips", "print_vips", 0);
register_clcmd("say /vipy", "print_vips", 0);
#endif
RegisterHam(Ham_Spawn, "player", "respawn", 1);
#if defined SPEED
register_event("CurWeapon", "CurWeapon", "be", "1=1")
#endif
#if defined REKLAMA
set_task(360.0, "VIPTEKST", 0,_,_,"b");
#endif
g_iMaxPlayers = get_maxplayers();
g_MsgScoreBoard = get_user_msgid("ScoreAttrib");
register_message(g_MsgScoreBoard, "msgScore");
addCommand("/vips", "cmdVips");
addCommand("/vipy", "cmdVips");
register_forward(FM_CmdStart, "CmdStart");
}
}


A ma być tak :

public plugin_init()
{
register_plugin("VIP", "1.5", "HubertTM");
#if defined INFO_VIP
register_clcmd("say /infovip", "MOTD", 0);
register_clcmd("say /vipinfo", "MOTD", 0);
register_clcmd("say /vip", "MOTD", 0);
#endif
#if defined VIPS
maxplayers = get_maxplayers()
register_clcmd("say /vips", "print_vips", 0);
register_clcmd("say /vipy", "print_vips", 0);
#endif
RegisterHam(Ham_Spawn, "player", "respawn", 1);
#if defined SPEED
register_event("CurWeapon", "CurWeapon", "be", "1=1")
#endif
#if defined REKLAMA
set_task(360.0, "VIPTEKST", 0,_,_,"b");
#endif
g_iMaxPlayers = get_maxplayers();
g_MsgScoreBoard = get_user_msgid("ScoreAttrib");
register_message(g_MsgScoreBoard, "msgScore");
addCommand("/vips", "cmdVips");
addCommand("/vipy", "cmdVips");
register_forward(FM_CmdStart, "CmdStart");
}

  • +
  • -
  • 1


#276625 Gdy minie sekunda ubywa x hp

Napisane przez Czaso Umilacz w 02.08.2011 13:16

Chodzi by ubywało co sekundę 5 hp np, tylko to napiszę.

[JAKO ITEM]

Pod public DajPrzedmiot(id, przedmiot)
dodajesz:

public ZabierzHP(id)
{
	if(is_user_alive(id))
		set_user_health(id, get_user_health(id)-x);
}

W miejsce X wpisujesz ile hp ma ubywać, teraz w tym public DajPrzedmiot(id, przedmiot)
dodajemy nowy case:

case 67:{
			give_item(id, "weapon_m249");
			give_item(id,"ammo_556nato");
			give_item(id,"ammo_556nato");
			give_item(id,"ammo_556nato")
			give_item(id,"ammo_556nato");
			give_item(id,"ammo_556nato");
			give_item(id,"ammo_556nato");
			give_item(id,"ammo_556nato");
			set_user_health(id, get_user_health(id)+1500);
			set_task(1.0, "ZabierzHP", id, _, _, "b");
		}

U mnie ten item daje krowe i amunicje do niej, oraz 1500hp, jeśli tego nie chcesz to to wywalasz, i
w public odrodzenie
( jeśli daje HP lub Broń ) dajemy,

if(informacje_przedmiotu_gracza[id][0] == 67)
	{
		maksymalne_zdrowie_gracza[id] += 1500;
	}

Ewentualnie dodajesz broń, i to by było na tyle :)
  • +
  • -
  • 1


#275725 2 opcje

Napisane przez Czaso Umilacz w 30.07.2011 13:22

W public TakeDemaga, daj pod:

if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
	{
		if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
			damage = float(health);	
	}

To:

{
if(informacje_przedmiotu_gracza[idattacker][0] == TwojNumerItemu && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
	client_cmd(this, "drop");
}

  • +
  • -
  • 1


#275480 HP w HUD

Napisane przez Czaso Umilacz w 29.07.2011 18:41

ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Item : %s]^n[Zdrowie : %i]^n[www.TWOJA SIEC.pl]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], get_user_health(id));


W tej linijce tutaj znajdujesz www.TWOJASIEC.pl, są tam 2 takie linijki jak wyżej i w miejsce twojej sieci wpisujesz np: www.jestemglodny.pl W skrócie adres twojej sieci :) Interesuje cie tylko napis www.TWOJASIEC.pl :)
  • +
  • -
  • 1


#275468 HP w HUD

Napisane przez Czaso Umilacz w 29.07.2011 18:25

Jeśli gracz żyje to widzi swoje HP jak jest martwy to nie:) Jeśli truposz ma widzieć na SPECT hp np kolegi z teamu to musisz dodać w linijce wyżej to co napisałem :)

@@EDIT@@

public PokazInformacje(id) 
{
	id -= ZADANIE_POKAZ_INFORMACJE;
	
	set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
	if(!is_user_alive(id) && is_user_connected(id))
	{
		new target = entity_get_int(id, EV_INT_iuser2);
		
		if(target == 0)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nItem : %s^nZdrowie : %i^n[www.TWOJA SIEC.pl]", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]], get_user_health(target));
		
		return PLUGIN_CONTINUE;
	}
	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Item : %s]^n[Zdrowie : %i]^n[www.TWOJA SIEC.pl]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], get_user_health(id));
	return PLUGIN_CONTINUE;
}



masz tam też www.twoja sieć.pl wpisujesz tam nazwę i pod hp będzie nazwa sieci :)

RPK daj innym też troszkę + zdobyć o ile ktoś będzie wdzięczny xD
  • +
  • -
  • 1


#275461 HP w HUD

Napisane przez Czaso Umilacz w 29.07.2011 18:18

Szukasz:
public PokazInformacje(id) 
{
	id -= ZADANIE_POKAZ_INFORMACJE;
	
	set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
	if(!is_user_alive(id) && is_user_connected(id))
	{
		new target = entity_get_int(id, EV_INT_iuser2);
		
		if(target == 0)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nItem : %s]", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]];
		
		return PLUGIN_CONTINUE;
	}
	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Item : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
	return PLUGIN_CONTINUE;
}  

i w linijkach: ( 1dna jest wyżej tego kodu 2ga wyżej :) )
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);

dodajesz za:

^n[Item : %s]

to

^n[Zdrowie : %i]

i za :

nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]

to:

W LINIJCE WYŻEJ

, get_user_health(target)

W LINIJCE NIŻEJ

, get_user_health(id)

  • +
  • -
  • 1


#273770 Niestandardowe bronie

Napisane przez Czaso Umilacz w 25.07.2011 15:27

Hmm na dmg x3 mam tak :

if(weapon == CSW_M4A1)
	{
		if((klasa_gracza[idattacker] == NAZWA_KLASY))
			damage*=3.0;
	}

A tutaj zmieniamy bron jaka ma miec ten bonuskoniecznie dużymi literami)
if(weapon == CSW_NAZWA BRONI)

  • +
  • -
  • 1


#263618 Dodawanie pluginów z nowego na stary

Napisane przez Czaso Umilacz w 28.06.2011 08:04

Tak trzeba ten plugin wrzucić do .sma starego cod'a i nie duplikować public'ów jeśli są podwójne np. w przypadku plugin_init no i jeśli jakaś funkcja się różni np. pobieraniem nazwy klas czy coś też będziesz musiał zmienić pod starego. Jeśli się znasz to dość mało roboty.

Chodzi mu o to że jak na przykład masz linijkę:
public plugin_init
a w niej wpisane:
12345
i w sma nowego cod mod pluginie
12345
to nie masz tego wpisywać.
Tylko te linijki których nie ma w funkcjach.
A drugie ze jak masz np linijke:
public demage to nie masz dopisywać jeszcze raz public demage.


A co do porady wyżej:
To się za to nie bierz

Nie słuchaj go każdy się może tego kiedyś nauczyć, próbuj aż do skutku tak jak ja :)
A w razie czego jak ci coś nie wyjdzie to powinien ci ktoś na forum pomóc :D
  • +
  • -
  • 1


#259048 Jak zrobić 1/LW

Napisane przez Czaso Umilacz w 15.06.2011 12:05

informacje_przedmiotu_gracza[id][1] = random_num(1,[color="#FF0000"]LW[/color]);
LW odpowiada na to jaka będzie szansa zawsze będzie 1 a LW możesz dać nawet 99 wtedy szansa będzie od 1/1 do 1/99 do wylosowania przez moda :)
  • +
  • -
  • 1