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

optymalizacja kodu


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

#1 mounter

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pszow
Offline

Napisano 12.05.2010 15:06

L 05/12/2010 - 16:02:32: [AMXX] Run time error 10 (plugin "vip_bron.amxx") (native "give_item") - debug not enabled!
L 05/12/2010 - 16:02:32: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/12/2010 - 16:03:05: [FUN] Invalid player 24

plugin działa, lecz sypie błędy, jakieś pomysły nad optymalizacją skryptu?


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>

#define PLUGIN "admin dostaje bron"
#define VERSION "1.0"
#define AUTHOR "naven"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "runda", 1);

}
public runda(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
give_item(id, "item_assaultsuit")
give_item(id, "item_thighpack")
}
}


  • +
  • -
  • 0

#2 AmD

    aemde

  • Użytkownik

Reputacja: 71
Pomocny

  • Postów:500
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Częstochowa
Offline

Napisano 12.05.2010 15:43

do plugins ini przy pluginie dopisz debug i po sprawie :)
  • +
  • -
  • 0

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 12.05.2010 16:04

nie po sprawie dopisz do plugins .ini debug spacje po nazwie pluginu i wtedy podaj logi
  • +
  • -
  • 0

#4 mounter

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pszow
Offline

Napisano 12.05.2010 16:33

po dopisaniu debug, logi wyglądają tak:

L 05/12/2010 - 17:34:27: [FUN] Invalid player 30
L 05/12/2010 - 17:34:27: [AMXX] Displaying debug trace (plugin "vip_bron.amxx")
L 05/12/2010 - 17:34:27: [AMXX] Run time error 10: native error (native "give_item")
L 05/12/2010 - 17:34:27: [AMXX]    [0] phpULPnFQ.sma::runda (line 22)

  • +
  • -
  • 0

#5 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 12.05.2010 16:49

Moduły na serwerze masz odblokowane?
  • +
  • -
  • 0
-Piszę pluginy na zamówienie.
-Przerabiam pluginy (nie mody) na zamówienie.
-Piszę kursy/poradniki "Pisania pluginów w PAWN'ie"

Nie udzielam pomocy na GG, ani na innym komunikatorze internetowym.
Masz sprawę? PISZ NA PW

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 12.05.2010 16:51

może jest błąd dlatego że dajesz na początku ammo ale do jakie jakiej broni
  • +
  • -
  • 0

#7 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 12.05.2010 16:55

a może pójść po tym info co jest w błędzie ?

[FUN] Invalid player 30

dodaj może jakiegoś krótkiego taska i ewentualne sprawdzenie is_user_alive
  • +
  • -
  • 0

#8 mounter

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pszow
Offline

Napisano 12.05.2010 17:27

moduły wszystkie odblokowane, spróbuje wywalić pierwsze linie z amunicji
pavulon, całkiem możliwe że błędy sypie tylko wtedy jak gracz z flagą t jest na spec, dzięki za radę

a czy da się to wszystko inaczej rozwiązać?
  • +
  • -
  • 0

#9 kyku

    Wszechmogący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:612
  • Lokalizacja:Jasło
Offline

Napisano 12.05.2010 17:29

zamiana tego
if (get_user_flags(id) & ADMIN_LEVEL_H)
na to
if ((get_user_flags(id) & ADMIN_LEVEL_H) && is_user_alive(id))
wystarczy

Użytkownik kyku edytował ten post 12.05.2010 17:30

  • +
  • -
  • 0

#10 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 12.05.2010 17:46

a potem tego
if ((get_user_flags(id) & ADMIN_LEVEL_H) && is_user_alive(id))
na
if (is_user_alive(id) && (get_user_flags(id) & ADMIN_LEVEL_H))
xD
  • +
  • -
  • 0

#11 mounter

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pszow
Offline

Napisano 12.05.2010 18:02

a potem tego

if ((get_user_flags(id) & ADMIN_LEVEL_H) && is_user_alive(id))
na
if (is_user_alive(id) && (get_user_flags(id) & ADMIN_LEVEL_H))
xD



sprawdzam najpierw na pierwszym warunku, zobaczymy :D
  • +
  • -
  • 0

#12 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 12.05.2010 18:15

Po optymalizacji


#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>

new g_bronie[][] = { "ammo_556nato", "ammo_556nato", "ammo_556nato", "weapon_deagle", "ammo_50ae",
"ammo_50ae", "ammo_50ae", "ammo_50ae", "ammo_50ae", "ammo_50ae", "ammo_50ae", "weapon_hegrenade",
"weapon_flashbang", "weapon_flashbang", "weapon_smokegrenade", "item_assaultsuit", "item_thighpack" }

public plugin_init()
{
register_plugin("admin dostaje bron", "1.0", "naven")
RegisterHam(Ham_Spawn, "player", "runda", 1);

}
public runda(id)
{
if(is_user_alive(id))
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
for(new i = 0; i < sizeof(g_bronie); i++)
fm_give_item(id, g_bronie[i])
}
}
}

  • +
  • -
  • 1

Dziękuje, dobranoc.


#13 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 12.05.2010 18:44

Nom teraz ok

BTW
if(is_user_alive(id))
        {
                if (get_user_flags(id) & ADMIN_LEVEL_H)
                {
działa identycznie jak
if(is_user_alive(id) && (get_user_flags(id) & ADMIN_LEVEL_H))
                {
bo operator && nie testuje drugiego operandu, gdy pierwszy jest zerem.

Czyli taki kod nikogo by nie zabił
if(0 && zabij_wszystkich_graczy()){}

  • +
  • -
  • 0

#14 ZiuTeK

    Wszechwiedzący

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:507
  • Lokalizacja:inąd
Offline

Napisano 13.05.2010 16:50

Nie znam sie na tym specjalnie ale tak z ciekawosci zapytam, co to za rodzaj amunicji chcesz dac temu graczowi ?
to na pewno z cs ?
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
...
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
  • +
  • -
  • 0

#15 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 13.05.2010 17:22

Nie znam sie na tym specjalnie ale tak z ciekawosci zapytam, co to za rodzaj amunicji chcesz dac temu graczowi ?
to na pewno z cs ?
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
...
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")

omg, jak nie wiedziałeś to mogłeś sprawdzić: Nazwy broni i ammo do give_item (+ speed) - Nieoficjalny polski support AMX Mod X
jakby nie było z CS'a to autor tematu lub ktoś inny już by to napisał...
  • +
  • -
  • 0




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

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