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

Nie mogę skompilować pluginu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
13 odpowiedzi w tym temacie

#1 Neshi

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 16:26

Witam.

Mam problem, nie mogę skomilować pluginu QTM_CodMod (nowy)

Dodawałem ograniczenie rozdawania statystyk było max 10k inta to zmniejszyłem do max 5k, ale żeby to działało to trzbea skompilować ten plik .sma i nie daje rady wywala takie coś (przy każdym kompilatorze):

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

QTM_CodMod.sma(302) : error 017: undefined symbol "UstawPerk"
QTM_CodMod.sma(304) : error 017: undefined symbol "WczytajDane"
QTM_CodMod.sma(316) : error 017: undefined symbol "fm_give_item"
QTM_CodMod.sma(321) : error 017: undefined symbol "fm_give_item"
QTM_CodMod.sma(337) : error 017: undefined symbol "PobierzWytrzymalosc"
QTM_CodMod.sma(339) : error 017: undefined symbol "PobierzZdrowie"
QTM_CodMod.sma(341) : error 017: undefined symbol "PobierzKondycje"
QTM_CodMod.sma(354) : error 017: undefined symbol "Display_Fade"
QTM_CodMod.sma(399) : error 017: undefined symbol "SprawdzPoziom"
QTM_CodMod.sma(417) : error 017: undefined symbol "UstawPerk"
QTM_CodMod.sma(421) : error 017: undefined symbol "SprawdzPoziom"
QTM_CodMod.sma(453) : error 017: undefined symbol "ZapiszDane"
QTM_CodMod.sma(476) : error 017: undefined symbol "UstawPerk"
QTM_CodMod.sma(509) : error 017: undefined symbol "SprawdzPoziom"
QTM_CodMod.sma(608) : error 017: undefined symbol "WczytajDane"
QTM_CodMod.sma(613) : error 017: undefined symbol "WczytajDane"
QTM_CodMod.sma(748) : error 029: invalid expression, assumed zero

17 Errors.
Could not locate output file QTM_CodMod.amxx (compile failed).

Podaje tutaj mój kod sma QTM_CodMod


#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <nvault>

#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "1.0-3"
#define AUTHOR "QTM_Peyote"

#define MAX_WIELKOSC_NAZWY 32
#define MAX_WIELKOSC_OPISU 256
#define MAX_ILOSC_PERKOW 120
#define MAX_ILOSC_KLAS 100

#define STANDARDOWA_SZYBKOSC 250.0

#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832

new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120,
 90, 2, 35, 90, 90,0, 100};

new MsgScreenfade;

new vault;

new SyncHudObj, SyncHudObj2;
 
new cvar_doswiadczenie_za_zabojstwo,
     cvar_doswiadczenie_za_obrazenia,
     cvar_doswiadczenie_za_wygrana,
     cvar_typ_zapisu,
     cvar_limit_poziomu,
     cvar_proporcja_poziomu,
     cvar_blokada_broni;

     
new perk_zmieniony,
     klasa_zmieniona;

     
new nazwy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_NAZWY+1],
     opisy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_OPISU+1],
     max_wartosci_perkow[MAX_ILOSC_PERKOW+1],
     min_wartosci_perkow[MAX_ILOSC_PERKOW+1],
     pluginy_perkow[MAX_ILOSC_PERKOW+1],
     ilosc_perkow;

     
new nazwa_gracza[33][64],
     klasa_gracza[33],
     nowa_klasa_gracza[33],
     poziom_gracza[33],
     doswiadczenie_gracza[33],
     perk_gracza[33],
     wartosc_perku_gracza[33];

new Float:maksymalne_zdrowie_gracza[33],
     Float:szybkosc_gracza[33],
     Float:redukcja_obrazen_gracza[33];
     
new punkty_gracza[33],
     zdrowie_gracza[33],
     inteligencja_gracza[33],
     wytrzymalosc_gracza[33],
     kondycja_gracza[33];

new bool:gracz_ma_tarcze[33],
     bool:gracz_ma_noktowizor[33];     

