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 Nowy

Dywizja CodMod

cod nowy

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

#1 UTeam

    Pomocny

  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 09.06.2014 09:12

*
Popularny

opis

Witam dzis do zaprezentowania mam swoj dosc stary kod lecz, ktory z powodzeniem zaszczepil sie na moim dawnym serwerze codmod.

Dywizje co to jest ?

To nie jest party,misje czy jakis quest.

Gracz dolaczajac do jednej z 6 dywizji(zaleznych od lvl) dostaje dodatkowy exp wtedy gdy partner z naszej dywizji zabije przeciwnika i odwrotnie.

Kazdy z danej dywizji jezeli jest zywy oczywiscie dostaje dodatkowy exp za zabicie.

 

instalacja

 

Pod:

new bool:freezetime = true;

Dodajemy:

new const nazwy_dywizji[][] = {"Brak", 
	"Dywizja I", //1
	"Dywizja II", //2
	"Dywizja III", //3
	"Dywizja IV", //4
	"Dywizja V", //5
	"Dywizja VI"
	
};
new const lvl_dywizji[] = {0,
	5,
	15,
	30,
	50,
	65,
	85
};

new dywizja_gracza[33];

Dalej w plugin_init() dodajemy:

register_clcmd("say /dywizja", "MenuDywizja");

Nastepnie szukamy public SmiercGraczaPost(id, attacker, shouldgib)

I w tej klamrze

if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{

na koncu dodajemy:

		new dywizja_doswiadczenie;
		
		for(new i=1;i<33;i++)
		{
			if(!is_user_alive(i))
				continue;
				
			if(attacker == i)
				continue;
			
			if(get_user_team(attacker) != get_user_team(i))
				continue;
			
			if(dywizja_gracza[attacker] == dywizja_gracza[i])
			{				
				if(dywizja_gracza[attacker] == 1) dywizja_doswiadczenie = 10;
				if(dywizja_gracza[attacker] == 2) dywizja_doswiadczenie = 30;
				if(dywizja_gracza[attacker] == 3) dywizja_doswiadczenie = 70;
				if(dywizja_gracza[attacker] == 4) dywizja_doswiadczenie = 150;
				if(dywizja_gracza[attacker] == 5) dywizja_doswiadczenie = 350;
				if(dywizja_gracza[attacker] == 6) dywizja_doswiadczenie = 800;
				
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(i, SyncHudObj4, "Dywizja +%i Expa", dywizja_doswiadczenie);
                                //client_print(i,print_chat,"Dywizja +%i Expa", dywizja_doswiadczenie);
                                // Powyzej znajduje sie kod na wyswietlenie informacji pierwsze 2 to hud a 3 linijka info na czacie poprzez usuniecie // odblokujemy wysylanie informacji o expie dywizji.
				doswiadczenie_gracza[i] += dywizja_doswiadczenie;
			}
			else
			{
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(attacker, SyncHudObj4, "Zaden gracz nie dolaczyl do Dywizji");
				//client_print(attacker,print_chat,"Zaden gracz nie dolaczyl do Dywizji");
                                // To samo co wyzej. Odblokowac wedlug uznania
				
			}
		}

@up

Gdy odblokujemy wysylanie wiadomosci w hud nalezy dodac kolejny kanal hud.

Spoiler

 

Szukamy public UsunUmiejetnosci(id) i na koncu dodajemy:

dywizja_gracza[id] = 0;

Pod koniec szukamy public PokazInformacje(id) i zamieniamy caly public na ten.

public PokazInformacje(id) 
{
	id -= ZADANIE_POKAZ_INFORMACJE;
	
	if(!is_user_connected(id))
	{
		remove_task(id+ZADANIE_POKAZ_INFORMACJE);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_alive(id))
	{
		new target = pev(id, pev_iuser2);
		
		if(!target)
			return PLUGIN_CONTINUE;
		
		set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa: %s^nDywizja: %s^nDoswiadczenie: %i / %i^nPoziom: %i^nPerk: %s", nazwy_klas[klasa_gracza[target]], nazwy_dywizji[dywizja_gracza[target]],doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
		return PLUGIN_CONTINUE;
	}
	
	set_hudmessage(188, 176, 44, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[ Klasa:  %s ]^n[ Dywizja: %s ]^n[ Doswiadczenie: %i / %i ]^n[ Poziom: %i ]^n[ Perk: %s ]", nazwy_klas[klasa_gracza[id]], nazwy_dywizji[dywizja_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
	
	return PLUGIN_CONTINUE;
}

Wyzej wersja jest dla zielonych.Jezeli ktos sie zna na pisaniu to wie co dodac i co zmienic jezeli nie chce podmieniac calego publica.

 

I na samym koncu moda dodajemy to.

public MenuDywizja(id)
{
	new menu=menu_create("Dywzija","Dywzija_handler");
	for(new i=1; i<sizeof nazwy_dywizji; i++)
		menu_additem(menu, nazwy_dywizji[i]);
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
}
public Dywzija_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	switch(item)
	{
		case 0:
		{
			if(poziom_gracza[id] < 5)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 1
			}
			
		}
		case 1:
		{
			if(poziom_gracza[id] < 15)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 2
			}
		}
		case 2:
		{
			if(poziom_gracza[id] < 30)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 3
			}
		}
		case 3:
		{
			if(poziom_gracza[id] < 50)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 4
			}
		}
		case 4:
		{
			if(poziom_gracza[id] < 65)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 5
			}
		}
		case 5:
		{
			if(poziom_gracza[id] < 85)
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = 6
			}
		}
		
	}
	return PLUGIN_CONTINUE;
}

