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
Naprawienie

Paczka po zabiciu przeciwnika

Naprawienie

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

#1 Glover

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2012 08:05

Cześć,

próbowałem stworzyć funkcję, gdzie po zabiciu gracza wyskakuje skrzynka, z której możemy otrzymać różne nagrody.
switch bym ustawił sobie sam, tylko głównie chodzi mi o podstawę. Model też jakiś bym znalazł. Używam nowego cod moda by QTM i tam chciałbym wkleić tę funkcję.
Mniej więcej chodzi mi właśnie o coś takiego jak w tym temacie:
http://amxx.pl/topic...abitego-gracza/

bardzo bym prosił o Waszą pomoc, nagradzam plusikami i czym tam sobie zechcecie ;)
Każda sugestia się liczy.

Z góry dzięki,
pozdrawiam.
  • +
  • -
  • 0

#2 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 24.08.2012 08:12

ten plugin zostawia aptcze ale myślę że da się go przerobić :)


#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>

#define AUTHOR "tuty"

new const Plugin[] = "Healthkit on dead body"
new const Version[] = "2.0"

#define medkit_minsz Float:{ -23.160000, -13.660000, -0.050000 } // from hl model viewer
#define medkit_maxsz Float:{ 11.470000, 12.780000, 6.720000 } // from hl model viewer

new const MODEL_KIT[] = "models/w_medkit.mdl"
new const SOUND_KIT[] = "items/smallmedkit1.wav" // must be precached because, if you don't precache server will shut down :]

new g_Toggle_KitEnable,g_Toggle_GlowShow,g_GMsgFade, g_Toggle_FadeEnable, g_Toggle_Remove_At_Rstart;

public plugin_init() {

register_plugin(Plugin, Version, AUTHOR);
register_event("DeathMsg","drop_kit","a");
register_logevent("logevent_round_start",2,"1=Round_Start");
register_forward(FM_Touch,"fw_touch");
// Add your code here...
g_Toggle_KitEnable = register_cvar("kit_enable", "1");
g_Toggle_GlowShow = register_cvar("kit_glow", "1");
g_Toggle_FadeEnable = register_cvar("kit_fade", "1");
g_Toggle_Remove_At_Rstart = register_cvar("kit_remove", "0");
g_GMsgFade = get_user_msgid("ScreenFade");


}
public plugin_precache()
{

engfunc(EngFunc_PrecacheModel, MODEL_KIT);
engfunc(EngFunc_PrecacheSound, SOUND_KIT);
}
public drop_kit()
{

if(get_pcvar_num(g_Toggle_KitEnable) == 0)
return FMRES_IGNORED;

new victim = read_data(2);
static Float:origin[3];
pev(victim,pev_origin,origin);

new ent = fm_create_entity("item_healthkit");
origin[2] -= 36; // the distance of ground and kit..this is perfect fixed.. do not edit :/
engfunc(EngFunc_SetOrigin,ent,origin);

if(!pev_valid(ent))
return FMRES_IGNORED;// check for valid ent

engfunc(EngFunc_SetModel,ent,MODEL_KIT);
set_pev(ent,pev_classname,"item_healthkit");
dllfunc(DLLFunc_Spawn, ent);
set_pev(ent,pev_solid,SOLID_BBOX);
set_pev(ent,pev_movetype,MOVETYPE_NONE);
engfunc(EngFunc_SetSize,ent,medkit_minsz, medkit_maxsz);
engfunc(EngFunc_DropToFloor,ent);
if(get_pcvar_num(g_Toggle_GlowShow) == 1)
{

fm_set_rendering(ent, kRenderFxGlowShell, 255, 255, 255, kRenderFxNone, 27);
}

return FMRES_IGNORED;

}
public fw_touch(ent,id)
{

if(get_pcvar_num(g_Toggle_KitEnable) == 0)
return FMRES_IGNORED;

new classname[32];
pev(ent,pev_classname,classname,31);
if(!equal(classname, "item_healthkit"))// check for kit
return FMRES_IGNORED;

new health = get_user_health(id);
if(health >= 100)//check if player health is 100 and block access to take the kit :D
{
client_print(id, print_center, "Sorry, your health is 100. You can't take the kit!");
return FMRES_IGNORED;
}
fm_give_item(id, "item_healthkit");

if(get_pcvar_num(g_Toggle_FadeEnable) == 1)
{

message_begin(MSG_ONE_UNRELIABLE, g_GMsgFade , {0,0,0}, id);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(255);//r
write_byte(0); //g
write_byte(0); //b
write_byte(75);
message_end();
}
engfunc(EngFunc_RemoveEntity,ent);

return FMRES_IGNORED;
}
// remove kit on round start if kit_remove is 1
public logevent_round_start()
{
if(get_pcvar_num(g_Toggle_Remove_At_Rstart) == 0)
return FMRES_IGNORED;

new hkit = -1;
while ((hkit = fm_find_ent_by_class(hkit, "item_healthkit")))
engfunc(EngFunc_RemoveEntity, hkit);

return FMRES_IGNORED;

}


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#3 Glover

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2012 08:38

Hmmm, czyli ona pokazuje się od razu po zabiciu. Tak jakby na martwym ciele ?
Mam rozumieć, że także nie ma warunku po zabiciu CT tylko CT może wziąć paczkę. Każdy może wziąć każdego paczkę?
Oczywiście, dzięki.
  • +
  • -
  • 0

#4 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 24.08.2012 08:40

tak dokładnie :)

Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#5 Glover

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2012 09:22

Okej, dzięki.
Jeszcze małe pytanko, aby zmienić 'drop' z tej skrzynki muszę edytować funkcję
public fw_touch(ent,id)

Tylko to mi wystarczy?
  • +
  • -
  • 0

#6 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 24.08.2012 09:41

tak :)

Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#7 Glover

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2012 10:31

Dzięki za pomoc, nagrodziłem już Ciebie.
Jest może jeszcze jakiś inny , prostszy sposób niż cały osobny plugin?
Może edycja jednej funkcji w silniku cod?

Użytkownik Glover edytował ten post 24.08.2012 10:32

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Naprawienie

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

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