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.
|
Guest Message by DevFuse
Nóż i odtwarzanie funkcji na innym graczu :DPo uderzeniu z noża coś robi na danym graczu
Temat rozp. Kruszynka, 29.12.2010 09:37
11 odpowiedzi w tym temacie
#1
Napisano 29.12.2010 09:37
Witajcie drodzy moi
No więc przejdę od razu do rzeczy
Chciała bym taką funkcję a za razem nie wiem pluginek gdyby ktoś mógł napisać bo ja sama nie umiem
W tej że funkcji(pluginie) miał by się coś takiego robić że gdy Zmienna(jakaś dowolna u gracza [id]) się aktywuje to w tedy ten gracz jak podejdzie do przeciwnego gracza (tzn np: do CT) i uderzy go z Noża to temu CT odtwarza się jakaś funkcja
np: przerzuca tego CT do teamu atakującego bądź ustawia glowa
Czy dało by się coś takiego stworzyć bo ja już sama nie wiem szukam po Googelkach i nic
No więc przejdę od razu do rzeczy
Chciała bym taką funkcję a za razem nie wiem pluginek gdyby ktoś mógł napisać bo ja sama nie umiem
W tej że funkcji(pluginie) miał by się coś takiego robić że gdy Zmienna(jakaś dowolna u gracza [id]) się aktywuje to w tedy ten gracz jak podejdzie do przeciwnego gracza (tzn np: do CT) i uderzy go z Noża to temu CT odtwarza się jakaś funkcja
np: przerzuca tego CT do teamu atakującego bądź ustawia glowa
Czy dało by się coś takiego stworzyć bo ja już sama nie wiem szukam po Googelkach i nic
#2
Napisano 29.12.2010 11:28
Chodzi Ci o plugin na pewno na ganianego?
Jezeli to ganiany to tam chyba tylko sa noze ?
Nie wiem czy dobrze najwyzej ktos poprawi ;]
Jezeli to ganiany to tam chyba tylko sa noze ?
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("Damage", "Damage", "b", "2!=0");///////////Gdy gracz zada obrazenia
}
public Damage(id)
{
new attacker = get_user_attacker(id);
//new damage = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker )
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
//Mozna dac if (weapon CSW_KNIFE)
//set_user_team(id,2);
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 );
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
Nie wiem czy dobrze najwyzej ktos poprawi ;]
Użytkownik Zaszka edytował ten post 29.12.2010 11:34
#3
Napisano 29.12.2010 11:33
Nie chodzi mi o to tylko o tą funkcję bo robię ( przyznam się ) Magiczna maczugę dzięki której blablabla Prywatna sprawa
#4
Napisano 29.12.2010 12:06
public plugin_init( ) {
register_touch( "weapon_knife", "player", "event_KnifeTouch" );
}
...
public event_KnifeTouch( iToucher, iTouched ) {
//kod
}
#5
Napisano 29.12.2010 21:48
Zaszka tylko gdzie tam czyta ofiarę
Orti a jak zrobić z tego toucha jak ja pisałam
Orti a jak zrobić z tego toucha jak ja pisałam
#6
Napisano 30.12.2010 10:31
iToucher - atakujący
iTouched - ofiara
iTouched - ofiara
#7
Napisano 30.12.2010 10:50
@UP
Powiedzmy, że tak, ta funkcja zwróci id tych bytów przy zainicjalizowaniu toucha.
Troszkę wpadłem przy tym sposobie, bo mogłem rejestrować touch graczy. Użyłem filtra dla noża, bo mniej kodu potem trzeba sprawdzać.
Nie do końca wiem czy to zadziała ale żeby dalej się bawić na id atakującego i ofiary uderzenia potrzebujesz najpierw zwrócić id atakującego, bo w tym przypadku funkcja zarejestruje id broni.
Takie rozwiązanie pozwoli dalej operować na graczach. Przynajmniej tylko w teorii nie mam jak sprawdzić.
Dalej robisz co chcesz np. sprawdzasz czy zmienna ma wartość np. true i decydujesz co ma dalej się wykonać. Jeśli chcesz przerzucanie w do innego teamu w trakcie rozgrywki to musisz użyć takiego stocka:
Powiedzmy, że tak, ta funkcja zwróci id tych bytów przy zainicjalizowaniu toucha.
Troszkę wpadłem przy tym sposobie, bo mogłem rejestrować touch graczy. Użyłem filtra dla noża, bo mniej kodu potem trzeba sprawdzać.
Nie do końca wiem czy to zadziała ale żeby dalej się bawić na id atakującego i ofiary uderzenia potrzebujesz najpierw zwrócić id atakującego, bo w tym przypadku funkcja zarejestruje id broni.
iToucher = pev( id, pev_owner );
Takie rozwiązanie pozwoli dalej operować na graczach. Przynajmniej tylko w teorii nie mam jak sprawdzić.
Dalej robisz co chcesz np. sprawdzasz czy zmienna ma wartość np. true i decydujesz co ma dalej się wykonać. Jeśli chcesz przerzucanie w do innego teamu w trakcie rozgrywki to musisz użyć takiego stocka:
// by ConnorMcLeod
stock set_user_team(id, iTeam, iModel)
{
engclient_cmd(id, "drop", "weapon_c4")
set_pdata_int(id, 114, iTeam);
set_pdata_int(id, 126, iModel);
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
static const szTeams[] = { "TERRORIST" , "CT" };
emessage_begin(MSG_ALL, gmsgTeamInfo);
ewrite_byte(id);
ewrite_string(szTeams[iTeam-1]);
emessage_end();
}
#8
Napisano 30.12.2010 19:17
a to skąd mam pobrać ??
gmsgTeamInfo
gmsgTeamInfo
#9
Napisano 31.12.2010 09:59
Globalnie
Init
new gmsgTeamInfo;
Init
gmsgTeamInfo = get_user_msgid( "TeamInfo" );
#10
Napisano 01.01.2011 01:28
gdy to wstawiłam to errory wyskakują z tego tam właśnie nie wiem o co chodzi
#11
Napisano 01.01.2011 02:36
podaj te errory oraz kod coś poradzimy
#12
Napisano 02.01.2011 14:16
podaj te errory oraz kod coś poradzimy
Już sama sobie dałam radę Temat do zamknięcia.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych