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

[ROZWIĄZANE] Jak zrobic wieksze dmg +5

cod nowy

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

#1 ChadaWGW2

    Wszechwidzący

  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 06.04.2012 10:34

Witam! Chcialem zapytac jak dodac wieksze dmg tak jak mają np. perk. platynowe naboje ze walniemy head za 90 dmg i +5 jak to zrobic proszę o szczególową instrukcje...

#2 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 07.04.2012 09:35

Refresh

#3 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 08.04.2012 10:39

Refresh nikt nie umi?

#4 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 09.04.2012 16:28

Ref

#5 pfkers

    Banned

  • Zbanowany

Reputacja: 90
Zaawansowany

  • Postów:759
  • GG:
  • Imię:Krzysiek
  • Lokalizacja:Płock
Offline

Napisano 09.04.2012 16:35

ale chcesz to dla klsay itemy czy cos ?? standardowo w public TakeDamage dodajesz np to


if(twoj warunek)
damage+=5;

Mozesz bez if'a ale to jak chcesz

#6 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 09.04.2012 16:48

Przykładowy perk:
Spoiler


Okej, po kolei:
  • Dodaj pod #include <amxmodx> takie coś:
#include <hamsandwich>
  • Pod ostatnią biblioteką dodaj:
#define DMG_BULLET (1<<1)
  • Dodaj przed public plugin_init() takie coś ( jeśli nie masz! )
Dla klasy:
new bool:ma_klase[33];

Dla perku:
new bool:ma_perk[33];
  • W public plugin_init() dodaj takie coś:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
  • Do public cod_perk_enabled(id) dla perku bądź public cod_class_enabled dodaj takie coś:
Dla klasy:
ma_klase[id] = true;

Dla perku:
ma_perk[id] = false;
  • Do public cod_perk_disabled(id) dla perku bądź public cod_class_disabled dodaj taki coś:
Dla klasy:
ma_klase[id] = false;

Dla perku:
ma_perk[id] = false;
  • Na sam koniec kodu źrÓdłowego klasy dodaj:

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

if(!ma_perk[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 5.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}


Jeśli robisz klasę to zamień to:
	if(!ma_perk[idattacker])
return HAM_IGNORED;


na to:
	if(!ma_klase[idattacker])
return HAM_IGNORED;


Aby zmienić broń z ktÓrej są zadawane obrażenia zamień to:
CSW_AK47
na: CSW_nazwaBRONI

Jeśli chcesz zwiększyć/zmniejszyć obrażenia z 5 na większe to zamień:

cod_inflict_damage(idattacker, this, 5.0, 0.0, idinflictor, damagebits);


na na przykład:

   	 cod_inflict_damage(idattacker, this, 10.0, 0.0, idinflictor, damagebits);


Teraz będzie dodawało naszej broni dziesięć obrażeń.

Użytkownik 0x. edytował ten post 09.04.2012 16:52


#7 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 09.04.2012 17:15

dzięki 0x + dla ciebie

I pytanko jak zablokowac dany perk dla klasy?

Użytkownik ChadaWGW2 edytował ten post 09.04.2012 17:27


#8 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 09.04.2012 17:37

Skopiuj swoje cod_perk_enabled(id) w jakieś bezpieczne miejsce, potem w *sma perku zamień cod_perk_enabled na to:


public cod_perk_enabled(id)
{
if(cod_get_user_class(id) == cod_get_classid("Snajper"))
{
client_print(id,print_chat, "[COD:MW] Perk %s jest zablokowany dla tej klasy! Otrzymasz inny perk", perk_name);
return COD_STOP;
}
//TUTAJ TO CO NORMALNIE MIAŁEŚ W COD_CLASS_ENABLED
return COD_CONTINUE;
}


Snajper zamień na nazwę swojej klasy.

Teraz pod //TUTAJ TO CO NORMALNIE MIAŁEŚ W COD_CLASS_ENABLED dodaj to co miałeś w cod_perk_enabled czyli na przykład

ma_perk[id] = true;

Użytkownik 0x. edytował ten post 09.04.2012 17:40


#9 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 09.04.2012 20:19

Ok kolejny +

a wieksze dmg na dwie i trzy bronie?

Edit Tak bd dobrze z premium i +10 dmg?

#include <amxmodx>
#include <hamsandwich>
#include <codmod>
#define DMG_BULLET (1<<1)

new const nazwa[] = "Strzelec [Premium]";
new const opis[] = "Dostajesz +10 (+int) dmg wiecej z M4A1";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_AK47;
new const zdrowie = 10;
new const kondycja = -38;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new bool:ma_klase[33];
public plugin_init() {
register_plugin(nazwa, "1.0", "NO NO");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public cod_class_enabled
{
if(!(get_user_flags(id) & ADMIN_LEVEL_A))
{
ColorChat(id, Green, "[Strzelec] Nie masz uprawnien, aby korzystac z tej klasy.");
return COD_STOP;
}
ma_klase[id] = true;
return COD_CONTINUE;
}

}
public cod_class_disabled
{
ma_klase[id] = false;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);

return HAM_IGNORED;
}