new bonusowe_bronie_gracza[33],
     bonusowe_zdrowie_gracza[33],
     bonusowa_inteligencja_gracza[33],
     bonusowa_wytrzymalosc_gracza[33],
     bonusowa_kondycja_gracza[33];

new bronie_klasy[MAX_ILOSC_KLAS+1], 
     zdrowie_klas[MAX_ILOSC_KLAS+1],
     kondycja_klas[MAX_ILOSC_KLAS+1], 
     inteligencja_klas[MAX_ILOSC_KLAS+1], 
     wytrzymalosc_klas[MAX_ILOSC_KLAS+1],
     nazwy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_NAZWY+1],
     opisy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
     pluginy_klas[MAX_ILOSC_KLAS+1],
     ilosc_klas;

new bronie_druzyny[] = {0, 1<<CSW_GLOCK18, 1<<CSW_USP},
     bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4;

new bool:freezetime = true;

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "10");
	cvar_doswiadczenie_za_obrazenia = register_cvar("cod_damagexp", "1"); // ilosc doswiadczenia za 20 obrazen 
	cvar_doswiadczenie_za_wygrana = register_cvar("cod_winxp", "50");
	cvar_typ_zapisu = register_cvar("cod_savetype", "2");  // 1-Nick; 2-SID dla Steam; 3-IP
	cvar_limit_poziomu = register_cvar("cod_maxlevel", "200"); 
	cvar_proporcja_poziomu = register_cvar("cod_levelratio", "35"); 
	cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1"); 
	
	register_clcmd("say /klasa", "WybierzKlase");
	register_clcmd("say /class", "WybierzKlase");
	register_clcmd("say /klasy", "OpisKlasy");
	register_clcmd("say /classinfo", "OpisKlasy");
	register_clcmd("say /perk", "KomendaOpisPerku");
	register_clcmd("say /perki", "OpisPerkow");
	register_clcmd("say /perks", "OpisPerkow");
	register_clcmd("say /item", "Pomoc");
	register_clcmd("say /przedmiot", "OpisPerku");
	register_clcmd("say /drop", "WyrzucPerk");
	register_clcmd("say /wyrzuc", "WyrzucPerk");
	register_clcmd("say /reset", "KomendaResetujPunkty");
	register_clcmd("say /statystyki", "PrzydzielPunkty");
	register_clcmd("say /staty", "PrzydzielPunkty");
	register_clcmd("say /pomoc", "Pomoc");
	register_clcmd("useperk", "UzyjPerku");
	register_clcmd("radio3", "UzyjPerku");
	register_clcmd("fullupdate", "BlokujKomende");
	
	register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlasy");
	
	RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
	RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
	RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
	RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
	
	RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
	RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");
	RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
	
	register_forward(FM_CmdStart, "CmdStart");
	register_forward(FM_EmitSound, "EmitSound");
	
	register_message(get_user_msgid("Health"),"MessageHealth");
	
	register_logevent("PoczatekRundy", 2, "1=Round_Start"); 
	
	register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
	register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
	register_event("CurWeapon","CurWeapon","be", "1=1");
	register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
	
	vault = nvault_open("CodMod");
	
	MsgScreenfade = get_user_msgid("ScreenFade");
	
	SyncHudObj = CreateHudSyncObj();
	SyncHudObj2 = CreateHudSyncObj();
	
	perk_zmieniony = CreateMultiForward("cod_perk_changed", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL);
	klasa_zmieniona = CreateMultiForward("cod_class_changed", ET_CONTINUE, FP_CELL, FP_CELL);

	copy(nazwy_perkow[0], MAX_WIELKOSC_NAZWY, "Brak");
	copy(opisy_perkow[0], MAX_WIELKOSC_OPISU, "Zabij kogos, aby otrzymac przedmiot");
	copy(nazwy_klas[0], MAX_WIELKOSC_NAZWY, "Brak");
	
	set_task(1.0, "plugin_cfg");
}		

public plugin_cfg()
{
	new lokalizacja_cfg[33];
	get_configsdir(lokalizacja_cfg, charsmax(lokalizacja_cfg));
	server_cmd("exec %s/codmod.cfg", lokalizacja_cfg);
	server_exec();
}
	

