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

Przelicznik regeneracji hp ... Pytanie

CoD Nowy

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

#1 Kolar`.

    Guru

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 05.09.2011 18:04

Cóż ... Zrobiłem już kolejną statystyke "Regeneracja HP" Która co 5 sekund daje ci X HP. - (X ma wzrastać co 4 punkty dodanych w statystyke i dawać HP co 5 SEKUND. !) Lecz nie potrafie dodać "atrybutu".

public ZastosujAtrybuty(id)
{
redukcja_obrazen_gracza[id] = 1.2*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));

maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1)*2.0;

szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;

set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}



Może ktoś by to zrobił z perku Wyszkolenie Sanitrane... ?

public cod_perk_enabled(id)
{
ma_perk[id] = true;
set_task(5.0, "WyszkolenieSanitarne", id+TASK_WYSZKOLENIE_SANITARNE);
}
public cod_perk_disabled(id)
ma_perk[id] = false;
public WyszkolenieSanitarne(id)
{
id -= TASK_WYSZKOLENIE_SANITARNE;

if(!is_user_connected(id))
return PLUGIN_CONTINUE;

if(ma_perk[id])
{
set_task(5.0, "WyszkolenieSanitarne", id+TASK_WYSZKOLENIE_SANITARNE);


proszę o pomoc

REF. Bardzo mi zależy !

Użytkownik Abes Mapper edytował ten post 07.09.2011 05:41


#2 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.09.2011 18:23

Do zastosuj atrybuty:
set_task(5.0, "Regeneracja", id+TASK_REGENERACJA);

I pod tym:
public Regeneracja(id)
{
id -= TASK_REGENERACJA;

if(!is_user_connected(id))
return PLUGIN_CONTINUE;

set_task(5.0, "Regeneracja", id+TASK_REGENERACJA);

if(is_user_alive(id))
{
new cur_health = get_user_health(id);
new max_health = (PobierzZdrowie(id, 1, 1, 1))+100;
new new_health;

wartosc_regeneracji_gracza[id] = float(PobierzRegeneracje(id, 1, 1, 1))/4
//floatround(wartosc_regeneracji_gracza[id], floatround_floor)

if(cur_health+(floatround(wartosc_regeneracji_gracza[id], floatround_floor)) < max_health)
{
new_health = cur_health+floatround(wartosc_regeneracji_gracza[id], floatround_floor);
}
else
{
new_health = max_health;
}
set_user_health(id, new_health);
}
return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1

#3 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 05.09.2011 19:01

Errory ... Tutaj:
 set_task(5.0, "Regeneracja", id+TASK_REGENERACJA);


Errory:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "TASK_REGENERACJA" on line 428
Error: Undefined symbol "TASK_REGENERACJA" on line 433
Error: Undefined symbol "TASK_REGENERACJA" on line 438
Error: Undefined symbol "wartosc_regeneracji_gracza" on line 446
Warning: Expression has no effect on line 446
Error: Expected token: ";", but found "]" on line 446
Error: Invalid expression, assumed zero on line 446
Error: Too many error messages on one line on line 446
Compilation aborted.
7 Errors.
Could not locate output file C:\Users\Kamil\Desktop\CoD Regeneracja HP + DMG\QTM_CodMod.amx (compile failed).

Kawałek SMA

public ZastosujAtrybuty(id)
{
redukcja_obrazen_gracza[id] = 1.2*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));

maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1)*2.0;

szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;

set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);

set_task(5.0, "Regeneracja", id+TASK_REGENERACJA);
}
public Regeneracja(id)
{
id -= TASK_REGENERACJA;

if(!is_user_connected(id))
return PLUGIN_CONTINUE;

set_task(5.0, "Regeneracja", id+TASK_REGENERACJA);

if(is_user_alive(id))
{
new cur_health = get_user_health(id);
new max_health = (PobierzZdrowie(id, 1, 1, 1))+100;
new new_health;

wartosc_regeneracji_gracza[id] = float(PobierzRegeneracje(id, 1, 1, 1))/4
//floatround(wartosc_regeneracji_gracza[id], floatround_floor)

if(cur_health+(floatround(wartosc_regeneracji_gracza[id], floatround_floor)) < max_health)
{
new_health = cur_health+floatround(wartosc_regeneracji_gracza[id], floatround_floor);
}
else
{
new_health = max_health;
}
set_user_health(id, new_health);
}
return PLUGIN_CONTINUE;
}


Co robię źle ?

#4 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.09.2011 19:10

Daj gdziekolwiek w kodzie (np. na początku) coś takiego:
#define TASK_REGENERACJA 666666
  • +
  • -
  • 1

