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

Kupno więcej HP na całą mapę


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

#1 Fajled

    Wszechwidzący

  • Użytkownik

Reputacja: 56
Pomocny

  • Postów:279
  • GG:
  • Imię:Damian
  • Lokalizacja:Wrocław
Offline

Napisano 15.02.2012 17:37

Witam.
Chciałbym się dowiedzieć jak zrobić tak, aby można było kupić np. więcej HP działające przez całą mapę ?

Np, wpiszę w say /kupnohp i dostaje 120 hp aż do końca mapy (nie redukuje się do 100 HP po deadzie). Może mi ktoś napisać, jak to zrobić ? :)

Użytkownik Fajled edytował ten post 15.02.2012 17:37

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 15.02.2012 17:44

Testuj
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fun>

#define PLUGIN ""
#define VERSION "1.0"
#define AUTHOR "speedkill"

new use[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /kupnohp","cmd")
	RegisterHam(Ham_Spawn, "player", "respawn", 1)
}
public client_connect(id) use[id] = false;
public cmd(id)
{
	if(!use[id] && is_user_alive(id))
	{
		if(cs_get_user_money(id) >= 5000)
		{
			use[id] = true
			set_user_health(id,120)
		}
	}
}
public respawn(id)
{
	if(use[id])
	{
		set_user_health(id,120)
	}
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#3 Fajled

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 56
Pomocny

  • Postów:279
  • GG:
  • Imię:Damian
  • Lokalizacja:Wrocław
Offline

Napisano 15.02.2012 19:20

Wielkie dzięki ! Działa :) Plusik leci.

I jeszcze jedna rzecz - umiałbyś to przerobić na minuty ? :D Np. że to działa 5 min itp. I nawet jak się da, aby ten czas pozostały był na następnej mapie (chyba rozumiesz o co chodzi :P )
Ale jeżeli zrobisz w ten sposób, że będzie można kupić sobie HP na 10 min, a do końca mapy zostało 5 i na nowej już nie będzie działało to się nie obrażę :D
  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 17.02.2012 18:18

Hp trwa 5 minut i kosztuje 5000$ ;)
Sprawdź
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <nvault>
#include <colorchat>

#define PLUGIN ""
#define VERSION "1.0"
#define AUTHOR "speedkill"

new use[33]
new czas[33]
new g_vault

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /kupnohp","cmd")
	g_vault = nvault_open("hp")
	RegisterHam(Ham_Spawn, "player", "respawn", 1)
	set_task(90.0,"info",_,_,_,"b")
}
public client_connect(id)
{
	use[id] = 0
	set_task(1.0,"load",id)
}
public cmd(id)
{
	if(!use[id] && is_user_alive(id))
	{
		if(cs_get_user_money(id) >= 5000)
		{
			use[id] = 1
			czas[id] = 5*60
			set_task(1.0,"sprawdz",id,_,_,"b")
			set_user_health(id,120)
		}
	}
}
public sprawdz(id)
{
	czas[id]--
	if(czas[id] <= 0)
	{
		if(task_exists(id))
		{
			use[id] = 0
			save(id)
			remove_task(id)
		}
	}
}	
public respawn(id)
{
	if(use[id] == 1)
	{
		set_user_health(id,120)
	}
}
public client_disconnect(id)
{
	if(use[id] == 1)
	{
		save(id)
	}
	if(task_exists(id))
	{
		remove_task(id)
	}
}
public info()
{
	for(new id=1;id<33;id++)
	{
		if(is_user_connected(id) && use[id] == 1)
		{
			ColorChat(id, RED, "^x01 Do konca dodatkowego hp zostalo : ^x04%d minut ^x01!",czas[id]%3600/60)
		}
	}
}
public save(id)
{
	new vaultkey[64],vaultdata[256],name[64]
	get_user_name(id,name,63)
	format(vaultkey,63,"%s-hp",name)
	format(vaultdata,255,"%d#%d",czas[id],use[id])
	nvault_set(g_vault,vaultkey,vaultdata)
}
public load(id)
{
	new vaultkey[64],vaultdata[256],name[64]
	get_user_name(id,name,63)
	format(vaultkey,63,"%s-hp",name)
	format(vaultdata,255,"%d#%d",czas[id],use[id])
	nvault_get(g_vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")
	
	new zmienna[33], zmienna1[33]
	parse(vaultdata, zmienna, 32, zmienna1, 32)	
	
	czas[id] = str_to_num(zmienna)
	use[id] = str_to_num(zmienna1)
	
	if(czas[id] > 0)
	{
		set_task(1.0,"sprawdz",id,_,_,"b")
	}
}

  • +
  • -
  • 0

If you can dream it, you can do it.





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

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