Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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] Jak usunąć stack error z pluginu ?


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

#1 corel

    Profesjonalista

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:216
  • GG:
  • Imię:Olek
  • Lokalizacja:Świdnica
Offline

Napisano 25.11.2013 17:41

Witam , potrzebuje naprawić plugin bo wywala mi błąd :

L 11/25/2013 - 16:26:03: [AMXX] Displaying debug trace (plugin "blokadahe.amxx")
L 11/25/2013 - 16:26:03: [AMXX] Run time error 3: stack error

Czy ktoś mógłby powiedzieć co w takiej sytuacji zrobić ? Prosiłbym o wytłumaczenie - nie o zrobienie tego za mnie.

Czy zastosowanie tego było by prawidłowym rozwiązaniem ? -  http://amxx.pl/topic...on-bez-errorow/

 

 

Załączone pliki


  • +
  • -
  • 0

PCL.PL znowu powraca ! Zapraszam serdecznie :)


#2 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 25.11.2013 18:15

Można to zrobić w tamtym sposobem, lecz ja proponuję użyć Item_Deploy'a, i to wnim wymuszać inną broń, czyli rejestrujesz moduł hamsandwich, rejestrujesz forward (w plugin_init) Ham_Item_Deploy i w poście tego forwardu wymuszasz komendę lastinv (polecam użycie client_cmd a nie engclient_cmd). Choć najlepiej za pomocą ExecuteHamB wywołać Ham_Weapon_RetireWeapon dla broni obecnej (granata), co spowoduje przerzucenie do najlepszej broni oprócz tej obecnej (granata ;)).


  • +
  • -
  • 1

#3 corel

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:216
  • GG:
  • Imię:Olek
  • Lokalizacja:Świdnica
Offline

Napisano 25.11.2013 23:01

#include <amxmodx>
#include <hamsandwich>

new bool:blokada;

public plugin_init(){
    register_plugin("Blokada HE", "1.0", "MarWit")
    register_event("HLTV", "NewRound", "a", "1=0", "2=0");
        RegisterHam ( "Ham_Item_Deploy") ;
}

public NewRound(){
    blokada = true
    set_task(13.0, "Odblokuj")
}

public Odblokuj(){
    blokada = false
}
public PlayerAwpDeployPost (id) {
    if(blokada && read_data(2)==CSW_HEGRENADE)
        engclient_cmd(id, "lastinv")
}

na tyle koniec mojej pracy bo nie wiem co dalej

tsst.sma(9) : error 035: argument type mismatch (argument 1)


  • +
  • -
  • 0

PCL.PL znowu powraca ! Zapraszam serdecznie :)


#4 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 26.11.2013 14:36

Poczytaj w dokumentacji jak używać RegisterHam

I Ham_Item_Deploy wysyła niestety tylko index bytu broni, więc trzeba będzie pokusić się o cstrike i fakemetę (ew. samą feką niby też da radę ;))


  • +
  • -
  • 1

#5 corel

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:216
  • GG:
  • Imię:Olek
  • Lokalizacja:Świdnica
Offline

Napisano 26.11.2013 18:13

A czy mógłbyś mi to zrobić ? Jednak jeszcze zbyt trudne dla mnie .


  • +
  • -
  • 0

PCL.PL znowu powraca ! Zapraszam serdecznie :)


#6 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 26.11.2013 19:40

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

new bool:blokada;

public plugin_init(){
    register_plugin("Blokada HE", "1.0", "MarWit & d0naciak")
    register_event("HLTV", "NewRound", "a", "1=0", "2=0");
    
    RegisterHam(Ham_Item_Deploy, "weapon_hegrenade", "ItemDeploy", 1); //rejestruje wychwycenie przelaczenie na granata
    
}

public NewRound(){
    blokada = true
    set_task(13.0, "Odblokuj")
}

public ItemDeploy(iEnt)
{
    if(!blokada || !pev_valid(iEnt)) //sprawdzam czy blokada jest na true oraz czy byt (granat) istnieje
        return HAM_IGNORED;
    
    new id = pev(iEnt, pev_owner); //pobieram wlasciciela broni do zmiennej id
    
    if(!is_user_alive(id)) //sprawdzam czy wlasciciel zyje
        return HAM_IGNORED;
    
    ChangeWeaponFrom(id, CSW_HEGRENADE, 4); //Zmieniam bron na inna niz granat
    
    return HAM_IGNORED;
}

public Odblokuj()
    blokada = false
    
stock ChangeWeaponFrom(id, iCswId, iSlot) //Stock stworzony na podstawie tego z linku ktory pozwala na zmiane broni na inna niz podana
{
    //From: https://forums.alliedmods.net/showthread.php?p=1583068
    new iWeapon = get_pdata_cbase(id, 367  + iSlot, 5);

    while(iWeapon > 0)
    {
        if(get_pdata_int(iWeapon, 43, 4) == iCswId)
            break;
        
        iWeapon = get_pdata_cbase(iWeapon, 42, 4);
    }
    if(iWeapon > 0)
        if(get_pdata_cbase(id, 373, 5) == iWeapon)
            ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon);
}

  • +
  • -
  • 1

#7 corel

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:216
  • GG:
  • Imię:Olek
  • Lokalizacja:Świdnica
Offline

Napisano 27.11.2013 18:45

dzięki


  • +
  • -
  • 0

PCL.PL znowu powraca ! Zapraszam serdecznie :)


#8 Kawon

    Godlike

  • Przyjaciel

Reputacja: 884
Czempion

  • Postów:5165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 27.11.2013 18:56

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

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


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

DarkGL to mój autorytet.





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

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