public plugin_precache()
{	
	precache_sound("QTM_CodMod/select.wav");
	precache_sound("QTM_CodMod/start.wav");
	precache_sound("QTM_CodMod/start2.wav");
	precache_sound("QTM_CodMod/levelup.wav");
}

public plugin_natives()
{
	register_native("cod_set_user_xp", "UstawDoswiadczenie", 1);
	register_native("cod_set_user_class", "UstawKlase", 1);
	register_native("cod_set_user_perk", "UstawPerk", 1);
	register_native("cod_set_user_bonus_health", "UstawBonusoweZdrowie", 1);
	register_native("cod_set_user_bonus_intelligence", "UstawBonusowaInteligencje", 1);
	register_native("cod_set_user_bonus_trim", "UstawBonusowaKondycje", 1);
	register_native("cod_set_user_bonus_stamina", "UstawBonusowaWytrzymalosc", 1);
	
	register_native("cod_points_to_health", "PrzydzielZdrowie", 1);	
	register_native("cod_points_to_intelligence", "PrzydzielInteligencje", 1);	
	register_native("cod_points_to_trim", "PrzydzielKondycje", 1);	
	register_native("cod_points_to_stamina", "PrzydzielWytrzymalosc", 1);	
	
	register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1);
	register_native("cod_get_user_level", "PobierzPoziom", 1);
	register_native("cod_get_user_points", "PobierzPunkty", 1);
	register_native("cod_get_user_class", "PobierzKlase", 1);
	register_native("cod_get_user_perk", "PobierzPerk", 1);
	register_native("cod_get_user_health", "PobierzZdrowie", 1);
	register_native("cod_get_user_intelligence", "PobierzInteligencje", 1);
	register_native("cod_get_user_trim", "PobierzKondycje", 1);
	register_native("cod_get_user_stamina", "PobierzWytrzymalosc", 1);
	
	register_native("cod_get_level_xp", "PobierzDoswiadczeniePoziomu", 1);
	
	register_native("cod_get_perkid", "PobierzPerkPrzezNazwe", 1);
	register_native("cod_get_perks_num", "PobierzIloscPerkow", 1);
	register_native("cod_get_perk_name", "PobierzNazwePerku", 1);
	register_native("cod_get_perk_desc", "PobierzOpisPerku", 1);
	
	register_native("cod_get_classid", "PobierzKlasePrzezNazwe", 1);
	register_native("cod_get_classes_num", "PobierzIloscKlas", 1);
	register_native("cod_get_class_name", "PobierzNazweKlasy", 1);
	register_native("cod_get_class_desc", "PobierzOpisKlasy", 1);
	
	register_native("cod_get_class_health", "PobierzZdrowieKlasy", 1);
	register_native("cod_get_class_intelligence", "PobierzInteligencjeKlasy", 1);
	register_native("cod_get_class_trim", "PobierzKondycjeKlasy", 1);
	register_native("cod_get_class_stamina", "PobierzWytrzymaloscKlasy", 1);
	
	register_native("cod_give_weapon", "DajBron", 1);
	register_native("cod_take_weapon", "WezBron", 1);
	register_native("cod_set_user_shield", "UstawTarcze", 1);
	register_native("cod_set_user_nightvision", "UstawNoktowizor", 1);
	
	register_native("cod_inflict_damage", "ZadajObrazenia", 1);
	
	register_native("cod_register_perk", "ZarejestrujPerk");
	register_native("cod_register_class", "ZarejestrujKlase");
}

public CmdStart(id, uc_handle)
{		
	if(!is_user_alive(id))
		return FMRES_IGNORED;

	new Float: velocity[3];
	pev(id, pev_velocity, velocity);
	new Float: speed = vector_length(velocity);
	if(szybkosc_gracza[id] > speed*1.8)
		set_pev(id, pev_flTimeStepSound, 300);
	
	return FMRES_IGNORED;
}