#10 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 09.04.2012 20:37

Pewnie, teraz za 1punkt inteligencja będzie Ci dawało 0.20 dmg, czyli 5punktów inteligencji trzeba dodać by zadawać +11dmg

Dobrze napisana klasa wygląda tak:
#include <amxmodx>
#include <hamsandwich>
#include <codmod>
#include <colorchat>

#define DMG_BULLET (1<<1)

new const nazwa[] = "Strzelec [Premium]";
new const opis[] = "Dostajesz +10 (+int) dmg wiecej z M4A1";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_AK47;
new const zdrowie = 10;
new const kondycja = -38;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new bool:ma_klase[33];

public plugin_init()
{
register_plugin(nazwa, "1.0", "NO NO");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_A))
{
ColorChat(id, GREEN, "[Strzelec] Nie masz uprawnien, aby korzystac z tej klasy.");
return COD_STOP;
}
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);

return HAM_IGNORED;
}



#11 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 09.04.2012 20:56

A co zle bylo?

i jak dodac na 2 i 3 bronie

#12 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 10.04.2012 07:21

Nie zamykałeś publiców... etc. Najbezpieczniej pod starym ifem dodaj sobie nowy, na przykład


if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);



czyli to będzie wyglądało tak


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

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);

return HAM_IGNORED;
}


#13 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 11.04.2012 15:04

A z tym zablokowaniem perku to gdzie podac jego nazwe?

#14 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 13.04.2012 17:34

Ref

#15 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 13.04.2012 17:59

w *sma perku edytujesz. ;)

#16 Trikolo

    Miszczu

  • Zbanowany

Reputacja: 111
Zaawansowany

  • Postów:348
  • GG:
  • Imię:Trikolo
  • Lokalizacja:Komputer
Offline

Napisano 13.04.2012 18:04

w .sma edytujesz .... nazwe i w ogóle

Użytkownik Trikolo edytował ten post 13.04.2012 18:05


#17 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 13.04.2012 18:20

Ale gdzie nazwe tego perku edytuje daj kawałek sma

#18 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 13.04.2012 18:22

Nie edytujesz nazwy perku, tylko w nim funkcję perk_enabled -.-

#19 ChadaWGW2

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 18
Początkujący

  • Postów:232
  • Imię:Tomek
  • Lokalizacja:??
Offline

Napisano 13.04.2012 18:33

i co w niej wpisac?

#20 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 13.04.2012 18:34


public cod_perk_enabled(id)
{
if(cod_get_user_class(id) == cod_get_classid("Nazwa Klasy Dla Której Chcesz Zablokować Dany Perk"))
{
client_print(id,print_chat, "[COD:MW] Perk %s jest zablokowany dla tej klasy! Otrzymasz inny perk", perk_name);
return COD_STOP;
}
//TUTAJ TO CO NORMALNIE MIAŁEŚ W COD_CLASS_ENABLED
return COD_CONTINUE;
}






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