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

DiabloMod 5.9l


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

#1 GaCeK

    Profesjonalista

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:202
  • GG:
  • Lokalizacja:Dąbrowa Tarnowska
Offline

Napisano 03.10.2009 16:06

Witam, mam dwa pytania przedstawię je w punktach:

1# Czy da się zrobić tak aby Klasa: MAG miała latarkę którą naświetla ninje/stalkera?
2# Czy da się zrobić tak aby automatycznie wszystkim klasom nie ładowały się moce gdy mają nóż tylko pod bind czy coś podobnego?

Dziękuję za odpowiedź i pomoc, pozdrawiam GaCeK
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.10.2009 17:09

1. domyslne, pewnie nie masz cvara serwerowego od latarek wlaczonego
2. Da sie, rejestrujesz w sma swoja komende i przenosisz kod odpowiedzialny za skille do tej funkcji.
  • +
  • -
  • 0

#3 GaCeK

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:202
  • GG:
  • Lokalizacja:Dąbrowa Tarnowska
Offline

Napisano 03.10.2009 17:45

Miczu mógłbyś mi pomóc w kwesti #2?
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.10.2009 17:51

Robiles cos kiedys z .sma plugow? Bo nie wiem czy masz na mysli pomoc czy moze "zrob" :?
  • +
  • -
  • 0

#5 GaCeK

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:202
  • GG:
  • Lokalizacja:Dąbrowa Tarnowska
Offline

Napisano 03.10.2009 17:53

raczej tylko edytowałem jakieś plugin'y do własnych potrzeb, no i potrafię wykombinować coś w stylu roundsound

i jeszcze dwa dodatkowe pytania:

1# czy można dodawać własne klasy, jeżeli się da to jak?
2# jak zrobić dodawanie exp graczom? [mam na myśli komendę amx_givexp]
  • +
  • -
  • 0

#6 Sztabson

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:101
  • Lokalizacja:Gdańsk
Offline

Napisano 03.10.2009 18:03

2# jak zrobić dodawanie exp graczom?

dodajesz w bazie danych sql na www poprzez edycje wpisu gracza z odpowiedniej klasy
  • +
  • -
  • 0

#7 GaCeK

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:202
  • GG:
  • Lokalizacja:Dąbrowa Tarnowska
Offline

Napisano 03.10.2009 18:05

Sztabson, lepiej żebyś zaczął czytać, pytałem jak zrobić dodawanie exp'a graczom a nie jak dodać a resztę pytań pozostawiam dla Micza
  • +
  • -
  • 0

#8 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 03.10.2009 18:26

GaCeK:

Do plugin_init:
register_clcmd("amx_exp","give_xp",ADMIN_KICK,"<Nick Gracza> <Ilosc Expa>");

Public gdzieś wrzuć ;) np. po funkcji roundstart
public give_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/tongue2.gif' class='bbc_emoticon' alt='xP' />(id,level, cid) 
{   
    if(!cmd_access(id,level, cid, 3)) 
        return PLUGIN_HANDLED; 
    new szName[32]; 
    read_argv(1, szName, 31); 
    new iTarget=cmd_target(id,szName,0); 
    if(iTarget){ 
        get_user_name(iTarget, szName, 31); 
        new szItem[10], iItem; 
        read_argv(2, szItem, 9); 
        iItem=str_to_num(szItem); 
        client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem); 
        Give_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/tongue2.gif' class='bbc_emoticon' alt='xP' />(iTarget, iItem); 
    }
    return PLUGIN_HANDLED 
}


Jest to przeróbka kodu na dawanie itemów R3X 2 rzeczy dokładniej zmienione ;)

Użycie:
amx_exp Vertricus 666
Działa przy 2 lub więcej graczach ;)
  • +
  • -
  • 0

#9 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.10.2009 20:14

Ok, to robisz wlasne register_clcmd tam dajesz nazwe funkcji co ma sie uruchomic. Szukasz miejsca w ktorym jest (ukryty) kod odpowiedzialny za uruchamiania ladowania czaru i go przenosisz. Jesli mam zgadywac (za dlugo sie uruchamia amxstudio) to pewnie to jest albo w evencie od zmiany broni lub prethinku (stawiam na to drugie).
  • +
  • -
  • 0

#10 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 03.10.2009 21:39

O ile się nie mylę to to wycinasz z public client_PreThink ( id ) robisz nowy public i rejstrujesz komede ;)
O ile to jest to o czym myśli Miczu

//USE Button actives USEMAGIC
	
	if (get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) || (player_class[id] == Mag && player_b_fireball[id]==0)) && is_user_alive(id) && !bow[id] && (on_knife[id] || (player_class[id] == Mag && player_b_fireball[id])) && player_class[id]!=NONE && player_class[id]!=Nekromanta && invisible_cast[id]==0)
	{
		if(casting[id]==1 && halflife_time()>cast_end[id])
		{
			message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id ) 
			write_byte( 0 ) 
			write_byte( 0 ) 
			message_end() 
			casting[id]=0
			call_cast(id)
		}
		else if(casting[id]==0)
		{
			new Float: time_delay = 5.0-(player_intelligence[id]/25.0)

			if(player_class[id] == Ninja) time_delay*=2.0
			else if(player_class[id] == Mag)
			{
				time_delay=time_delay = 4.0-(player_intelligence[id]/25.0)
				if(player_b_fireball[id]>0) time_delay=random_float(0.5,4.0-(player_intelligence[id]/25.0))
			}
			else if(player_class[id] == Zabojca) time_delay*=2.0
			else if(player_class[id] == Paladyn) time_delay*=1.4
			
			cast_end[id]=halflife_time()+time_delay
			
			new bar_delay = floatround(time_delay,floatround_ceil)
			
			casting[id]=1
			
			message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id ) 
			write_byte( bar_delay ) 
			write_byte( 0 ) 
			message_end() 
		}
	}
	else 
	{	
		if(casting[id]==1)
		{
			message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id ) 
			write_byte( 0 ) 
			write_byte( 0 ) 
			message_end() 	
		}
		casting[id]=0			
	}

  • +
  • -
  • 0

#11 GaCeK

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:202
  • GG:
  • Lokalizacja:Dąbrowa Tarnowska
Offline

Napisano 04.10.2009 08:12

Vertricus, nie rozumiem tego co napisałeś możesz napisać dokładną instrukcję do tego?

[ Dodano: 08-10-2009, 15:24 ]
ktoś może pomóc?
  • +
  • -
  • 0




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

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