public Odrodzenie(id)
{	
	if(!task_exists(id+ZADANIE_POKAZ_INFORMACJE))
		set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE, _, _, "b");
	
	if(nowa_klasa_gracza[id])
		UstawNowaKlase(id);
	
	if(!klasa_gracza[id])
	{
		WybierzKlase(id);
		return PLUGIN_CONTINUE;
	}
	
	DajBronie(id);
	ZastosujAtrybuty(id);
	
	if(punkty_gracza[id] > 0)
		PrzydzielPunkty(id);

	return PLUGIN_CONTINUE;
}

public UstawNowaKlase(id)
{
	new ret;
		
	new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
	DestroyForward(forward_handle);
		
	forward_handle = CreateOneForward(pluginy_klas[nowa_klasa_gracza[id]], "cod_class_enabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, nowa_klasa_gracza[id]);
	DestroyForward(forward_handle);
	
	
	if(ret == 4)	
	{
		klasa_gracza[id] = 0;
		return PLUGIN_CONTINUE;
	}

	ExecuteForward(klasa_zmieniona, ret, id, klasa_gracza[id]);
	
	if(ret == 4)	
	{
		klasa_gracza[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	klasa_gracza[id] = nowa_klasa_gracza[id];
	nowa_klasa_gracza[id] = 0;
	UstawPerk(id, perk_gracza[id], wartosc_perku_gracza[id], 0);
	
	WczytajDane(id, klasa_gracza[id]);
	return PLUGIN_CONTINUE;
}

public DajBronie(id)
{
	for(new i=1; i < 32; i++)
	{
		if((1<<i) & (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id]))
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			fm_give_item(id, weaponname);
		}
	}
	
	if(gracz_ma_tarcze[id])
		fm_give_item(id, "weapon_shield");
		
	if(gracz_ma_noktowizor[id])
		cs_set_user_nvg(id, 1);
	
	new weapons[32];
	new weaponsnum;
	get_user_weapons(id, weapons, weaponsnum);
	for(new i=0; i<weaponsnum; i++)
		if(is_user_alive(id))
			if(maxAmmo[weapons[i]] > 0)
				cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
}

public ZastosujAtrybuty(id)
{
	redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
	
	maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
	
	szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
	
	set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

public PoczatekRundy()	
{
	freezetime = false;
	for(new id=0;id<=32;id++)
	{
		if(!is_user_alive(id))
			continue;

		Display_Fade(id, 1<<9, 1<<9, 1<<12, 0, 255, 70, 100);
		
		set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
		
		switch(get_user_team(id))
		{
			case 1: client_cmd(id, "spk QTM_CodMod/start2");
			case 2: client_cmd(id, "spk QTM_CodMod/start");
		}
	}
}

public NowaRunda()
	freezetime = true;

public Obrazenia(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_alive(idattacker))
		return HAM_IGNORED;

	if(get_user_team(this) == get_user_team(idattacker))
		return HAM_IGNORED;
		
	if(get_user_health(this) <= 1)
		return HAM_IGNORED;
	
	SetHamParamFloat(4, damage*(1.0-redukcja_obrazen_gracza[this]));
		
	return HAM_IGNORED;
}

public ObrazeniaPost(id, idinflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_connected(attacker) || !klasa_gracza[attacker])
		return HAM_IGNORED;
	
	if(get_user_team(id) != get_user_team(attacker))
	{
		new doswiadczenie_za_obrazenia = get_pcvar_num(cvar_doswiadczenie_za_obrazenia);
		while(damage>20)
		{
			damage -= 20;
			doswiadczenie_gracza[attacker] += doswiadczenie_za_obrazenia;
		}
	}
	SprawdzPoziom(attacker);
	return HAM_IGNORED;
}

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
		
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
			
		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}


public MessageHealth(msg_id, msg_dest, msg_entity)
{
	static health;
	health = get_msg_arg_int(1);
	
	if (health < 256) return;
	
	if (!(health % 256))
		set_pev(msg_entity, pev_health, pev(msg_entity, pev_health)-1);
	
	set_msg_arg_int(1, get_msg_argtype(1), 255);
}

public client_authorized(id)
{
	UsunUmiejetnosci(id);

	get_user_name(id, nazwa_gracza[id], 63);
	
	UsunZadania(id);
	
	set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
}