#5 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 05.09.2011 19:25

Cóż ... Skompilowało się ale nie ma klas ...

L 09/05/2011 - 20:22:21: [AMXX]	[0] QTM_CodMod.sma::WybierzKlase (line 754)

Sma co do klasy ....
public WybierzKlase(id)
{
new menu = menu_create("\rxxxxx.eu\y - \wWybierz panstwo postaci:", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!is_in_previous(frakcja_klas[i],i)){
menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
}
}
menu_addtext(menu, " ", 0);
menu_addtext(menu, "\dKompletny opis postaci znajdziesz na \yxxxxx.eu", 0);
menu_addtext(menu, "\dPrzydatne komendy w skrocie: \w/k, /r, /i, /p, d, /s. ", 0);
menu_addtext(menu, "\yCzity \w= \rPERM ", 0);
menu_addtext(menu, "\yREKLAMA \w= \rBAN ", 0);
menu_addtext(menu, "\yEXPIENIE \w= \rBAN ", 0);
menu_addtext(menu, "\yTXT \w= \rBAN ", 0);
menu_addtext(menu, "\yBRAKK ULTURY \w= \rBAN ", 0);
menu_addtext(menu, "\yZapraszamy na nasze forum: \dxxxxxx.eu", 0);
menu_addtext(menu, "\yCall Of Duty Edited By \rKolar`. \w| \dxxxxxx.eu!", 0);


menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Cofnij");
menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
menu_display(id, menu);
}

public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)

new menu2 = menu_create("\rProDiablo.eu\y - \yWybierz postac -", "WybierzKlase_Handle");

new klasa[50],szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i])){
WczytajDane(id, i);
format(klasa, charsmax(klasa), "\y%s \wDosw.: \r%i", nazwy_klas[i], poziom_gracza[id]);
num_to_str(i,szTmp,charsmax(szTmp));
menu_additem(menu2, klasa,szTmp);

}

}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu2, MPROP_EXITNAME, "\rWyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "\rCofnij");
menu_setprop(menu2, MPROP_NEXTNAME, "\rDalej");
menu_display(id, menu2);

client_cmd(id, "spk QTM_CodMod/select");

menu_destroy(menu);
return PLUGIN_CONTINUE;
}


Oraz sma klasy co ma regeneracje ...

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
#define DMG_HE (1<<24)
new bool:ma_klase[33];
new const nazwa[] = "Strzelec Wyborowy";
new const opis[] = "Ma 1/10 z M4 i AK";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_AK47;
new const zdrowie = 10;
new const kondycja = -20;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new const obrazenia = 20;
new const regeneracja = 40;
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia, regeneracja);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if((weapon == CSW_M4A1 || weapon == CSW_AK47) && !random(10))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}

return HAM_IGNORED;
}


Lub jeszcze inaczej ... Mógł bym Ci napisać na gg i dać moje całe sma ?

Użytkownik RPK. Shark edytował ten post 07.09.2011 09:04
Staraj się cenzurować adresy stron.


#6 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.09.2011 20:22

Edytowałeś klasy...?

Ewentualnie zmień Zarejestruj klasę na coś takiego:
public ZarejestrujKlase(plugin, params)
{
if(params > 6 && params < 9)
return PLUGIN_CONTINUE;

if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;

pluginy_klas[ilosc_klas] = plugin;

get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);

bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
if(params == 8)
statystyka[ilosc_klas] = 0

for(new i=0;i<klasid;i++)
{
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}

return ilosc_klas;
}

Oczywiście pozmieniaj sobie statystyka[iloscklas] no i jeżeli dodałeś więcej niż jedną statystykę to odpowienio pozmieniaj cyferki w ifach.

Użytkownik A może sma? edytował ten post 05.09.2011 20:23

  • +
  • -
  • 1

#7 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 07.09.2011 15:39

Sorki. Nie było mnie długo. Nie dodałem tego co napisałeś wyżej bo raczej tyczy się to czegoś innego.

