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

Jak zczytać lvl zabitego i osoby która zabiła

cod nowy

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

#1 SoPelQ

    Banned

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 10.05.2013 18:50

Hey. Otóż w tym pluginie: http://amxx.pl/topic...ajace-z-graczy/ chciałem zmienić losowy exp na (lvl gracza zabijającego + lvl gracza zabitego) jako dodatkowy exp z paczki.

I teraz nasuwa się pytanko jak ja mam to zrobić, bo mi nie wychodziło;/


Użytkownik SoPelQ edytował ten post 10.05.2013 18:51


#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 10.05.2013 19:02

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <codmod>

#define PLUGIN "Bonusowe Paczki"
#define VERSION "1.0"
#define AUTHOR "radim edytowal ricO"

new const modelitem[] = "models/cod_paczka.mdl";
new const prefix[] = "^04[BONUS]^01"

public plugin_init()
{
	register_plugin(PLUGIN, AUTHOR, VERSION)
	
	register_forward(FM_Touch, "fwd_touch")
	
	register_event("DeathMsg", "DeathMsg", "a")
	register_logevent("PoczatekRundy", 2, "1=Round_Start"); 
	
}

public plugin_precache()
{
	precache_model(modelitem);
}


public PoczatekRundy()	
	kill_all_entity("paczka")


public DeathMsg()
{
	new kid = read_data(1)
	new vid = read_data(2)
	
	if( kid == vid )
		return PLUGIN_CONTINUE;
	if(is_user_connected(kid) || is_user_connected(vid))
		create_itm(vid, 0)
	return PLUGIN_CONTINUE;
}

public UzyjPaczki(id, ent)
{
	if( !is_user_connected(id) || !is_user_alive(id) || !pev_valid(ent))
		return PLUGIN_HANDLED;
	
	
	switch(random_num(1, 5))
	{
		case 1:
		{
			new hp = get_user_health(id);
			new losowehp = random_num(-5, -20);
			set_user_health(id, hp+losowehp)
			ColorChat(id, GREY, "^x04%s ^x01Znalazles trucizne. Tracisz ^x03%i^x01 HP!", prefix, losowehp)
		}
		case 2:
		{
			new hp = get_user_health(id);
			new losowehp = random_num(5, 40);
			set_user_health(id, hp+losowehp)
			ColorChat(id, GREY, "^x04%s ^x01Znalazles apteczke. Dostales ^x03%i^x01 HP!", prefix, losowehp)	
		}
		case 3:
		{
			new kasa = cs_get_user_money(id);
			new losowakasa = random_num(20, 5000);
			cs_set_user_money(id, kasa+losowakasa)
			ColorChat(id, GREY, "^x04%s ^x01Znalazles sakiewke ze zlotem. Dostales ^x03%i^x01 kasy!", prefix, losowakasa)	
		}
		case 4:
		{
			ColorChat(id, GREY, "^x04%s ^x01Posiadasz juz perk!", prefix)	
			if(cod_get_user_perk(id))
				return PLUGIN_HANDLED
			
			cod_set_user_perk(id, -1, -1, 1);
		}
		case 5:
		{
			new explvl = (cod_get_user_level(id)+cod_get_user_level(pev(ent, pev_iuser2)))
			cod_set_user_xp(id, cod_get_user_xp(id)+explvl)
			ColorChat(id, GREY, "^x04%s ^x01Znalazles ^x03%i^x01 Expa!", prefix, explvl)
		}
	}
	return PLUGIN_HANDLED;
}