public client_disconnect(id)
{
	ZapiszDane(id);
	UsunUmiejetnosci(id);
	UsunZadania(id);
}

public UsunUmiejetnosci(id)
{
	nowa_klasa_gracza[id] = 0;
	UstawNowaKlase(id);
	klasa_gracza[id] = 0;
	poziom_gracza[id] = 0;
	doswiadczenie_gracza[id] = 0;
	punkty_gracza[id] = 0;
	zdrowie_gracza[id] = 0;
	inteligencja_gracza[id] = 0;
	wytrzymalosc_gracza[id] = 0;
	kondycja_gracza[id] = 0;
	bonusowe_zdrowie_gracza[id] = 0;
	bonusowa_wytrzymalosc_gracza[id] = 0;
	bonusowa_inteligencja_gracza[id] = 0;
	bonusowa_kondycja_gracza[id] = 0;
	maksymalne_zdrowie_gracza[id] = 0.0;
	szybkosc_gracza[id] = 0.0;
	UstawPerk(id, 0, 0, 0);
}

public UsunZadania(id)
{
	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
	remove_task(id+ZADANIE_POKAZ_REKLAME);	
	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
}
	
public WygranaTerro()
	WygranaRunda("TERRORIST");
	
public WygranaCT()
	WygranaRunda("CT");

public WygranaRunda(const Team[])
{
	new Players[32], playerCount, id;
	get_players(Players, playerCount, "aeh", Team);
	new doswiadczenie_za_wygrana = get_pcvar_num(cvar_doswiadczenie_za_wygrana);
	
	if(get_playersnum() < 3)
		return;
		
	for (new i=0; i<playerCount; i++) 
	{
		id = Players[i];
		if(!klasa_gracza[id])
			continue;
		
		doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
		client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za wygrana runde.", doswiadczenie_za_wygrana);
		SprawdzPoziom(id);
	}
}

public KomendaOpisPerku(id)
	OpisPerku(id, perk_gracza[id], wartosc_perku_gracza[id]);
	
public OpisPerku(id, perk, wartosc)
{
	new opis_perku[MAX_WIELKOSC_OPISU];
	new losowa_wartosc[15];
	if(wartosc > -1)
		num_to_str(wartosc, losowa_wartosc, 14);
	else
		format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]);
		
	format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]);
	replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc);
	
	client_print(id, print_chat, "Perk: %s.", nazwy_perkow[perk]);
	client_print(id, print_chat, "Opis: %s.", opis_perku);
}

public OpisPerkow(id)
{
	new menu = menu_create("Wybierz Perk:", "OpisPerkow_Handle");
	for(new i=1; i <= ilosc_perkow; i++)
		menu_additem(menu, nazwy_perkow[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);
	client_cmd(id, "spk QTM_CodMod/select");
}

public OpisPerkow_Handle(id, menu, item)
{
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	OpisPerku(id, item, -1);
	OpisPerkow(id);
	return PLUGIN_CONTINUE;
}


public OpisKlasy(id)
{
	new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
	for(new i=1; i <= ilosc_klas; i++)
		menu_additem(menu, nazwy_klas[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);
	
	client_cmd(id, "spk QTM_CodMod/select");
}

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}

public WybierzKlase(id)
{
	new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
	new klasa[50];
	for(new i=1; i <= ilosc_klas; i++)
	{
		WczytajDane(id, i);
		format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
		menu_additem(menu, klasa);
	}
	
	WczytajDane(id, klasa_gracza[id]);
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
		
	client_cmd(id, "spk QTM_CodMod/select");
}

public WybierzKlase_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}	
	
	if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
		return PLUGIN_CONTINUE;
	
	nowa_klasa_gracza[id] = item;
	
	if(klasa_gracza[id])
		client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
	else
	{
		UstawNowaKlase(id);
		DajBronie(id);
		ZastosujAtrybuty(id);
	}
	
	return PLUGIN_CONTINUE;
}

