←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Wytrzymałość perku w silniku

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 16.07.2015

Dodałem zmienną:

wytrzymalosc_perku[33];

W SmiercGraczaPost dodałem:

if(perk_gracza[id]){
wytrzymalosc_perku[id] -= (wytrzymalosc_perku[id] > 10) ? 10 : wytrzymalosc_perku[id]; 


if(wytrzymalosc_perku[id] <= 0)
UstawPerk(id, 0, 0, 0, 0);
}

w public UstawNowaKlase(id) zamieniłem na:

if(perk_gracza[id])UstawPerk(id, perk_gracza[id], wartosc_perku_gracza[id], 0);

W public UsunUmiejetnosci(id) na końcu dodałem:

wytrzymalosc_perku[id] = 0;

W public UstawPerk(id, perk, wartosc, pokaz_info, lp) dodałem:

if(perk_gracza[id])
wytrzymalosc_perku[id] = 100;

I podczas kompilacji mam błędy:

 

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


Warning: Loose indentation on line 425
Error: Number of arguments does not match definition on line 426


1 Error.
Could not locate output file C:\Users\Rafał\Downloads\QTM_CodMod (2).amx (compile failed).
 

 

Załączone pliki


Użytkownik 1stADXionC edytował ten post 16.07.2015 23:00
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 17.07.2015

Przecież błąd mów co jest nie tak -.-

UstawPerk(id, 0, 0, 0, 0);

->

UstawPerk(id, 0, 0, 0);
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 17.07.2015

Dzięki wielkie.

Teraz nie zabiera wytrzymałość za ded, jak to zrobic? oraz jak dodać wiadomość w hud:

Przedmiot stracil swoja wytrzymalosc!
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 21.07.2015

Obczaj:

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
		
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);

		
		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
		
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	if(perk_gracza[id])
	{
		wytrzymalosc_perku[id] -= (wytrzymalosc_perku[id] > 10) ? 10 : wytrzymalosc_perku[id]; 
			
		if(wytrzymalosc_perku[id] <= 0)
			UstawPerk(id, 0, 0, 0);
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}

Podmień sobie, może styknie

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 21.07.2015

Dzięki działa :) 

A gdzie dodać tekst: 

Przedmiot stracil swoja wytrzymalosc!
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 21.07.2015

if(wytrzymalosc_perku[id] <= 0)

Dodaj klamry do tego warunku i tam daj sobie
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 21.07.2015

Czyli ma wyglądać tak: 

 

if(wytrzymalosc_perku[id] <= 0)
{
hudmsg(id,3.0,"Przedmiot stracil swoja wytrzymalosc!")
UstawPerk(id, 0, 0, 0);
}

 

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 21.07.2015

Napisałem przecież
A sposób w jaki sobie wyświetlisz wiadomość to już Twoja sprawa
Odpowiedz