public create_itm(id, id_item){ 
	
	new Float:origins[3]
	pev(id,pev_origin,origins);
	new entit=create_entity("info_target")
	
	origins[0]+=50.0
	origins[2]-=32.0
	
	set_pev(entit,pev_origin,origins)
	entity_set_model(entit,modelitem)
	set_pev(entit,pev_classname,"paczka");
	
	dllfunc(DLLFunc_Spawn, entit); 
	set_pev(entit,pev_solid,SOLID_BBOX); 
	set_pev(entit,pev_movetype,MOVETYPE_FLY);
	
	engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});
	
	engfunc(EngFunc_DropToFloor,entit);
	
	set_pev(entit, pev_iuser1, id_item)
	set_pev(entit, pev_iuser2, id)
}
public fwd_touch(ent,id)
{       
	if(!is_user_alive(id)) return FMRES_IGNORED;
	
	if(!pev_valid(ent)) return FMRES_IGNORED;
	
	static classname[32];
	pev(ent,pev_classname,classname,31); 
	
	if(!equali(classname,"paczka")) return FMRES_IGNORED;
	
	if(pev(id,pev_button))
	{
	{
		UzyjPaczki(id, ent)
		engfunc(EngFunc_RemoveEntity,ent);
	}
}
return FMRES_IGNORED; 
}
public kill_all_entity(classname[]) {
new iEnt = find_ent_by_class(-1, classname)
while(iEnt > 0) {
	remove_entity(iEnt)
	iEnt = find_ent_by_class(iEnt, classname)		
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
Lecz nie sprawdzalem, gdyz na swoim laptopie nie posiadam cs'a :)

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 SAL

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:107
  • Lokalizacja:Plock
Offline

Napisano 10.05.2013 19:13

sprawdzil juz ktos?


Użytkownik SAL edytował ten post 10.05.2013 19:14

  • +
  • -
  • 0

#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 10.05.2013 19:17

Teoretycznie powinno działać. Wgraj na serwer i sprawdź, jak masz graczy to poczekaj ;x

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 SoPelQ

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 10.05.2013 20:27

Wszystko ładnie działa, jeżeli chodzi o ten plug.

Ale mam jeszcze jedno pytanko. Jest taki perk w standardowym codzie jak maksymalne skupienie +20 expa za zabicie. Zmieniłem to bo chciałem uzyskać dodatkowy exp za fraga +(mój lvl * 10) niestety nie działa to wogóle.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <fakemeta>

new const perk_name[] = "Maksymalne skupienie";
new const perk_desc[] = "Za kazdego fraga dostajesz +(twoj lvl * 300) dodatkowego expa za fraga.";

new bool:ma_perk[33];

public plugin_init() 
{
	register_plugin(perk_name, "1.0", "QTM_Peyote");
	
	cod_register_perk(perk_name, perk_desc);
	
	register_event("DeathMsg", "Death", "ade");
}

public cod_perk_enabled(id)
ma_perk[id] = true;

public cod_perk_disabled(id)
ma_perk[id] = false;

public Death(id)
{	
	new attacker = read_data(1);
	if(!is_user_connected(attacker))
	return PLUGIN_CONTINUE;
	
	if(!ma_perk[attacker])
	return PLUGIN_CONTINUE;
	
	if(get_user_team(id) != get_user_team(attacker))
		cod_set_user_xp(id, cod_get_user_xp(id)+cod_get_user_level*10);
	return PLUGIN_CONTINUE;
}

 



Jako że edita nie mogę dać. Pomyłka w kodzie napisałem przykład na szybko.

Poprawka niżej tego co napisałem i nie działa, jak chciałem.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <fakemeta>

new const perk_name[] = "Maksymalne skupienie";
new const perk_desc[] = "Za kazdego fraga dostajesz +(twoj lvl * 300) dodatkowego expa za fraga.";

new bool:ma_perk[33];

public plugin_init() 
{
    register_plugin(perk_name, "1.0", "QTM_Peyote");
    
    cod_register_perk(perk_name, perk_desc);
    
    register_event("DeathMsg", "Death", "ade");
}

public cod_perk_enabled(id)
ma_perk[id] = true;

public cod_perk_disabled(id)
ma_perk[id] = false;

public Death(id)
{    
    new attacker = read_data(1);
    if(!is_user_connected(attacker))
    return PLUGIN_CONTINUE;
    
    if(!ma_perk[attacker])
    return PLUGIN_CONTINUE;
    
    if(get_user_team(id) != get_user_team(attacker))
        cod_set_user_xp(id, cod_get_user_xp(id)+cod_get_user_level(id)*10);
    return PLUGIN_CONTINUE;
}


#6 SAL

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:107
  • Lokalizacja:Plock
Offline

Napisano 10.05.2013 21:01

nie powinno zamiast tego 

cod_set_user_xp(id, cod_get_user_xp(id)+cod_get_user_level(id)*10);

 

byc cos takiego 

new ixp = cod_get_user_level(id)*10

cod_set_user_xp(id, cod_get_user_xp(id) + ixp)

 

moze zadziala ;)

 


  • +
  • -
  • 0

#7 SoPelQ

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 10.05.2013 21:05

@up: Sprawdzałem to już wcześniej.

Poza tym kod to jedno i to samo inaczej zapisane.


Użytkownik SoPelQ edytował ten post 10.05.2013 21:06


#8 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 11.05.2013 07:58

register_event("DeathMsg", "Death", "ade");
na
register_event("DeathMsg", "Death", "a");
i
public Death(id)
{    
    new attacker = read_data(1);
    if(!is_user_connected(attacker))
    return PLUGIN_CONTINUE;
    
    if(!ma_perk[attacker])
    return PLUGIN_CONTINUE;
    
    if(get_user_team(id) != get_user_team(attacker))
        cod_set_user_xp(id, cod_get_user_xp(id)+cod_get_user_level(id)*10);
    return PLUGIN_CONTINUE;
}
na
public Death()
{    
    new attacker = read_data(1);
    new id = read_data(2);
    if(!is_user_connected(attacker) || !is_user_connected(id))
    return PLUGIN_CONTINUE;
    
    if(!ma_perk[attacker])
    return PLUGIN_CONTINUE;
    
    if(get_user_team(id) != get_user_team(attacker))
        cod_set_user_xp(attacker, cod_get_user_xp(attacker)+(cod_get_user_level(attacker)*10));
    return PLUGIN_CONTINUE;
}

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#9 SoPelQ

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 11.05.2013 10:55

Jeszcze raz dzięki za pomoc, przy okazji pomyłkę w opisie wychwyciłem;d



#10 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 11.05.2013 12:27

Też ją widziałem, tylko nie zdążyłem napisac, bo bateria w laptopie była na 3% :) Działa ?

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#11 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 11.05.2013 12:36

Nie powinno być 

 

if(!is_user_connected(attacker) & !is_user_connected(id))

 

??


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#12 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 11.05.2013 12:39

nieee :) jeżeli 'atakujacy' (attacker) albo 'id' (obrywajacy) nie sa polaczeni z serwerem ( czyli funkcja zostala zle wykonana ) to przerywa funkcje. Bo jak ma pobrac/ustawic gracza/owi dane skoro gracz nie jeste połączony :D ? Wywali błąd Invalid Player

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#13 SzalonyKrejzol

    Zaawansowany

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:83
  • Lokalizacja:Nie Wiem Co To
Offline

Napisano 11.05.2013 13:40

@playazz44
takie pytanko,dzialaja ci dobrze perki z tych paczek czy ci podmienia nawet jak masz?
  • +
  • -
  • 0

#14 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 11.05.2013 14:06

Nie korzystam z tego, po prostu zerknąłem na kod i spytałem bo zawsze robiłem inaczej i działa.


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#15 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 24.05.2013 18:15

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

DarkGL to mój autorytet.






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