public PrzydzielPunkty(id)
{
	new inteligencja[65];
	new zdrowie[60];
	new wytrzymalosc[60];
	new kondycja[60];
	new tytul[25];
	new allkondycja[60];
	new allinteligencja[60];
	new allwytrzymalosc[60];
	new allzdrowie[60];
	new kondycjaa[60];
	new wytrzymalosca[60];
	new zdrowiea[60];
	new inteligencjaa[60];
	format(inteligencja, charsmax(inteligencja), "Inteligencja: \r%i \y(Zwieksza sile przedmiotow i umiejetnosci klasy)", inteligencja_gracza[id]);
	format(zdrowie, charsmax(zdrowie), "Zdrowie: \r%i \y(Zwieksza zdrowie)", zdrowie_gracza[id]);
	format(wytrzymalosc, charsmax(wytrzymalosc), "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
	format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
	format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);
	format(allinteligencja, charsmax(allinteligencja), "Dodaj wszystko w inteligencje");
	format(allkondycja, charsmax(allkondycja), "Dodaj wszystko w kondycje");
	format(allzdrowie, charsmax(allzdrowie), "Dodaj wszystko w zdrowie");
	format(allwytrzymalosc, charsmax(allwytrzymalosc), "Dodaj wszystko w wytrzymalosc");
	format(kondycjaa, charsmax(kondycjaa), "Dodaj 10 punktow w kondycje");
	format(zdrowiea, charsmax(zdrowiea), "Dodaj 10 punktow w zdrowie");
	format(inteligencjaa, charsmax(inteligencjaa), "Dodaj 10 punktow w inteligencje");
	format(wytrzymalosca, charsmax(wytrzymalosca), "Dodaj 10 punktow w wytrzymalosc");
	new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
	menu_additem(menu, inteligencja);
	menu_additem(menu, zdrowie);
	menu_additem(menu, wytrzymalosc);
	menu_additem(menu, kondycja);
	menu_additem(menu, inteligencjaa);
	menu_additem(menu, zdrowiea);
	menu_additem(menu, wytrzymalosca);
	menu_additem(menu, kondycjaa);
	menu_additem(menu, allinteligencja);
	menu_additem(menu, allzdrowie);
	menu_additem(menu, allwytrzymalosc);
	menu_additem(menu, allkondycja);
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
#if defined BOTY
	if(is_user_bot2(id))
		PrzydzielPunkty_Handler(id, menu, random_num(8, 11));
#endif
}
 
