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
Zombie Plague Advance

Prezenty

zombie plague advance

Najlepsza odpowiedź AwIlL^^, 13.04.2018 05:53

Zmień linie 140 na DeleteFile(id, delete) powinno pomóc jeżeli nie zamień round end na NewRound :)  Ponieważ wysłałeś komende do konsoli że po zaczęciu od razu kończy rundę :) Skompiluj go ponownie jest pełno errowrów :) Jeżeli to nie pomoże pisz dokładnie :) od nowa plugin.

Masz niezłą wyobraźnię, a nawet zbyt bujną :D
 
linijka 117:
zamień

new ent = engfunc(EngFunc_CreateEntity, PRESENT_CLASSNAME);

na

new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

To powinno poprawnie tworzyć entity

i jeszcze w GivePresent musisz dać usuwanie entity
Wystarczy na koniec lub początek (nie w switch) dać jeden raz taką linijkę:

fm_remove_entity(ent);

tym "info_target" się nie przejmuj bo to jest tylko schemat entity, nazwę ustawiasz przy pomocy pev_classname, które później używasz.

 

ogólnie to nie ma tu żadnych skomplikowanych działań na bytach, więc mógłbyś używać tylko modułu engine a nie engine i fakemety,

w tak prostych działaniach engine lepiej sobie radzi.

Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 csMaster

    Profesjonalista

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:214
Offline

Napisano 12.04.2018 17:07

Napisałem plugin, który co jakiś czas spawnował by prezenty na mapie.

Teraz przy pojawianiu się prezentów jest błąd, który w trybie debug pisze:

] zp_present 3
L 04/12/2018 - 18:06:32: [FAKEMETA] Invalid entity
L 04/12/2018 - 18:06:32: [AMXX] Displaying debug trace (plugin "zp_presents.amxx")
L 04/12/2018 - 18:06:32: [AMXX] Run time error 10: native error (native "set_pev")
L 04/12/2018 - 18:06:32: [AMXX]    [0] zp_presents.sma::SpawnPresent (line 140)
L 04/12/2018 - 18:06:32: [AMXX]    [1] zp_presents.sma::SpawnPresents (line 111)
L 04/12/2018 - 18:06:32: [AMXX]    [2] zp_presents.sma::Cmd_SpawnPresents (line 98)

Poza tym zamiast kilku prezentów, serwer próbuje zespawnować tylko 1.

Gdzie tu jest błąd ?

Spoiler

  • +
  • -
  • 0

#2 DudJumper

    Nowy

  • Pijawka

Reputacja: -1
Mniej niż zer0.

  • Postów:3
  • GG:
  • Imię:Jakub
  • Lokalizacja:Warszawa
Offline

Napisano 12.04.2018 19:10

Zmień linie 140 na DeleteFile(id, delete) powinno pomóc jeżeli nie zamień round end na NewRound :)  Ponieważ wysłałeś komende do konsoli że po zaczęciu od razu kończy rundę :) Skompiluj go ponownie jest pełno errowrów :) Jeżeli to nie pomoże pisz dokładnie :) od nowa plugin.


  • +
  • -
  • 0

#3 AwIlL^^

    Profesjonalista

  • Użytkownik

Reputacja: 83
Zaawansowany

  • Postów:197
  • GG:
  • Imię:Eryk
  • Lokalizacja:Sierakowice
Offline

Napisano 13.04.2018 05:53   Najlepsza odpowiedź

Zmień linie 140 na DeleteFile(id, delete) powinno pomóc jeżeli nie zamień round end na NewRound :)  Ponieważ wysłałeś komende do konsoli że po zaczęciu od razu kończy rundę :) Skompiluj go ponownie jest pełno errowrów :) Jeżeli to nie pomoże pisz dokładnie :) od nowa plugin.

Masz niezłą wyobraźnię, a nawet zbyt bujną :D
 
linijka 117:
zamień

new ent = engfunc(EngFunc_CreateEntity, PRESENT_CLASSNAME);

na

new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

To powinno poprawnie tworzyć entity

i jeszcze w GivePresent musisz dać usuwanie entity
Wystarczy na koniec lub początek (nie w switch) dać jeden raz taką linijkę:

fm_remove_entity(ent);

tym "info_target" się nie przejmuj bo to jest tylko schemat entity, nazwę ustawiasz przy pomocy pev_classname, które później używasz.

 

ogólnie to nie ma tu żadnych skomplikowanych działań na bytach, więc mógłbyś używać tylko modułu engine a nie engine i fakemety,

w tak prostych działaniach engine lepiej sobie radzi.


  • +
  • -
  • 2

Potrzebujesz porad do amxx?? Pisz na [PW]


#4 csMaster

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:214
Offline

Napisano 13.04.2018 15:34

@up co prawda to nie były jedyne błędy jakie znalazłem teraz w kodzie, ale już je poprawiłem, dzięki za pomoc bo tego błędu raczej bym sam nie poprawił ^^

A poza tym, użyłem fakemety i engine, bo na początku z engine był ten sam błąd co z fakemeta i myślałem że jak użyje fakemety to coś zmieni, później dopisałem engine bo nie chciałem myśleć jak wyłapać dotknięcie bytu za pomocą fakemety :P


  • +
  • -
  • 0





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

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