W razie jakis problemow badz ulepszenia,dodania,zmienienia cos w kodzie proszę pisac gdyz ten kod wycinal ze swojego codmoda.

 

ps. Poradnik zostal napisany przeze mnie na odpracowania warna :)



#2 Ventri

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:227
  • Lokalizacja:Łódź
Offline

Napisano 09.06.2014 13:24

Przyda się :) +


  • +
  • -
  • 1

4_22.png


#3 dredek

    Wszechobecny

  • Użytkownik

Reputacja: 162
Profesjonalista

  • Postów:476
  • GG:
  • Imię:Dawid
  • Lokalizacja:OLK
Offline

Napisano 09.06.2014 14:06

Ciekawe ciekawe :)

Leci +

 

 

@edit

Możesz dodać do tego zapis dywizji...


Użytkownik dredek edytował ten post 09.06.2014 14:23

  • +
  • -
  • 4

#4 UTeam

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 09.06.2014 19:03

Aktualnie nie mam czasu ale plusik za ciekawy pomysl gdyz to sie przyda. Tak dla leniwych :P

#5 camelovy

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:48
  • Imię:Damian
  • Lokalizacja:Gdańsk
Offline

Napisano 09.06.2014 21:53

nice +
  • +
  • -
  • 0

CsTopek.PL ^D^


#6 ex0

    Wolny strzelec.

  • Power User

Reputacja: 383
Wszechpomocny

  • Postów:1 127
  • GG:
  • Imię:Kacper
  • Lokalizacja:Żywiec
Offline

Napisano 10.06.2014 06:36

Zapis przynależności do dywizji to moim zdaniem podstawa.

Ponadto zauważyłem, że po osiągnięciu pierwszego poziomu możliwości dołączenia odblokuje się nam nie tylko pierwszy ale stopień wyżej lub całokształt, to zauważyliśmy na dwóch różnych serwerach z moim kolegą.

Nie wiem czy to celowe, czy błąd w kodzie ale także mógłbyś nad tym zerknąć, bo bardziej ambitne osoby sobie z tym poradzą a jeżeli już robimy coś tu na forum to musimy się liczyć, że większość sobie nie poradzi ...


  • +
  • -
  • 1

TWORZENIE FOR SPOŁECZNOŚCIOWYCH | ZARZĄDZANIE STRONAMI INTERNETOWYMI
WSPARCIE TECHNICZNE SERWERÓW HLDS | MODERNIZACJA, OPTYMALIZACJA, ZABEZPIECZENIA


Zapraszam do mojego profilu ;)


#7 FunnyeRss

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:30
  • Imię:Damian
  • Lokalizacja:Piła / Poland
Offline

Napisano 13.06.2014 06:09

Wgrałbyś mi to? Bo jak ja to wgrywam to od razu 17 errorów przy kompilacji.

 

Załączony plik  QTM_CodMod.sma   41,46 KB  76 Ilość pobrań
  QTM_CodMod.amxx

 

 


  • +
  • -
  • 0

#8 UTeam

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 13.06.2014 21:06

proszę.

 

Załączony plik  QTM_CodMod.sma   45,58 KB  97 Ilość pobrań
  QTM_CodMod.amxx



#9 Gryzon

    Zaawansowany

  • Zbanowany

Reputacja: 108
Zaawansowany

  • Postów:107
  • GG:
  • Steam:steam
  • Imię:Szymek
  • Lokalizacja:Olkusz
