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
Silnik

Przerobienie paczek z nagrodami po zabiciu wroga.

silnik

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

#1 dominiv2604

    Zaawansowany

  • Użytkownik

Reputacja: 9
Nowy

  • Postów:86
  • Imię:Dominik
  • Lokalizacja:Kalisz
Offline

Napisano 25.11.2013 22:40

Z góry przepraszam że to tu wsadziłem, przeleciałem całe forum od góry w dół 2 razy i nie znalazłem na to miejsca.
 
Konkrety.
Posiadam taki plugin (trochę edytowany przeze mnie)

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <codmod>

#define PLUGIN "Bonusowe Paczki"
#define VERSION "1.0"
#define AUTHOR "radim edytowal Info od Boga"

new const modelitem[] = "models/present1.mdl";
new const prefix[] = "^04[BONUS]^01"

public plugin_init()
{
	register_plugin(PLUGIN, AUTHOR, VERSION)
	
	register_forward(FM_Touch, "fwd_touch")
	
	register_event("DeathMsg", "DeathMsg", "a")
	register_logevent("PoczatekRundy", 2, "1=Round_Start"); 
	
}

public plugin_precache()
{
	precache_model(modelitem);
}


public PoczatekRundy()	
	kill_all_entity("paczka")


public DeathMsg()
{
	new kid = read_data(1)
	new vid = read_data(2)
	
	if( kid == vid )
		return PLUGIN_CONTINUE;
	if(is_user_connected(kid) || is_user_connected(vid))
		create_itm(vid, 0)
	
	return PLUGIN_CONTINUE;
}

public UzyjPaczki(id)
{
	if( !is_user_connected(id) || !is_user_alive(id) )
		return PLUGIN_HANDLED;
	
	
	switch(random_num(1, 5))
	{
		case 1:
		{
			new hp = get_user_health(id);
			new losowehp = random_num(-5, -50);
			set_user_health(id, hp+losowehp)
			ColorChat(id, GREY, "^x04%s ^x01 Znalazles cyjanek. Tracisz ^x03%i^x01 HP!", prefix, losowehp)
		}
		case 2:
		{
			new hp = get_user_health(id);
			new losowehp = random_num(5, 100);
			set_user_health(id, hp+losowehp)
			ColorChat(id, GREY, "^x04%s ^x01 Znalazles strzykawke. Dostales ^x03%i^x01 HP!", prefix, losowehp)	
		}
		case 3:
		{
			new kasa = cs_get_user_money(id);
			new losowakasa = random_num(20, 50000);
			cs_set_user_money(id, kasa+losowakasa)
			ColorChat(id, GREY, "^x04%s ^x01 Chlopie, jestes bogaty! Dostales ^x03%i^x01 kasy!", prefix, losowakasa)	
		}
		case 4:
		{
			ColorChat(id, GREY, "^x04%s ^x01 Chwileczka, Ty masz juz perka!", prefix)	
			if(cod_get_user_perk(id))
				return PLUGIN_HANDLED
			
			cod_set_user_perk(id, -1, -1, 1);
		}
		case 5:
		{
			new losowyexp = random_num(50, 1000);
			cod_set_user_xp(id, cod_get_user_xp(id) + losowyexp);
			ColorChat(id, GREY, "^x04%s ^x01 Dostales ^x03%i^x01 Expa!", prefix, losowyexp)
		}
	}
	return PLUGIN_HANDLED;
}


