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.
|
#1
Napisano 06.04.2012 10:34
#2
Napisano 07.04.2012 09:35
#3
Napisano 08.04.2012 10:39
#4
Napisano 09.04.2012 16:28
#5
Napisano 09.04.2012 16:35
if(twoj warunek) damage+=5;
Mozesz bez if'a ale to jak chcesz
#6
Napisano 09.04.2012 16:48
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! )
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ś:
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ś:
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_AK47na: 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
Napisano 09.04.2012 17:15
I pytanko jak zablokowac dany perk dla klasy?
Użytkownik ChadaWGW2 edytował ten post 09.04.2012 17:27
#8
Napisano 09.04.2012 17:37
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
Napisano 09.04.2012 20:19
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
Napisano 09.04.2012 20:37
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
Napisano 09.04.2012 20:56
i jak dodac na 2 i 3 bronie
#12
Napisano 10.04.2012 07:21
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
Napisano 11.04.2012 15:04
#14
Napisano 13.04.2012 17:34
#15
Napisano 13.04.2012 17:59
#16
Napisano 13.04.2012 18:04
Użytkownik Trikolo edytował ten post 13.04.2012 18:05
#17
Napisano 13.04.2012 18:20
#18
Napisano 13.04.2012 18:22
#19
Napisano 13.04.2012 18:33
#20
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
CoD Nowy
perk zwiększający wytrzymałość pekuNapisany przez Rafii, 05.03.2024 cod nowy |
|
||||
|
CoD Nowy
Modele KlasyNapisany przez Puni07, 11.02.2024 cod nowy |
|
|||
CoD Nowy
Problem z dywizjąNapisany przez Puni07, 08.02.2024 cod nowy |
|
||||
CoD Nowy
Misjedodac exp Napisany przez Anonimowy09, 08.01.2024 cod nowy |
|
||||
CoD Nowy
Broń z cso do klasy postaciNapisany przez Voltia, 12.02.2023 cod nowy |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych