←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

[CoD QTM] Item na runde?

Blood Angel - zdjęcie Blood Angel 18.09.2010

Witam

Mam pewien dziwny problem. Chodzi o własne itemy. Zrobiłem sobie 3 nowe itemki. Ale one działają tylko na 1 rundę.

Np. Zrobiłem item Potega.

	"Modul odrzutowy",//28
"Potega"


	"Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy",
"Cicho biegasz, mniejsza grawitacja, 1/LW na zabicie ze Scouta."


		case 29:
{
informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
give_item(id, "weapon_scout");
set_user_gravity(id, 0.4);
set_user_footsteps(id, 1);
}


Tak to wygląda. I jeszcze mam problem by zrobić ten item 1/1-1/4. Może ktoś pomóc i powiedzieć co tu jest źle? Najlepiej jak by ktoś napisał jak to się robi. I jeszcze bym prosił o zrobienie sklepiku. .SMA w załączniku!

Załączone pliki

Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 18.09.2010

Musisz dodać opcje itemów w public Odrodzenie(id), aby dawało co każdy spawn :)

Dodano 18 wrzesień 2010 - 23:06:
Dodaj sobie przed końcem:

if(informacje_przedmiotu_gracza[id][0] == 29)
                {
                        informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
                        give_item(id, "weapon_scout");
                        set_user_gravity(id, 0.4);
                        set_user_footsteps(id, 1);
                }
Odpowiedz

Blood Angel - zdjęcie Blood Angel 19.09.2010

Dzięki! Leci reput! Czekam na dalsze wypowiedzi.

Chciał bym jeszcze by ktoś zrobił listę mocy przedmiotów. Typu Nieśmiertelność, hp, nie skończona amunicja, noclip, zabieranie kasy ITP.

Każda wypowiedź nagrodzona + !

Dodano 20 wrzesień 2010 - 16:40:
Refresh!

Jeszcze bym prosił jak zrobić item który dodaje do statystyk?
Użytkownik Blood Angel edytował ten post 19.09.2010 12:03
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 20.09.2010

Chciał bym jeszcze by ktoś zrobił listę mocy przedmiotów. Typu Nieśmiertelność, hp, nie skończona amunicja, noclip, zabieranie kasy ITP.

Jak mają działać te itemy dokładniej?

Bo funkcje jakie są to ci mogę napisać. ; ]
Odpowiedz

Blood Angel - zdjęcie Blood Angel 20.09.2010

Opiszę ci to w przedmiotach.

Duszek:
Po kliknięciu E mamy przez 5s No-Clip

Amunicja:
Nie skończoność amunicji.

Bank:
Co rundę dostajemy 3000$ kasy.

Ring of Invisiblity:
Niewidzialność ( to umie) i 5hp (tak jak stalker na Diablo)

Nożownik:
Nóż zadaje +200 obrażeń.

Potęga:
Masz mniejszą grawitację, cicho biegasz, masz 1/1 - 1/4 szans na zabicie z Scout.

Marycha:
Ulecza 50hp co 5s.

Hit4u:
Po kliknięciu E mamy Godmode przez 5s.

I czy można zrobić takie coś że wybrana klasa lub item ma swój własny model broni/wyglądu?

Mam jeszcze problem. Bo coś mi się zepsuło i teraz można zmieniać ciągle klasy nie trzeba czekać na koniec rundy.

Dodano 21 wrzesień 2010 - 18:57:
Teraz zostały tylko te komendy... Pomoże ktoś?

Załączone pliki


Użytkownik Blood Angel edytował ten post 20.09.2010 19:39
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 21.09.2010

Bank:

W public Odrodzenie(id)
Pod tym:
        if(informacje_przedmiotu_gracza[id][0] == 27)
                informacje_przedmiotu_gracza[id][1] = 3;
To:
if(informacje_przedmiotu_gracza[id][0] == XX) //W miejsce XX Case tego itemu
           
                cs_get_user_money(id) + 16000;
Mysle, ze opis i nazwe itemu umiesz zrobic sam.

Marycha:
Pod:
#define ZADANIE_WYSZKOLENIE_SANITARNE 736
Dajesz:
#define ZADANIE_MARYCHA 736 // Liczby nie jestem pewien
W public client_connect(id):
Pod:
remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
To:
remove_task(id+ZADANIE_MARYCHA);
W public client_disconnect(id)
Pod:
remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
To:
remove_task(id+ZADANIE_MARYCHA);