Offline

Napisano 13.06.2014 22:33

A pytanie po co SyncHudObj4 skoro do niczego nie zostało wykorzystane.



#10 UTeam

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 13.06.2014 23:01

Przeczytaj komentarze przy kodzie. Dałem wybór do odblokowania czy hud czy czat. A nie odblokowalem huda ponieważ nie wiem ile poszczególny użytkownik ma kanałów wykorzystanych w swoim cod modzie

#11 UTeam

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 18.06.2014 14:03

Tutaj macie skrocona wersje Dywizja_handler z wykorzystaniem tablicy z levelami (ta pierwsza wersje pisalem dawno i tylko dla siebie wiec nie dopieszczalem kodu).

public Dywzija_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	switch(item)
	{
		case 0..5:
		{
			if(poziom_gracza[id] < lvl_dywizji[item+1])
				client_print(id,print_chat,"%s dostepna od %i Poziomu",nazwy_dywizji[item+1],lvl_dywizji[item+1]);
			else
			{
				client_print(id,print_chat,"Dolaczyles do %s",nazwy_dywizji[item+1]);
				dywizja_gracza[id] = item+1
			}
			
		}	
	}
	return PLUGIN_CONTINUE;
}


#12 `izcoN

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:61
  • GG:
  • Imię:Dawid
  • Lokalizacja:Warszawa
Offline

Napisano 19.06.2014 19:02

Przetestuje u siebie i dam znać ;)



#13 TSUBA

    Wszechwidzący

  • Użytkownik

Reputacja: 36
Życzliwy

  • Postów:229
  • Lokalizacja:Polska
Offline

Napisano 02.07.2014 15:31

Umiałby ktoś to przerobić że na przykład osiągamy 10 poziom dołączamy do dywizji numer 1 i po zmianie mapy nadal jesteśmy w tej dywizji? bo obecnie jest tak ze po dołączeniu i zmianie mapy na inną mamy Dywizja: Brak. Ewentualnie będę wdzięczny gdyby ktoś napisał jak to zmienić gdyż mam pewna koncepcje ulepszenia tego pluginu jednak nie potrafie sobie poradzić z tym kasowaniem dywizji po zmianie mapy.Z góry dzięki


  • +
  • -
  • 0

#14 ex0

    Wolny strzelec.

  • Power User

Reputacja: 383
Wszechpomocny

  • Postów:1 127
  • GG:
  • Imię:Kacper
  • Lokalizacja:Żywiec
Offline

Napisano 02.07.2014 16:08

Umiałby ktoś to przerobić że na przykład osiągamy 10 poziom dołączamy do dywizji numer 1 i po zmianie mapy nadal jesteśmy w tej dywizji? bo obecnie jest tak ze po dołączeniu i zmianie mapy na inną mamy Dywizja: Brak. Ewentualnie będę wdzięczny gdyby ktoś napisał jak to zmienić gdyż mam pewna koncepcje ulepszenia tego pluginu jednak nie potrafie sobie poradzić z tym kasowaniem dywizji po zmianie mapy.Z góry Dzięki

Zapis nVault lub SQL jak kto woli wystarczy dodać, a poziomy potrzebne do osiągnięcia dywizji już musisz dodać sam, analogicznie do tego co jest w .sma 


  • +
  • -
  • 0

TWORZENIE FOR SPOŁECZNOŚCIOWYCH | ZARZĄDZANIE STRONAMI INTERNETOWYMI
WSPARCIE TECHNICZNE SERWERÓW HLDS | MODERNIZACJA, OPTYMALIZACJA, ZABEZPIECZENIA


Zapraszam do mojego profilu ;)


#15 TSUBA

    Wszechwidzący

  • Użytkownik

Reputacja: 36
Życzliwy

  • Postów:229
  • Lokalizacja:Polska
Offline

Napisano 02.07.2014 19:54

Lost właśnie ja nie mam pojęcia jak dodać ten zapis nvault właśnie co do poziomów to ogarnę ale ten zapis dzięki któremu nie będzie po dołączeniu do drużyny i zmianie mapy widniał napis Dywizja: Brak...


  • +
  • -
  • 0

#16 rMentos

    Życzliwy

  • Zbanowany

Reputacja: -2
Nowy

  • Postów:24
  • Lokalizacja:Warszawa
Offline

Napisano 05.07.2014 13:43

był by ktoś w stanie dodać zapis vault ?



#17 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 06.07.2014 13:01

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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