Forum Home   BanList HLStatsX Image Hosting Download URL Linkuri rapide
weekly donor:
no donation this week
weekly boost:
daily boost:
/// STOP -->
Du-te înapoi   RGK Forum - România > Counter-Strike > Resurse > Module
Module Contin functii de baza fara de care pluginurile nu se pot executa.
Thread Description:ReAPI​ - modul ReHLDS si ReGameDLL_CS

Inca nu esti membru!

Vrei acces la chestii misto? Ca membru poti:

Post. Raspunde acestui subiect.
Link & images. Vezi link-urile si imaginile din acest post.
Movie. Vezi filmele online de pe forum.
Attachments. Descarca/vezi fisierele atasate din acest post.
Say Thanks. Arata aprecierea ta prin trimiterea de multumire autorului.
Rate. Evalueaza acest subiect cu o nota de la 1 la 5.
Flag. Alerteaza Moderatorii si avertizeaza membrii in legatura cu o problema legata de acest post.
Poll. Adauga un sondaj acestui subiect.
Subscribe. Primesti notificari cu noile posturi ale acestui autor.

Interesat? Inregistreaza-te sau Autentifica-te.

Răspunde
 
LinkBack Optiuni Subiect Moduri de afișare

  #1 (permalink)
17-11-17
rgk
Fondator
ReAPI​

Echipa de dezvoltare:
  • Asmodai
  • s1lent


Referinte:

Descriere:

Cerințe:

Instalare:
    1. Copiati din arhiva reapi_X_X_X.zip fisierul reapi_amxx_i386.so sau reapi_amxx.dll (în functie de sistemul de operare) în folderul /addons/amxmodx/module
    2. Deschidem fisierul modules.ini din /addons/amxmodx/configs si adăugăm din rând nou:
      Citat:
      reapi
    3. Salvăm si facem un restart complet al serverului.


Caracteristici foward-uri:
    Citat:
    • Gestionează apelurile functiilor originale si a altor hook-uri. Acest lucru poate fi făcut prin returnarea din foward a unuia din aceste 4 valori:
      • HC_CONTINUE - continuă să apeleze hook-uri si functia originală;
      • HC_OVERRIDE - continuă să apeleze functia originală, dar returnează valoarea sa;
      • HC_SUPERCEDE - continuă să apeleze hook-uri, dar întrerupe executarea functiei originale (Dacă functia nu este void (nulă), înainte de închiderea apelului trebuie să setati valoarea returnată);
      • HC_BREAK - întrerupe executarea de hook-uri si functii originale;
    • Setarea valorii de returnare. Se efectuează cu ajutorul nativei SetHookChainReturn cu 2 argumente, în prima trebuie de specificat tipul valorii returnate, iar în a doua valoarea;
    • Obtinerea valorii de returnare. Acest lucru se face cu ajutorul nativei GetHookChainReturn, si poate fi apelată doar în post.
    • Înlocuirea argumentelor în functie. Acest lucru se face cu ajutorul nativei SetHookChainArg, îm primul argument se specifică numărul de ordine al argumentelor care întotdeauna începe cu 1, în al doilea tipul de argument si în alt treilea - valoarea;


