Witajcie. Od dwóch dni nie potrafię poradzić sobie z dwoma perkami. Dokładniej chodzi mi o to, iż w opisie mają teksty typu: "Posiada TYLKO kosę" lub "Posiada USP", lecz perk nie wyrzuca (ani nie blokuje) broni, które ma klasa. Próbowałem już na wszelkie (znane mi) sposoby. Nie potrafię tego zrobić, dlatego mam pytanie do Was: Jak takie coś zrobić? Dodaję pliki *.sma w załączniku, gdyby ktoś był ciekaw kodu.
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.
|
Najlepsza odpowiedź (Kalifta) , 07.09.2013 16:32
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <fun>
new ostatnio_prawym[33];
new ma_perk[33];
new const perk_name[] = "Predator"
new const perk_desc[] = "Masz tylko kose, 1/1 z niej, dodatkowe 600HP i widzisz niewidzialnych."
public plugin_init()
{
register_plugin(perk_name, "1.0", "Kalifta")
cod_register_perk(perk_name, perk_desc)
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
RegisterHam(Ham_Spawn, "player", "Spawn",1);
register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1)
}
public cod_perk_enabled(id)
{
ma_perk[id] = true
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) +600)
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) -600);
}
public Spawn(id)
{
if(ma_perk[id])
strip_user_weapons(id)
cod_give_weapon(id, CSW_KNIFE)
}
public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
{
if(!is_user_connected(host) || !is_user_connected(ent))
return;
if(!ma_perk[host])
return;
set_es(es_handle, ES_RenderAmt, 255.0);
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && !ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}
public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 1;
}
#1
Napisano 01.09.2013 15:01
#3
Napisano 01.09.2013 15:21
#4
Napisano 05.09.2013 21:38
#5
Napisano 06.09.2013 13:13
Prosty, a za razem skuteczny sposób, może niezbyt optymalny ale działa:
Edytujesz klasę.
Do includów:
#include <hamsandwich>
#include <fun>
Do plugin_init:
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
I na koniec sma
public Spawn(id)
{
if(ma_klase[id])
{
strip_user_weapons(id);
give_item(id,"weapon_knife");
}
}
Tylko sprawdź czy nie zabiera ci paki.
Użytkownik (Kalifta) edytował ten post 06.09.2013 13:16
CoD Unikat - 99%
CoD + Paint Ball - 10%
CoD + Spolszczony DM - 5%
W planach:
CoD Pro (Odpicowany silnik, unikatowe klasy, perki i pluginy, awanse i wysokiej jakości modele broni)
CoD MW Edition (Nazwy klas odpowiadające bohaterom serii Call of Duty MW, modele broni i całkowicie przerobiony silnik)
#6
Napisano 06.09.2013 14:18
@(Kalifta):
Dzięki, działa. Teraz, gdy dodałem to, nie dodaje HP, gdy ktoś ma perk Predator, a powinno dodawać
#7
Napisano 06.09.2013 15:49
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <fun>
new ostatnio_prawym[33];
new ma_perk[33];
new const perk_name[] = "Predator"
new const perk_desc[] = "Masz tylko kose, 1/1 z niej, dodatkowe 600HP i widzisz niewidzialnych."
public plugin_init()
{
register_plugin(perk_name, "1.0", "Kalifta")
cod_register_perk(perk_name, perk_desc)
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
RegisterHam(Ham_Spawn, "player", "Spawn",1);
register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1)
}
public cod_perk_enabled(id)
{
ma_perk[id] = true
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) +600)
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) -600);
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_perk[attacker] && get_user_weapon(attacker) == CSW_KNIFE && ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 1;
}
public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}
public Spawn(id)
{
if(ma_perk[id])
strip_user_weapons(id)
cod_give_weapon(id, CSW_KNIFE)
}
public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
{
if(!is_user_connected(host) || !is_user_connected(ent))
return;
if(!ma_perk[host])
return;
set_es(es_handle, ES_RenderAmt, 255.0);
}
Dołączam poprawioną wersję.
Mała rada, dla perków stosujemy cod_set_user_bonus_health.
CoD Unikat - 99%
CoD + Paint Ball - 10%
CoD + Spolszczony DM - 5%
W planach:
CoD Pro (Odpicowany silnik, unikatowe klasy, perki i pluginy, awanse i wysokiej jakości modele broni)
CoD MW Edition (Nazwy klas odpowiadające bohaterom serii Call of Duty MW, modele broni i całkowicie przerobiony silnik)
#8
Napisano 07.09.2013 10:24
Nie działa 1/1 z PPM w tym pluginie (biję po 30 w 1-szy lvl), a klasy z 1/1 z PPM działają. Dałbyś radę to naprawić?
#9
Napisano 07.09.2013 12:11
Zobacz to.
CoD Unikat - 99%
CoD + Paint Ball - 10%
CoD + Spolszczony DM - 5%
W planach:
CoD Pro (Odpicowany silnik, unikatowe klasy, perki i pluginy, awanse i wysokiej jakości modele broni)
CoD MW Edition (Nazwy klas odpowiadające bohaterom serii Call of Duty MW, modele broni i całkowicie przerobiony silnik)
#10
Napisano 07.09.2013 13:22
Działa 1/1 z PPM, tak jak z LPM, a ja chciałbym tylko PPM.
#11
Napisano 07.09.2013 16:32 Najlepsza odpowiedź
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <fun>
new ostatnio_prawym[33];
new ma_perk[33];
new const perk_name[] = "Predator"
new const perk_desc[] = "Masz tylko kose, 1/1 z niej, dodatkowe 600HP i widzisz niewidzialnych."
public plugin_init()
{
register_plugin(perk_name, "1.0", "Kalifta")
cod_register_perk(perk_name, perk_desc)
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
RegisterHam(Ham_Spawn, "player", "Spawn",1);
register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1)
}
public cod_perk_enabled(id)
{
ma_perk[id] = true
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) +600)
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0) -600);
}
public Spawn(id)
{
if(ma_perk[id])
strip_user_weapons(id)
cod_give_weapon(id, CSW_KNIFE)
}
public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
{
if(!is_user_connected(host) || !is_user_connected(ent))
return;
if(!ma_perk[host])
return;
set_es(es_handle, ES_RenderAmt, 255.0);
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && !ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}
public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 1;
}
CoD Unikat - 99%
CoD + Paint Ball - 10%
CoD + Spolszczony DM - 5%
W planach:
CoD Pro (Odpicowany silnik, unikatowe klasy, perki i pluginy, awanse i wysokiej jakości modele broni)
CoD MW Edition (Nazwy klas odpowiadające bohaterom serii Call of Duty MW, modele broni i całkowicie przerobiony silnik)
#12
Napisano 07.09.2013 16:39
zuy pomysl
powody:
jesli jestes w tt i masz pake to ja tracisz
gdy jestes ostatnim tt i zlapiesz pakke to ci ja zabiera ;x
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