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

[ROZWIĄZANE] Wywolanie funkcji knife distance modifier


Najlepsza odpowiedź GT Team , 03.07.2013 12:10

zmienna globalna

new forward
w plugin init
forward = CreateMultiForward("twojplugin_traceline", ET_CONTINUE, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_CELL)
w w trace line
public fwTraceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
{ 
        new ret; // wartosc zwracana
        ExecuteForward(forward, ret, fStart, fEnd, conditions, id, ptr)
	return vTrace(id, ptr,fStart,fEnd,conditions)
}
w inc biblioteki
forward twojplugin_traceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
w innym pluginie
#include 
i gdzies w pluginie
public twojplugin_traceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
{
    client_print(id, 3, "U cb traceline, origin poczatkowe %0.1f ...", fStart)
    // tutaj mozesz zmienic wartosci czy cos
    return PLUGIN_HALNDED // czyli tutaj dajemy wstrzymanie, wiec w tamtym wlasciwym pluginie, gdzie jest prawdziwy traceline ta funkcja zostanie zatrzmana tzn
   //ExecuteForward(forward, ret, fStart, fEnd, conditions, id, ptr)
   //return vTrace(id, ptr,fStart,fEnd,conditions) // to nie zostanie wykonane
Pisalem bez uzycia amxstudio wiec moglem cos zle zrobic. Poczytaj to: http://amxx.pl/topic/28693-forwardy/
edit, w innym pluginie < nazwa_pluginu > Przejdź do postu


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

#1 Kewin. (ZeZ)

    Wszechobecny

  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 17.06.2013 20:56

Chcąc pobrać funkcję:,

w init:
register_forward(FM_TraceLine, "fwTraceline")
register_forward(FM_TraceHull, "fwTracehull", 1)

public fwTraceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr){
	return vTrace(id, ptr,fStart,fEnd,conditions)
}

public fwTracehull(Float:fStart[3], Float:fEnd[3], conditions, hull, id, ptr){
	return vTrace(id, ptr,fStart,fEnd,conditions,true,hull)
}

vTrace(id, ptr,Float:fStart[3],Float:fEnd[3],iNoMonsters,bool:hull = false,iHull = 0){
	if(is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE){
		
		xs_vec_sub(fEnd,fStart,fEnd)
		xs_vec_mul_scalar(fEnd,get_pcvar_float(g_pCvar),fEnd);
		xs_vec_add(fEnd,fStart,fEnd);
		
		hull ? engfunc(EngFunc_TraceHull,fStart,fEnd,iNoMonsters,iHull,id,ptr) : engfunc(EngFunc_TraceLine,fStart,fEnd,iNoMonsters, id,ptr)
	}
	
	return FMRES_IGNORED;
}

aby było ją można czytać w innym publicu, nie wiem jak za to sie zabrac:/

Chciałbym, aby ją czytało przy na przykład dolaczaniu na serwer.

 

Myslalem o set_tasku?

set_task(0.1, "fwTraceline", id, _, _, "b");
set_task(0.1, "fwTracehull", id, _, _, "b");

Tylko, czy to w ogole zadziala...? I czy w ogole mozna tak to zrobic ?

Poradzilbym sobie chyba pewno sam, metoda prob i bledow, ale nie mam serwera.

 

Chetnie przyjme wszelkie wskazowki.


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2013 23:56

task to tak nie bardzo ;)

 

pytanie po co chesz wywołływać tą funkcje ? jaki efekt chcesz osiągnać


  • +
  • -
  • 0

#3 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 27.06.2013 13:25

chcialbym dodac to do statystyk codmod'a :)

Im wiecej punktow w statystyke to sie wydluza zasieg noza :)


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.06.2013 15:14

więc 

 

 

Chciałbym, aby ją czytało przy na przykład dolaczaniu na serwer.

nie jest ci potrzebne


  • +
  • -
  • 0

#5 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 27.06.2013 18:57

Nie wiem co ja wtedy myslalem, piszac wtedy ten temat, ale chodzi mi właśnie, aby to dodać do statystyk diablo badz codmod'a.

Chcialem zrobic, to by czytalo do jednego publica, a potem z tego jednego publica by podczas wczytywaniu  ATRYBUTOW wczytywalo takze tego publica, ktory by zawieral tamte pare publicow :)

Bo innego sposobu nie wymyslilem, aby wsadzic caly ten kod co podalem w pierwsyzm poscie do ZastosujAtrybuty :)

 

A tak chyba by dzialalo, tylko wlasnie chcialbym wiedziec, jak zrobic, by ten caly kod umiescic w jendym publicu :)

 

Teraz chyba mnei rozumiesz?


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#6 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 02.07.2013 22:57

Wie ktoś jak scalić to?


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 02.07.2013 23:31

Wyjaśnij co dokładnie chcesz zrobić. Wprowadzić podplugin łączący się z Codem lub diablo i dodający statystyki jakieś? Jeśli tak, co to za statystyki mają być? Opisz dokładnie, w zrozumiały sposób to.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 03.07.2013 09:49

Chce zrobić statystyke powiedzmy do codmod'a nowego.