Logi;
L 09/06/2011 - 07:55:33: [AMXX] Plugin "odznaki_hud.amxx" failed to load: Plugin uses an unknown function (name "cod_get_user_xp") - check your modules.ini.
L 09/06/2011 - 07:55:33: [AMXX] Plugin "cod_xpv2.amxx" failed to load: Plugin uses an unknown function (name "cod_get_user_xp") - check your modules.ini.
L 09/06/2011 - 07:55:33: [AMXX] Plugin "cod_pytania.amxx" failed to load: Plugin uses an unknown function (name "cod_get_user_xp") - check your modules.ini.
L 09/06/2011 - 07:55:33: [AMXX] Plugin "codclass_ninja.amxx" failed to load: Plugin uses an unknown function (name "cod_register_class") - check your modules.ini.
L 09/06/2011 - 07:55:33: [AMXX] Plugin "codclass_strzelecwyborowy.amxx" failed to load: Plugin uses an unknown function (name "cod_register_class") - check your modules.ini.
L 09/06/2011 - 07:55:33: [AMXX] Plugin "codperk_butyszybkosci.amxx" failed to load: Plugin uses an unknown function (name "cod_get_user_trim") - check your modules.ini.
L 09/06/2011 - 07:55:34: [admin.amxx] Login: "Kolar<1><VALVE_ID_LAN><>" became an admin (account "Kolar") (access "abcdefghijklmnopqrstu") (address "192.168.1.100")

I tu chyba jest problem z codmod.inc bo moduły mam odblokowane
Załączony plik  codmod.inc   7,22 KB  26 Ilość pobrań


A tutaj .sma klasy
Załączony plik  codclass_strzelecwyborowy.sma   1,2 KB  39 Ilość pobrań
  codclass_strzelecwyborowy.amxx

A po zmienieniu zarejestruj klase:
public ZarejestrujKlase(plugin, params)
{
if(params > 6 && params < 9)
return PLUGIN_CONTINUE;

if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;

pluginy_klas[ilosc_klas] = plugin;

get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);

bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
if(params == 9)
regeneracja_klas[ilosc_klas] = get_param(8);

for(new i=0;i<klasid;i++)
{
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}

return ilosc_klas;
}


I logi dalej wyskakują te same co wyżej.

REF

Użytkownik Kolar`. edytował ten post 07.09.2011 15:39


#8 Skull3D

    Wszechmogący

  • Zbanowany

Reputacja: 102
Zaawansowany

  • Postów:651
  • Imię:Andrzej
  • Lokalizacja:AMXX.PL
Offline

Napisano 07.09.2011 15:49

Zobacz tematy użytkownika Emulov.
Tam dodawałem codmoda z dodaną nową statystyką zeedytuj i gotowe.

#9 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 07.09.2011 16:08

Jakiś link prosił bym

#10 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 07.09.2011 16:19

public ZarejestrujKlase(plugin, params)
{
if(params != 9)
return PLUGIN_CONTINUE;

if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;

pluginy_klas[ilosc_klas] = plugin;

get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);

bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
obrazenia_klas[ilosc_klas] = get_param(8);
regeneracja_klas[ilosc_klas] = get_param(9);

for(new i=0;i<klasid;i++)
{
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}

return ilosc_klas;
}


Spróbuj tak.
  • +
  • -
  • 1

#11 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 08.09.2011 14:12

Zaraz sprawdze. Tylko jestem na innym lapku i tu nie mam serwera postawionego. Zaraz edytne posta

A tu przypadkiem nie ma nic z codmod.inc ? Bo jak wgram właśnie amxx gdzie jest regeneracja, to wszystkie pluginy związane z cod'em dają logi i przestają działać.

Wie ktoś czemu nie działa ? Bardzo mi zależy !

public ZarejestrujKlase(plugin, params)
{
if(params != 9)
return PLUGIN_CONTINUE;

if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;

pluginy_klas[ilosc_klas] = plugin;

get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);

bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
obrazenia_klas[ilosc_klas] = get_param(8);
regeneracja_klas[ilosc_klas] = get_param(9);

for(new i=0;i<klasid;i++)
{
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}

return ilosc_klas;
}


Spróbuj tak.


Próbowałem i zaś te same logi co wcześniej

Użytkownik Kolar`. edytował ten post 08.09.2011 14:13
za wczesnie na refresh


#12 Haka

    Początkujący

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:K-ce
Offline

Napisano 08.09.2011 14:17

A może jakiś include trzeba dodać ?

#13 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 09.09.2011 14:38

@up

Nie, bo wtedy w ogóle nie dało by się skompilować.

REF !!!!!!!! Proszę ! Bardzo mi zależy !

Użytkownik Kolar`. edytował ten post 09.09.2011 14:38


#14 Kolar`.

    Guru

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 09.09.2011 20:25

@UP ...

A przypadkiem pomyślałeś że trzeba zmienić codmod.inc ?

A może sma?

Pomożesz ?

A chociaż jak by tego się nie dało zrobić, to nie zakładam nowego tematu.

Do zastosujatrybuty, co trzeba dodać by:
--> co jeden punkt dodany do statystyki dawał dodatkowe 10 exp'a
--> co jeden punkt o 100$ więcej co runde.

REF

REF REF REF !

Użytkownik Kolar`. edytował ten post 09.09.2011 16:53






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