Jump to content


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

Posted Image Posted Image

Guest Message by DevFuse
 

[ROZWIĄZANE] Jak zastosować funkcję natywną.


  • This topic is locked This topic is locked
4 replies to this topic

#1 poloo89

    Pomocny

  • Użytkownik

  • Reputacja: 2
    Nowy

  • Postów:59
  • GG:
  • Lokalizacja:Wrocław
Offline

Posted 08.04.2012 17:09

Witam serdecznie, stawiam serwer zombie mod na silniku biohazard 2.0 3b

Jestem obecnie na etapie konstruowania systemu sklepu...
Jedna z opcji jaką zaplanowałem jest możliwość kupienia przez zombie Antidotum.
w swoim sklepie mam już wszystko wpisane. bo wybraniu odpowiedniej opcji zombie zamienia się w człowieka na podstawie jednej z funkcji w biohazard.inc
W tym momencie pojawia się pewien problem, z którym nie mogę zbytnio sobie poradzić.
Chciałbym aby po użyciu antidotum i zamianie zm w człowieka, otworzył się menu broni, taki jak otwiera się na początku każdej rundy.
menu broni jest zintegrowane w plik główny biohazard.amxx
Pojawia się problem wywołania funkcji będącej w pliku biohazard.amxx z poziomu pluginu sklep.amxx

Czytałem trochę o funkcjach natywnych niestety orłem z programowania nigdy nie bylem i ciężko mi jest je zrozumieć.

Podejrzewam ze moglo by to na takiej zasadzie działać:

W pliku biohazard.amxx dorobiłbym cos na ksztalt:
native funkcja_natywna(id)
{
  cure_user(id)// funckja z biohazard robiaca z zm humana
menu_broni(id); // nazwa tymczasowa, zastapila by ja nazwa istniejacej juz funkcji.
}
menu_broni(id)
{
  // to by była już standardowa funkcja z biohazardu
}

natomiast w moim sklepie w case'ie odpowiedzialnym za zakup antidotum, wywołałbym funkcje natywną w biohazard.amxx ktora by wykonała przemianę i otworzyła menu broni...

pomoże mi to ktoś poskładać tak żeby miało sens i przede wszystkim działało?

pozdrawiam.

ps. proszę mnie nie odnosić do materiału o funkcji natywnej, bo przeczytałem go nie raz i czuje, że potrzebuję łopatologicznego wytłumaczenia na przykładzie związanym z moim problemem.... dziękuję :)

Edited by poloo89, 08.04.2012 17:11.

  • +
  • -
  • 0

#2 poloo89

    Pomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 2
    Nowy

  • Postów:59
  • GG:
  • Lokalizacja:Wrocław
Offline

Posted 09.04.2012 14:48

zainteresuje sie ktos moim problemem ? :>
  • +
  • -
  • 0

#3 Gość_21977_*

  • Gość

  • Reputacja: 0

Offline

Posted 09.04.2012 15:03

Założę, że kompilujesz lokalnie.

Tworzysz sobie bibliotekę, niech będzie antidotum.inc o treści:
#if defined _ANTIDOTUM_included
#endinput
#endif
#define _ANTIDOTUM_included
#pragma library "ANTIDOTUM"
native menu_broni_biohazard(id);
i wrzucasz do katalogu /include

Następnie w pluginie z MenuBroni dodajesz na początku:
#include <ANTIDOTUM>
a w kodzie właściwym
public plugin_natives(){
register_library("ANTIDOTUM");
register_native("menu_broni_biohazard", "n_menu_broni");
}
public n_menu_broni(plugin, params){
new id = get_param(1);
menu_broni(id);
}
dzięki czemu, stworzyliśmy bibliotekę, informującą, że menu_broni_biohazard jest funkcją natywną, a w pluginie biohazard includujesz jedynie antidotum.inc:
#include <ANTIDOTUM>

oraz w miejscu, gdzie trzeba, po prostu używasz funkcji natywnej poprzez menu_broni_biohazard(id).
Wszystko powinno działać, chyba, że się gdzieś machnąłem.

#4 poloo89

    Pomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 2
    Nowy

  • Postów:59
  • GG:
  • Lokalizacja:Wrocław
Offline

Posted 09.04.2012 15:35

Działa jak należy :D

Dzięki wielkie.

Można zamykać.
  • +
  • -
  • 0

#5 sebul

    Godlike

  • Przyjaciel

  • Reputacja: 2,035
    Godlike

  • Postów:5,411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Posted 09.04.2012 16:41

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In