Aby przy dodawaniu punktow w ta statystyke powiekszal sie zasieg noza.

I wlasnie o to mi chodzi.

________

Ja myslalem, aby to zrobic w ten sposob, ze tam gdzie jest ZastosujAtrybuty(id); to pod tym dodaj powiedzmy Zamaszystosc(id); i aby z tego czytalo ta funkcje.

Ale wtedy by musiala byc w jednym publicu, a ona jest troche bardziej rozgaleziona.


Użytkownik Kewin. (ZeZ) edytował ten post 03.07.2013 09:50

  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#9 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.07.2013 10:00

ExecuteForward ?

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#10 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 03.07.2013 12:00

Nie znam sie na tym.

Jak to by wygladalo?

 

 

 

 


Tak:??


public plugin_natives(){
	register_native("CreateOneForwardNative", "Zamaszystosc");
}
 
public Zamaszystosc(id){
	new function[32]
function = find_plugin_byfile("modifer_knife_distance.amxx");

	get_string(1, function, 31);
 
	forward_id=CreateOneForward(id, function, FP_CELL);
}

Czy:???

new ret;
	
	new forward_handle = CreateMultiForward("fwTraceline", ET_CONTINUE, FP_CELL, FP_CELL)
	ExecuteForward(forward_handle, ret, id, ?);
	
	new forward_handlee = CreateMultiForward("fwTracehull", ET_CONTINUE, FP_CELL, FP_CELL)
	ExecuteForward(forward_handlee, ret, id, ?);
	
	
}

Czy jak?


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#11 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.07.2013 12:10   Najlepsza odpowiedź

zmienna globalna
new forward
w plugin init
forward = CreateMultiForward("twojplugin_traceline", ET_CONTINUE, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_CELL)
w w trace line
public fwTraceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
{ 
        new ret; // wartosc zwracana
        ExecuteForward(forward, ret, fStart, fEnd, conditions, id, ptr)
	return vTrace(id, ptr,fStart,fEnd,conditions)
}
w inc biblioteki
forward twojplugin_traceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
w innym pluginie
#include 
i gdzies w pluginie
public twojplugin_traceline(Float:fStart[3], Float:fEnd[3], conditions, id, ptr)
{
    client_print(id, 3, "U cb traceline, origin poczatkowe %0.1f ...", fStart)
    // tutaj mozesz zmienic wartosci czy cos
    return PLUGIN_HALNDED // czyli tutaj dajemy wstrzymanie, wiec w tamtym wlasciwym pluginie, gdzie jest prawdziwy traceline ta funkcja zostanie zatrzmana tzn
   //ExecuteForward(forward, ret, fStart, fEnd, conditions, id, ptr)
   //return vTrace(id, ptr,fStart,fEnd,conditions) // to nie zostanie wykonane
Pisalem bez uzycia amxstudio wiec moglem cos zle zrobic. Poczytaj to: http://amxx.pl/topic/28693-forwardy/
edit, w innym pluginie < nazwa_pluginu >

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#12 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 03.07.2013 16:46

dzięki :)

Jesli bys mogltoprzeanalizuj to:

_____

Czyli plugin modifer'a bedzie wygladal tak:???

Spoiler

to jest include:


forward zamaszystosc(Float:fStart[3], Float:fEnd[3], conditions, id, ptr);
forward zamaszystosc2(Float:fStart[3], Float:fEnd[3], conditions, hull, id, ptr); 

A w pluginie codmod dodaje include nazwa_pliku oraz:

Spoiler

 

Jesli o to chodzi, to znow mam dwa publici :D

 


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#13 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.07.2013 22:28

błąd
g_forward = CreateMultiForward("zamaszystosc", ET_CONTINUE, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_CELL)
	g_forward2 = CreateMultiForward("zamaszystosc2", ET_CONTINUE, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_CELL, FP_CELL)
w g_forward2 masz 4 FP_CELL a w trace line masz tylko 3 wartości całkowite, tzn żebyś usunał 1 FP_CELL
fwTraceline(Float:fStart[3] FLOAT, Float:fEnd[3] FLOAT , conditions CELL, id CELL, ptr CELL)
FP_CELL - całkowite
FP_FLOAT - float
FP_STRING - string
i cos tam jeszcze ;d
A tak to ogolnie dobrze, i w tym pluginie codmod w tych publicach mozesz integrowac do traceline.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#14 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 04.07.2013 09:08

Dalem 4, bo jest TraceLine i TraceHull.

TraceLine ma mniej wartosci a TraceHul ma wiecej.


  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#15 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 04.07.2013 13:36

ahaa ;P nie zwróciłem uwagi, czekam na info czy działa.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#16 Kewin. (ZeZ)

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 04.07.2013 19:59

Na razie mozna zamknac, bo nie mam serwera.

Ja teraz po prostu szukam i robie wszytskie rzeczy na serwer, ktory wkrotce postawie :)

 

Jak postawie i sprawdze, to dam Ci znac ;)

dzięki.


Użytkownik Kewin. (ZeZ) edytował ten post 04.07.2013 19:59

  • +
  • -
  • 0

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!





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

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