Robisz:
public Marycha(id)
{
	id -= ZADANIE_MARYCHA;
	if(informacje_przedmiotu_gracza[id][0] != 16)
		return PLUGIN_CONTINUE;
	set_task(5.0, "Marycha", id+ZADANIE_MARYCHA);
	if(!is_user_alive(id))
		return PLUGIN_CONTINUE;
	new health = get_user_health(id);
	new new_health = (health+50<maksymalne_zdrowie_gracza[id])?health+50:maksymalne_zdrowie_gracza[id];
	set_user_health(id, new_health);
	return PLUGIN_CONTINUE;
}

W DajPrzedmiot:
case X: // W miejsce X twoj case !!
		{
			set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_MARYCHA);
		}

Użytkownik Pawex edytował ten post 23.09.2010 14:50
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 21.09.2010

id -= ZADANIE_WYSZKOLENIE_SANITARNE;

pewno? :P
Odpowiedz

Blood Angel - zdjęcie Blood Angel 23.09.2010

Ktoś ma dalsze propozycje??
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 23.09.2010

Lopsz, zapomnialem tego zmieniac :P Robilem na podstawie tego wlasnie kodu i wyszlo to na jaw :o

Nozownik:
W public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
if(informacje_przedmiotu_gracza[idattacker][0] == XX && weapon == CSW_KNIFE) //W miejsce XX Case tego itemu
{
		damage+=200;
}
A jak nie zadziala to:
	if(weapon == CSW_KNIFE)
	{

		if(informacje_przedmiotu_gracza[idattacker][0] == XX ) //W miejsce XX Case tego itemu
			damage+=200);
	}

Użytkownik Pawex edytował ten post 23.09.2010 14:50
Odpowiedz

Blood Angel - zdjęcie Blood Angel 24.09.2010

Coś jeszcze?

Dodano 24 wrzesień 2010 - 20:22:
Zostało tylko to:

Duszek:
Po kliknięciu E mamy przez 5s No-Clip

Amunicja:
Nie skończoność amunicji.

Hit4u:
Po kliknięciu E mamy Godmode przez 5s.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 24.09.2010

Zostaly te najtrudniejsze... Jutro moze postaram sie cos wykombinowac z Nieskonczonym ammo.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 24.09.2010

Bank:

cs_get_user_money(id) + 16000;

jesteś tego pewny? xdd...
cs_set_user_money raczej... i nie + 16000 tylko od razu 16000.

Dodano 24 wrzesień 2010 - 22:55:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

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

public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR);
        RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
	register_forward(FM_CmdStart, "CmdStart");
}


public CmdStart(id, uc_handle)
{
	if(!is_user_alive(id))		return FMRES_IGNORED;	
	if(informacje_przedmiotu_gracza[id][0] == NRITEMU && button & IN_USE && informacje_przedmiotu_gracza[id][1] > 0)
	{
		set_user_godmode(id,1);
		informacje_przedmiotu_gracza[id][1]--;		set_task(5.0, "godOFF", id);
	}
}

public Odrodzenie(id) {
	if(informacje_przedmiotu_gracza[id][0] == NRITEMU)		informacje_przedmiotu_gracza[id][1] == 1;
}

public DajPrzedmiot(id, przedmiot) {

	switch(przedmiot)
	{
		case blabla: Costam;
		case NRITEMU:		informacje_przedmiotu_gracza[id][1] == 1;
	}
}


public godOFF(id)
{
	if(is_user_connected(id)		set_user_godmode(id,0);
}
Zrób mu ktoś z tego tutka albo dodaj do sma ... ;P

Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 24.09.2010

Jak mu zostanie pare tysiecy, to sie chyba nie obrazi co? :P
Odpowiedz

Blood Angel - zdjęcie Blood Angel 25.09.2010

Wolałbym jak by ktoś dał do .sma xD

A z tą kasą to dokładnie miało być tak:

			cs_set_user_money(id, 5000);

Załączone pliki


Użytkownik Blood Angel edytował ten post 25.09.2010 08:23
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 25.09.2010

Bank:

if(informacje_przedmiotu_gracza[id][0] == XX)
		cs_set_user_money(id, cs_get_user_money(id) + 3000);
Tak według opisu jak ma działać item (W public Odrodzenie).
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 25.09.2010

Up, a nie prosciej tak:
cs_set_user_money(id, 16000);
?? i co runde bedzie mial 16k
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 25.09.2010

Poczytaj jak ma działać item...
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 25.09.2010

Pomylilo mi sie z pw...
Użytkownik Pawex edytował ten post 25.09.2010 15:25
Odpowiedz

Blood Angel - zdjęcie Blood Angel 25.09.2010

Jest możliwość zrobienia itemu/mocy że po wciśnięci E lub po zabiciu gracz wybucha i zadaje XXX obrażeń? Obrażenia można zmienić i jeszcze zasięg żeby też można było.
Odpowiedz