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] Błąd podczas kompilacji ;)


Najlepsza odpowiedź venom1324, 04.01.2015 15:50

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (get_user_team(zabojca) != 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

Tak powinno być. Błąd był dlatego, że zmienna "zabojca" nie była rodzajem CsTeams, i polecam użycia get_user_team zamiast cs_get_user_team. Dodatkowo negacje przeprowadziłem poprawnie, w Twojej był błąd.

 

Pozdrawiam, Piotrek.

Przejdź do postu


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

#1 IntelCom

    Wszechwiedzący

  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 04.01.2015 15:03

Witam,

 

Podczas kompilacji tegoż pluginu wystąpił następujący błąd.

 

1) PLUGIN

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (!cs_get_user_team(zabojca) == 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

2) BŁAD

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

kasa.sma(16) : warning 213: tag mismatch
Header size:            312 bytes
Code size:              480 bytes
Data size:              148 bytes
Stack/heap size:      16384 bytes; estimated max. usage=39 cells (156 bytes)
Total requirements:   17324 bytes

1 Warning.
Done.

Proszę o wyjaśnienie błędu.


  • +
  • -
  • 0

#2 Petpat

    Wszechwidzący

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:245
  • Imię:Łukasz
  • Lokalizacja:Rzeszów
Offline

Napisano 04.01.2015 15:39

public DeathMsg()
{
new zabojca=read_data(1);
if(!is_user_alive(zabojca) && cs_get_user_team(zabojca) == CS_TEAM_CT)
return PLUGIN_CONTINUE

cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
return PLUGIN_CONTINUE;
}


Po co stawiasz negacje przy sprawdzaniu teamu ?
  • +
  • -
  • 1

#3 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 04.01.2015 15:45

Po co?

 

Dlatego, żeby jak gracz będzie w TT, albo siedział na SPECT to żeby dalsze działanie tej funkcji zostało zatrzymane poprzez return PLUGIN_CONTINUE.


  • +
  • -
  • 0

#4 venom1324

    Życzliwy

  • Użytkownik

Reputacja: -7
Mniej niż zer0.

  • Postów:20
  • Imię:Czolikanus
  • Lokalizacja:Chiny
Offline

Napisano 04.01.2015 15:50   Najlepsza odpowiedź

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (get_user_team(zabojca) != 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

Tak powinno być. Błąd był dlatego, że zmienna "zabojca" nie była rodzajem CsTeams, i polecam użycia get_user_team zamiast cs_get_user_team. Dodatkowo negacje przeprowadziłem poprawnie, w Twojej był błąd.

 

Pozdrawiam, Piotrek.


  • +
  • -
  • 1

#5 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 04.01.2015 18:57

Można też tak
if(!is_user_alive(zabojca) && (_:cs_get_user_team(zabojca) != 2))
lub tak
if(!is_user_alive(zabojca) && (cs_get_user_team(zabojca) != CsTeams:2))
albo tak
if(!is_user_alive(zabojca) && (cs_get_user_team(zabojca) != CS_TEAM_CT))
Ogólnie get_user_team może czasami (w niektórych przypadkach) zwrócić złą wartość, bo ona pobiera taką wartość, która nie aktualizuje się na bieżąco.
  • +
  • -
  • 1
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#6 radim

    Godlike

  • Moderator

Reputacja: 932
Master

  • Postów:2725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 07.01.2015 21:46

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

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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