public PrzydzielPunkty_Handler(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
 
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	if(punkty_gracza[id] < 1)
		return PLUGIN_CONTINUE;
 
	new limit_int, limit_kon, limit_wyt, limit_zdr;
	limit_int = 5000;
	limit_kon = 500;
	limit_wyt = 10000;
	limit_zdr = 10000;
 
	switch(item) 
	{ 
		case 0: 
		{	
			if(inteligencja_gracza[id] < limit_int)
			{
				inteligencja_gracza[id]++;
				punkty_gracza[id]--;
			}
			else 
				client_print(id, print_chat, "[COD:MW] Maksymalny poziom inteligencji osiagniety");
 
 
		}
		case 1: 
		{	
			if(zdrowie_gracza[id] < limit_zdr)
			{
				zdrowie_gracza[id]++;
				punkty_gracza[id]--;
			}
			else 
				client_print(id, print_chat, "[COD:MW] Maksymalny poziom zdrowia osiagniety");
		}
		case 2: 
		{	
			if(wytrzymalosc_gracza[id] < limit_wyt)
			{
				wytrzymalosc_gracza[id%

Jeżeli dacie radę to proszę o skompilowanie tego do pliku amxx, lub ewentualnie poprawienie błędów.

W załączniku daje mój plik sma

Załączone pliki


  • +
  • -
  • 0

#2 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 16:48

@ref


  • +
  • -
  • 0

#3 Qunir

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:44
  • Imię:Marek
  • Lokalizacja:Warszawa
Offline

Napisano 30.03.2014 17:17

Ten silnik który posiadasz jest ucięty w połowie wiele rzeczy zostało skasowane które są potrzebne do kompilacji prawidłowej.


  • +
  • -
  • 0

#4 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 17:20

a mógłbym prosić o taki nowy QTM z całym silnikiem? + jeszcze chciałbym mieć dodane rozdawanie statystyk np po 10,100,1000


  • +
  • -
  • 0

#5 Maniek974

    Wszechwiedzący

  • Power User

Reputacja: 352
Wszechpomocny

  • Postów:594
  • Steam:steam
  • Imię:Mariusz
  • Lokalizacja:Tomaszów Maz.
Offline

Napisano 30.03.2014 17:31

Trzymaj czysty silnik + szybkie rozdawanie statystyk.

 

Resztę plików pobierzesz z tego tematu:

http://amxx.pl/topic...-mw-mod-update/

 

 

Załączone pliki


  • +
  • -
  • 1

#6 Qunir

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:44
  • Imię:Marek
  • Lokalizacja:Warszawa
Offline

Napisano 30.03.2014 17:33

Proszę bardzo silnik: http://amxx.pl/topic...-mw-mod-update/

Z dodanym na rozdawaniem statystyk: 1, 10, 20, 50, 100, 200

 

Załączony plik  QTM_CodMod.sma   39,51 KB  85 Ilość pobrań
  QTM_CodMod.amxx


  • +
  • -
  • 1

#7 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 18:30

ok wielkie dzięki lecą +, tutaj już się wszystko powinno skompilować jak należy?

 

ps: czy jakieś inne pliki z wyjątkiem QTM_CodMod sma i amxx będą potrzebne czy tylko te 2 wgrać i już?


Użytkownik Neshi edytował ten post 30.03.2014 18:36

  • +
  • -
  • 0

#8 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 18:47

aaa i jeszcze powiedzcie jak tutaj ustawić limit statystyk czyli np żeby nie było max 10k inta tylko 5k


  • +
  • -
  • 0

#9 Qunir

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:44
  • Imię:Marek
  • Lokalizacja:Warszawa
Offline

Napisano 30.03.2014 19:11

aaa i jeszcze powiedzcie jak tutaj ustawić limit statystyk czyli np żeby nie było max 10k inta tylko 5k

 

Przepraszam źle zrozumiałem twoje zdanie. Chcesz aby jeszcze dodać maksymalną możliwość dodania PKT do inteligencji, wytrzymałość i tak dalej?


Użytkownik Qunir edytował ten post 30.03.2014 19:16

  • +
  • -
  • 0

#10 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 30.03.2014 19:21

teraz na tym czystym silniku mogę dawać nielimitowaną ilość inta w grze itd, a chciałbym to ograniczyć do powiedzmy 5k max i gdy osiągnę 5k inta to żeby wywalał napis że maxymalny poziom inteligencji został osągnięty mogło by to wyglądać tak

 

limit hp 10k

limit inta 5k

limit kondycji 500

limit wytrzymalosci 10k

 

tak mają wyglądać maxymalne statystyki w grze tzn żeby nie dało się dać więcej niż 5k inta, więcej niż 10k hp itd


Użytkownik Neshi edytował ten post 30.03.2014 19:23

  • +
  • -
  • 0

#11 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 31.03.2014 15:38

@ref


  • +
  • -
  • 0

#12 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 31.03.2014 19:53

@reff


  • +
  • -
  • 0

#13 Qunir

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:44
  • Imię:Marek
  • Lokalizacja:Warszawa
Offline

Napisano 31.03.2014 20:29

Proszę bardzo. Dodatkowo będziesz mógł sam ustawić sobie cvar co jaką ma mieć max w dodaniu. Nie miałem czasy tylko przetestować w razie czego napiszesz jakby coś nie działało, lecz wszystko powinno być dobrze:

 

Cvar:

cod_limit_int 150
cod_limit_kon 150
cod_limit_wyt 150
cod_limit_zdr 150

Załączony plik  QTM_CodMod.sma   40,15 KB  74 Ilość pobrań
  QTM_CodMod.amxx


  • +
  • -
  • 1

#14 Neshi

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Krystian
  • Lokalizacja:Żelazowice
Offline

Napisano 01.04.2014 16:12

Wielkie dzięki wszstko działa jak należy ;)

Temat można zamknąć


  • +
  • -
  • 0




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

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