public create_itm(id, id_item){ 
	
	new Float:origins[3]
	pev(id,pev_origin,origins);
	new entit=create_entity("info_target")
	
	origins[0]+=50.0
	origins[2]-=32.0
	
	set_pev(entit,pev_origin,origins)
	entity_set_model(entit,modelitem)
	set_pev(entit,pev_classname,"paczka");
	
	dllfunc(DLLFunc_Spawn, entit); 
	set_pev(entit,pev_solid,SOLID_BBOX); 
	set_pev(entit,pev_movetype,MOVETYPE_FLY);
	
	engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});
	
	engfunc(EngFunc_DropToFloor,entit);
	
	set_pev(entit, pev_iuser1, id_item)
}
public fwd_touch(ent,id)
{       
	if(!is_user_alive(id)) return FMRES_IGNORED;
	
	if(!pev_valid(ent)) return FMRES_IGNORED;
	
	static classname[32];
	pev(ent,pev_classname,classname,31); 
	
	if(!equali(classname,"paczka")) return FMRES_IGNORED;
	
	if(pev(id,pev_button))
	{
	{
		UzyjPaczki(id)
		engfunc(EngFunc_RemoveEntity,ent);
	}
}
return FMRES_IGNORED; 
}
public kill_all_entity(classname[]) {
new iEnt = find_ent_by_class(-1, classname)
while(iEnt > 0) {
	remove_entity(iEnt)
	iEnt = find_ent_by_class(iEnt, classname)		
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Chciałbym, żeby zamiast tych wszystkich nagród, można było zdobyć:

Exp - od 1 do 600

Monety - od 1 do 5

Posiadam ten system monet: http://amxx.pl/topic...3-system-monet/

 

 

Oczywiście wynagrodzę każdą pomoc :)


Użytkownik dominiv2604 edytował ten post 25.11.2013 22:42

  • +
  • -
  • 0

#2 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 26.11.2013 08:16

Proszę. Myślę że dalej sobie poradzisz.
case 1:
{
new kasa = cod_get_user_coins(id)
new losowy = random_num(1, 5);
cod_set_user_coins(id, kasa+1);
ColorChat(id,GREY," Znalazles %i monet!", losowy);
}
 
case 2:
{
new exp = cod_get_user_xp(id);
new losowy = random_num(1, 600);
cs_set_user_money(id, kasa-doswiadczenie);
cod_set_user_xp(id, exp+losowy)
ColorChat(id, GREY, "Dostales %i EXP'a!", losowy);
}

 


Znany jako oeN.


#3 mastah7991

    Wszechpomocny

  • Użytkownik

Reputacja: 154
Profesjonalista

  • Postów:388
  • Lokalizacja:Polska
Offline

Napisano 26.11.2013 08:31

 

Proszę. Myślę że dalej sobie poradzisz.
case 1:
{
new kasa = cod_get_user_coins(id)
new losowy = random_num(1, 5);
cod_set_user_coins(id, kasa+1); // nie wazneile wylosuje w losowy i tak doda 1 ;/ 
ColorChat(id,GREY," Znalazles %i monet!", losowy);
}
 
case 2:
{
new exp = cod_get_user_xp(id);
new losowy = random_num(1, 600);
cs_set_user_money(id, kasa-doswiadczenie); // po co jeszcze kasa sie bawisz ? O.o  p.s chyba nie masz zmiennej kasa i ddoświadczenie nigdzie = brak możliwości compliacji ;/
cod_set_user_xp(id, exp+losowy)
ColorChat(id, GREY, "Dostales %i EXP'a!", losowy);
}

 

 

chyba coś nie tak 

 

 

to powinno wyglądać tak:

case 1:
{
new kasa = cod_get_user_coins(id)
new losowemonety = random_num(1,5);
cod_set_user_coins(id, kasa+losowemonety);
ColorChat(id,GREY," Znalazles %i monet!", losowemonety);
}
 
case 2:
{
new exp = cod_get_user_xp(id);
new losowyexp = random_num(1, 600);
cod_set_user_xp(id, exp+losowyexp)
ColorChat(id, GREY, "Dostales %i EXP'a!", losowyexp);
}

i w 

switch(random_num(1, 5))

zmieniasz 5 na liczbę wszystkich możliwych nagród 

( w twoim przypadku 2 ) ;)

 

 

 

 

pozdrawiam ;)

 

 

@down 

spoko spoko ;P każdy ma prawo się pomylić 


Użytkownik mastah7991 edytował ten post 26.11.2013 08:42

  • +
  • -
  • 1

#4 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 26.11.2013 08:39

Kopiowałem ze sklepu na monety żeby było mniej zabawy i zapomniałem usunąć. Ehh... mój błąd, dzięki za poprawę.


Znany jako oeN.


#5 dominiv2604

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:86
  • Imię:Dominik
  • Lokalizacja:Kalisz
Offline

Napisano 26.11.2013 09:25

"Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

paczki.sma(60) : error 014: invalid statement; not in switch
paczki.sma(60) : error 029: invalid expression, assumed zero
paczki.sma(62) : error 017: undefined symbol "cod_get_user_coins"
paczki.sma(64) : error 017: undefined symbol "cod_set_user_coins"
paczki.sma(67) : error 014: invalid statement; not in switch
paczki.sma(67) : warning 215: expression has no effect
paczki.sma(67) : error 001: expected token: ";", but found ":"
paczki.sma(67) : error 029: invalid expression, assumed zero
paczki.sma(67) : fatal error 107: too many error messages on one line

Compilation aborted.
8 Errors."

 

Przy kompilacji... :P
 


  • +
  • -
  • 0

#6 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 26.11.2013 13:30

Masz.

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <colorchat>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

native cod_get_user_coins(id)
native cod_set_user_coins(id, wartosc);

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
}

public losuj(id)
{
	switch(random_num(1, 2))
	{
		case 0:
		{
			new kasa = cod_get_user_coins(id)
			new losowemonety = random_num(1,5);
			cod_set_user_coins(id, kasa+losowemonety);
			ColorChat(id,GREY," Znalazles %i monet!", losowemonety);
		}
		
		case 1:
		{
			new exp = cod_get_user_xp(id);
			new losowyexp = random_num(1, 600);
			cod_set_user_xp(id, exp+losowyexp)
			ColorChat(id, GREY, "Dostales %i EXP'a!", losowyexp);
		}
	}
}

Znany jako oeN.


#7 dominiv2604

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:86
  • Imię:Dominik
  • Lokalizacja:Kalisz
Offline

Napisano 26.11.2013 14:08

Możesz cały plugin połączyć w jedno i dać plik *.sma?


  • +
  • -
  • 0

#8 dominiv2604

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:86
  • Imię:Dominik
  • Lokalizacja:Kalisz
Offline

Napisano 26.11.2013 14:15

Możesz cały plugin połączyć w jedno i dać plik *.sma?


  • +
  • -
  • 0

#9 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 26.11.2013 14:49

Proszę.

Załączone pliki


Znany jako oeN.






Również z jednym lub większą ilością słów kluczowych: silnik

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

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