Exemple Practice:
    SetHookChainReturn Display
    Vezi continut "SetHookChainReturn Display" detaliat:

    Pentru început adăugăm include-ul reapi
    Cod PHP:
    #include <reapi> 
    În plugin_init, înregistrăm un hook pe DeadPlayerWeapons si atârnăm un handler pe CSGameRules_DeadPlayerWeapons
    public plugin_init()
    Cod PHP:
    {
        
    RegisterHookChain(RG_CSGameRules_DeadPlayerWeapons"CSGameRules_DeadPlayerWeapons")

    Apoi creăm corpul functiei handler
    Cod PHP:
    public CSGameRules_DeadPlayerWeapons(const index)
    {


    Următorul pas, pentru a întelege ar fi bine să trageti o privire în sursa ReGameDLL_CS   Trebuie sa fii inregistrat si autentificat pentru a vedea link-urile. . Vedem că functia trebuie să returneze o anumită valoare în care nu asteaptă GR_PLR_DROP_GUN_NO. Esenta functiei PackDeadPlayerItems este că aceasta aruncă armele jos după moartea jucătorului. Vom încerca să împiedicăm acest lucru. Pentru aceasta vom returna valoarea GR_PLR_DROP_GUN_NO care nu se asteaptă să o primească.
    public CSGameRules_DeadPlayerWeapons(const index)
    Cod PHP:
    {
        
    SetHookChainReturn(ATYPE_INTEGERGR_PLR_DROP_GUN_NO);

    Din moment ce, în functia originală, nu este practic nimic, deci nu avem nevoie să o apelăm încă o dată, de aceea utilizăm HC_SUPERCEDE.
    Cod PHP:
    public CSGameRules_DeadPlayerWeapons(const index)

    {
        
    SetHookChainReturn(ATYPE_INTEGERGR_PLR_DROP_GUN_NO);
        return 
    HC_SUPERCEDE;

    Deci, într-un mod destul de simplu, am împiedicat aparitia armelor pe pământ. Pluginul merge perfect pentru un server CSDM sau GunGame de exemplu:
    Cod PHP:
    #include <amxmodx>
    #include <reapi>

    public plugin_init()
    {
        
    RegisterHookChain(RG_CSGameRules_DeadPlayerWeapons"CSGameRules_DeadPlayerWeapons")
    }

    public 
    CSGameRules_DeadPlayerWeapons(const index)
    {
        
    SetHookChainReturn(ATYPE_INTEGERGR_PLR_DROP_GUN_NO);
        return 
    HC_SUPERCEDE;


    GetHookChainReturn
    Vezi continut "GetHookChainReturn" detaliat:

    CBasePlayer::TakeDamage returnează valoarea 0/1 sub forma
    • 0 - nu a primit damage;
    • 1 - a primit damage;

    Dacă pe server va fi dezactivat friendlyfire (mp_friendlyfire 0), trăgând în coechipieri functia CBasePlayer::TakeDamage va continua să fie apelată, însă va returna 0. În anumite situatii, trebuie să stim exact dacă victima a primit damage, după acest exemplu vom notifica în chat atacatorul cu informatii despre cât damage a făcut.
    GetHookChainReturn trebuie să fie utilizat doar în post, când functia originală a fost deja apelată.
    Cod PHP:
    #include <amxmodx>
    #include <reapi>

    public plugin_init()
    {
        
    RegisterHookChain(RG_CBasePlayer_TakeDamage"CBasePlayer_TakeDamage"1);
    }

    public 
    CBasePlayer_TakeDamage(const thispevInflictorpevAttackerFloat:flDamagebitsDamageType)
    {
        if (
    GetHookChainReturn() == 1) {
            
    client_print(0print_chat"Victima a primit damage: %f"flDamage);
        } else {
            
    client_print(0print_chat"Victima nu a primit damage: %f"flDamage);
        }

        return 
    HC_CONTINUE;

    Informatie utilă: CBasePlayer::TakeDamage în post, argumentul flDamage este returnat luând în calcul armura si damage-ul subevaluat cu 35% asupra coechipierilor (cu alte cuvinte în flDamage va fi damage-ul exact) ceea ce nu putem spune de o asemenea posibilitate în modulul Hamsandwich.

    SetHookChainArg Hide
    Vezi continut "SetHookChainArg Hide" detaliat:

    Folosind hook-ul ShowVGUIMenu, putem modifica meniul de alegere a echipei pentru toti, cu exceptia meniului VGUI, deoarece functia ShowVGUIMenu, este apelată atât pentru VGUI cât si pentru old menu.
    Cod PHP:
    #include <amxmodx>
    #include <reapi>

    public plugin_init()
    {
        
    RegisterHookChain(RG_ShowVGUIMenu"ShowVGUIMenu");
    }

    public 
    ShowVGUIMenu(const indexVGUIMenu:menuType, const bitsSlotsszOldMenu[], bool:bForceOldMenu)
    {
        if (
    menuType == VGUI_Menu_Team) {
            new 
    szMenu[256];
            
    formatex(szMenucharsmax(szMenu), "\yDupa care echipa vei juca?^n^n\w1. Terrorist^n2. Counter-Terrorist^n^n5. Nu Stiu");

            if (
    bitsSlots MENU_KEY_6) {
                
    add(szMenucharsmax(szMenu), "^n6. Spectator");
            }

            
    SetHookChainArg(4ATYPE_STRINGszMenu);
        }

        return 
    HC_CONTINUE;


Observatii:
  • ReAPI este în cea mai mare parte proiectat pentru Counter-Strike 1.6 / Condition Zero , dar poate fi folosit si în alte moduri cu mai putine functionalităti disponibile.
  • Cu fiecare versiune nouă se recomandă să recompilati plug-in-urile utilizând ReAPI cu incluziuni actualizate.






Fișiere atașate
File Type: zip reapi_5.16.0.199-dev.zip (315,8 KB, 1 views)

Semnatura:

Pentru a vedea link-uri sau imagini în semnături, numarul de posturi trebuie să fie 10 sau mai mare. Aveți în prezent, 0 posturi.
Last edited by rgk; acum 6 zile at 13:41.

Motiv : update latest version
rgk is offline  
Reply With Quote
  #2 (permalink)
08-09-20
rgk
Fondator
ReAPI​ 5.15.0.197

ReAPI​ Versiune 5.15.0.197

Schimbări:
  • compile warn fix push




Semnatura:

Pentru a vedea link-uri sau imagini în semnături, numarul de posturi trebuie să fie 10 sau mai mare. Aveți în prezent, 0 posturi.
Last edited by rgk; acum 6 zile at 20:43.
rgk is offline  
Reply With Quote
  #3 (permalink)
acum 3 săptămâni
rgk
Fondator
ReAPI​ 5.16.0.198

ReAPI​ Versiune 5.16.0.198

Schimbări:
  • Implemented IsReapiHookOriginalWasCalled which determine whether original function was called or not (#172)



  • Semnatura:

    Pentru a vedea link-uri sau imagini în semnături, numarul de posturi trebuie să fie 10 sau mai mare. Aveți în prezent, 0 posturi.
    Last edited by rgk; acum 6 zile at 20:44.
    rgk is offline  
    Reply With Quote
      #4 (permalink)
    acum 6 zile
    rgk
    Fondator
    ReAPI​ 5.16.0.198

    ReAPI​ Versiune 5.16.0.198

    Schimbări:
    • Implement native to get the current hookchain handle in amxx callback (#173)




    Semnatura:

    Pentru a vedea link-uri sau imagini în semnături, numarul de posturi trebuie să fie 10 sau mai mare. Aveți în prezent, 0 posturi.
    Last edited by rgk; acum 6 zile at 20:44.
    rgk is offline  
    Reply With Quote
    Răspunde

    Tags
    reapi, regamedll, regamedll api, regamedll_cs, regamedll_cs api, rehlds, rehlds api, reunion, vtc

    Bookmarks

    « [WIP] ReInfoZone | - »

    Utilizatori activi în prezent vizualizează acest subiect: 1 (0 membrii si 1 vizitatori)
     
    Optiuni Subiect
    Moduri de afișare

    Reguli de postare
    Nu poti deschide subiect nou
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is Pornit
    emoticoanele sunt Pornit
    Codul [IMG] este Pornit
    Codul HTML este Pornit
    Trackbacks are Pornit
    Pingbacks are Pornit
    Refbacks are Pornit


    Linkuri rapide
  • Forum
    Regulament
    Anunturi Importante       
    UserCP
    User List
    Intrebari Frecvente
    Utilizatori Online
    Utilizatori Banati
    Contact
  • Utile
    Cautare
    Calendar
    Coduri BB
    Mesajele Zilei
    Mesaje fara raspuns
    Cele mai votate posturi
    Statistici Thanks/Like
    Sanctiuni
  • Diverse
    Jocuri
    Galerie Video
    Donatori
    Preturi Admine
    Update Redirecte
    Subdomenii Gratuite
    Arhiva

  • Panoul utilizatorului
    Modifica Semnatura            
    Modifica Avatar
    Modifica Detaliile
    Alte Optiuni
    Subiecte Abonate
    Mesaje Private
  • Statistici CS
    TeamSpeak
    Lista Banuri       
    HLStatsX
    Redirecte
    Prezenta Admini
    Jucatori Raportati
    HLTV Report
    Server Log
    Download Url
  • Script
  • Bloguri

    Un sentiment - O stare de spirit       
  • Acum este ora 13:19.

    forumuri publicitate reclame reclama host hosting gazduire webhost gazduire cstrike domenii gratis subdomenii gratuite inregistrare trust trust host Cutitarii Deathrun cutitarii Community cutitarii GO go go cs pork Free Download Counter-Strike Counter Strike Cstrike Cs 1.6 Game Games Site Forum Server Servers Maps Harti Plugin Plugins Porn Porno XXX pussy Filme Movie Movies Music Muzica mp3 Tutorial Tutorials Tutoriale Steam Non-Steam Non Steam Online half-life valve amxmodx amxmod adminmod addons skin 1.6 awp 1.6 cs 1.6 cheats coduri 1.6 comunitate download upload descarcari jocuri wall wallhack spinhack spray logo tutorial spray wad cfg Fc.steaua Fc.Rapid Fc.Dinamo Cs.VirtualStrike.Org Dr.VirtualStrike.Org Bancrui Pariuri online War.VirtualStrike.Org [WarClan] Muzica Jocuri Trakere Facebook Stiri Informatii rgk rgk.RO rgkgaming rgkgaming.ro cs.rgkgaming.ro rs.rgkgaming.ro respawn.rgkgaming.ro war.rgkgaming.ro war2.rgkgaming.ro [RGK] Team RGK Community CS.RGK.RO PRO.RGK.RO WAR.RGK.RO RS.RGK.RO GG.RGK.RO AIR.RGK.RO TS3.RGK.RO RGK Forum RGK strike Gaming Cum Scriu Nicku In Cs Unban La Cs1.6 Counter Strike1.6 Adoons Amx_mod Download Adoons Amx_mod Download Cum Pun Amx Pe Sv Plugin Quit Tinta La Awp Ca La O Arma La Cs Cs Lan Download Cum Se Instaleaza Counter Strike Condition Zero Cum Fac Un Spray Logo ? Cfg Pt Tras Speed C.s Cum Activezi Comenzile De Amx Mod Plugin De Facut Poze Download Care Este Parola Pentru Arme La Cs Download Servere Cu Multe Pluginuri Plugin Restart La Cs Download Servere Eroi Cs 1.6 Plugin Lag Wall Dowland For Cs 16 Tutorial creare server go Tutorial creare server blobal offensive CS1.6 GO CS1.6 Global Offensive Anti cheat anti screen shot anti lag probleme server cs probleme lag lag mare pe server ping mare ping mic free e-mail minecraft server download minecraft gratis plugin minecraft script minecraft tutorial minecraft coduri minecraft sa:mp server san andreas multi player samp server script samp tutorial samp coduri samp

    Powered by vBulletin © 2017. vBulletin® is a registered trademark of vBulletin Solutions.
    Theme adaptation and translation in romanian language is copyright forum.rgk.ro
    All images is property of forum.rgk.ro and is protected by rgk.ro
    Tapatalk is a registered trademarks of Quoord Systems Limited.
    Copyright RGK.ro - 2008 - . All rights reserved.




      (Am uitat parola)