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

Kompilacja klas z dodanymi statystykami.


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

#1 Karras

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:34
  • Lokalizacja:W-ska
Offline

Napisano 07.04.2013 23:00

Siema ;)
Mam taki problem, otóż dodałem do QTM_CodMod dodatkowe statystyki: grawitacje i obrażenia (w takiej kolejności) i mój problem jest taki, jak skompilować pod to klasę?
Próbowałem już napisać taką klasę, ale że zaczynam dopiero swoją zabawę z Pawn'em to nie wiem co źle robię ;/

Oto sma mojej klasy:

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new bool:ma_klase[33];
new const nazwa[] = "Kosiarz[Premium]";
new const opis[] = "1/2 szansy na natychmiastowe zabicie z noza(PPM) i ma 120HP";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 20;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const grawitacja = 0;
new const obrazenia = 0;
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, grawitacja, obrazenia);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
ma_klase[id] = true;
public cod_class_disabled(id)
ma_klase[id] = false;
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
  return HAM_IGNORED;

if(!ma_klase[idattacker])
  return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
  new weapon = get_user_weapon(idattacker);
 
  if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
   cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
  
}

return HAM_IGNORED;
}

Oraz błędy po kompilacji:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
kosiarz.sma(25) : error 088: number of arguments does not match definition
kosiarz.sma(54) : warning 203: symbol is never used: "grawitacja"
kosiarz.sma(54) : warning 203: symbol is never used: "obrazenia"
1 Error.
Could not locate output file kosiarz.amxx (compile failed).

Jeśli możecie to wytłumaczcie co źle zrobiłem i jak mam to zrobić dobrze, abym inne klasy mógł kompilować :)
  • +
  • -
  • 0

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 09.04.2013 07:58

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod XProblemy

do

Scripting AMXXProśby o kompilacje pluginów / Problemy z kompilacją

#3 Karras

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:34
  • Lokalizacja:W-ska
Offline

Napisano 09.04.2013 15:40

Reff ;)
  • +
  • -
  • 0

#4 MateuszKuCi

    Zaawansowany

  • Użytkownik

Reputacja: 36
Życzliwy

  • Postów:107
  • Lokalizacja:Wrocław
Offline

Napisano 09.04.2013 16:13

oj to chyba trzeba coś w codmod.ini dodać.
  • +
  • -
  • 0

#5 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 09.04.2013 16:59

Definicja funkcji cod_register_class znajduje się w pliku głównym Twojego CodModa.
Jeśli modyfikowałeś ten plik, dodając nowe statystyki postaci i dalej masz problem z kompilacją, to załącz nam ten plik źródłowy, a przynajmniej codmod.ini.
Jeśli nie modyfikowałeś silnika, a po prostu postanowiłeś dopisać sobie te 2 punkty statystyk jako kolejne argumenty natywu, to wiedz, że tak się nie da bez modyfikacji silnika codmoda.

#6 Karras

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:34
  • Lokalizacja:W-ska
Offline

Napisano 09.04.2013 17:28

To plik .sma mojego silnika:
Załączony plik  QTM_DeathRun.sma   42,3 KB  36 Ilość pobrań
  QTM_DeathRun.amxx

A codmod.ini, nie wiem czy dobrze zrozumiałem, chodzi o codmod.inc?

Załączony plik  codmod.inc   7,57 KB  25 Ilość pobrań

Użytkownik Karras edytował ten post 09.04.2013 17:30

  • +
  • -
  • 0

#7 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 09.04.2013 18:04

Grawitacja jest, widzę, dodana do silnika, obrażeń nie widzę.

Załączony plik  codmod.inc   7,59 KB  23 Ilość pobrań
z uwzględnioną grawitacją, lecz obrażeń nie znalazłem.

#include <amxmodx>
#include <codmod>
#include <hamsandwich>

#define DMG_BULLET (1<<1)

new bool:ma_klase[33];
new const nazwa[] = "Kosiarz[Premium]";
new const opis[] = "1/2 szansy na natychmiastowe zabicie z noza(PPM) i ma 120HP";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 20;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const grawitacja = 0;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, grawitacja);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
ma_klase[id] = true;

public cod_class_disabled(id)
ma_klase[id] = false;

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}


Ten kod klasy z załączonym codmod.inc się skompiluje, jednak nie uwzględnia obrażeń, których w silniku nie znalazłem (a przynajmniej nie w formie, jakiej próbowałeś je zaaplikować klasie).

#8 Karras

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:34
  • Lokalizacja:W-ska
Offline

Napisano 09.04.2013 18:36

Próbowałem je dodać z poradnika DarkGL'a http://darkgl.amxx.p...tyka-obrazenia/ zmieniając tak jak z grawitacją tylko sposób rozdania punktów, lecz jak niestety nie dasz rady więcej to nic ;) Wielkie dzięki za pomoc ;)
  • +
  • -
  • 0




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

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