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

[ROZWIĄZANE] Wychwycenie nowej rundy


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

#1 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 31.01.2012 12:46

Mam taki problem, a mianowicie jak uchwycić nową rundę z parametrem "id", wiem że kanapką bym mógł lecz mam respawn, czyli jak dobrze myślę to będzie się wykonywać przy każdym spawnie :D
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#2 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 31.01.2012 18:37

public plugin_init()
{
register_plugin("NewPlugin", "v1.01", "Grzyboo");
register_event("HLTV", "EventNewRound", "a", "1=0", "2=0");
register_logevent("EventRoundStart",2,"1=Round_Start");
}

public EventNewRound() // Nowa runda
{
for(new i=1; i <= get_maxplayers(); i++)
{
if(is_user_connected(i))
{
//code
}
}
}

public EventRoundStart() // Po skonczeniu Freezetime
{
for(new i=1; i <= get_maxplayers(); i++)
{
if(is_user_connected(i))
{
//code
}
}
}

  • +
  • -
  • 1

#3 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 31.01.2012 22:19

Zaraz sobie wszystko sprawdzę

I jeszcze żeby nie zakładać nowego tematu:

1. Jak dać jednego flash'a? (give_item z fun daje 2)
2. Nie ogarniam zbytnio tych dotyków, a więc rodzi się moje pytanie: Z czego mam skorzystać lub niech ktoś poda gotową funkcję na to, że jak gracz stoi na głowie wroga to wrogowi odbierane jest hp (task sobie mogę sam ustawić :D) i jeżeli zabije go poprzez takie stanie na nim zostanie coś wykonane.

Użytkownik K!113r edytował ten post 31.01.2012 22:23

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#4 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 31.01.2012 22:22

http://amxx.pl/dokum...70/fm_give_item

jak Ci to nie przeszkadza że fm_util

Użytkownik Nakupenda. edytował ten post 31.01.2012 22:23

  • +
  • -
  • 1

#5 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 31.01.2012 22:42

Co do 2.
http://forums.allied...ead.php?t=58024
  • +
  • -
  • 1

If you can dream it, you can do it.


#6 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 31.01.2012 22:43

@ Nakupenda.
Dzięki, zawsze myślałem że pod tym względem fun i fm się nie różnią :D

Użytkownik K!113r edytował ten post 31.01.2012 22:44

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#7 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 31.01.2012 23:12

zawsze lepiej jest używać fun'a ;)

ale jestem 99% pewien, że jak dasz fun'em flesha to doda jeden a nie dwa :)
  • +
  • -
  • 1

#8 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 31.01.2012 23:32

jak dodasz 2x to doda 2
co do nowej rundy z id to mozna tez wykryc resethud'a
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#9 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 31.01.2012 23:35

nie wiem czemu raz coś dawałem na fun i 2 dawał :D

a wracając do eventu coś mi nie pyka


#include
#include
#include
#include
#include
#define PLUGIN "Test"
#define VERSION "1.0"
#define AUTHOR "K!113r"
new zycia[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_Killed, "player","Killed", 1);
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);

register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin"); //to później
register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin"); // to później

register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")

}
public Nowa_Runda()
{
for(new i=0; i <= get_maxplayers(); i++)
{
if(is_user_connected(i))
{
zycia[i] = 2
}
}
}
public Killed(id)
{
if(zycia[id] > 0)
{
set_task(0.5, "Respawn", id);
zycia[id]--
}
else
client_print(id, print_chat, "Nie masz juz dodatkowych zyc")
}
public Respawn(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public Odrodzenie(id)
{
if(is_user_alive(id))
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
client_print(id, print_chat, "masz jeszcze %d zyc dodatkowych", zycia[id])
}
public client_connect(id) //tylko do testu
{
zycia[id] = 2
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Na start (przyłączenie do serwera) są 2 dodatkowe życia, po umieraniu odejmuje, ale przy nowej rundzie nie ustawia ich ilości na 2

Użytkownik K!113r edytował ten post 31.01.2012 23:36

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#10 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 01.02.2012 17:25

ja bym to zapisał tak :)

#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "Test"
#define VERSION "1.1"
#define AUTHOR "K!113r"
new zycia[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
//RegisterHam(Ham_Killed, "player","Killed", 1);
register_event("DeathMsg","Killed","ade")
register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin"); //to później
register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin"); // to później
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda()
{
for(new i=1; i<33; i++) // id musi sie zaczac od 1, nie 0
{
if(is_user_connected(i))
{
zycia[i] = 3
}
}
}
public Killed()
{
new id = read_data(1)
zycia[id]--
if(zycia[id] > 0)
{
set_task(0.5, "Respawn", id);
}
else
client_print(id, print_chat, "Nie masz juz dodatkowych zyc")
}
public add_respawn_bonus(id) // pozbywam sie hamsandwicha
{
new svIndex[32]
num_to_str(id,svIndex,32) // zapisanie id jako stringa
set_task(0.5,"Odrodzenie",0,svIndex,32) // przeslanie wiecej argumentow przez set_taska
}
public Odrodzenie(svIndex[])
{
new vIndex = str_to_num(svIndex)
spawn(vIndex);

strip_user_weapons(vIndex) // zamiast fm_util - fun
give_item(vIndex, "weapon_knife") // to nóż czy flesz?
client_print(vIndex, print_chat, "masz jeszcze %d zyc dodatkowych", zycia[vIndex])
}


zauważ że są o 2 biblioteki mniej i kod uproszczony
pewnie lepiej by to zrobił dark, ale.. ^^

Użytkownik Nakupenda. edytował ten post 01.02.2012 17:26

  • +
  • -
  • 0

#11 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 02.02.2012 16:56

Fakemety nie lubię i miałem ją wywalić, ale coś jest nie tak.
Może dlatego że testuję na botach, ale broni nie zabiera i "nie masz już dodatkowych żyć"
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#12 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 02.02.2012 19:38

przetestuj na serwie, bo kod raczej ok
  • +
  • -
  • 0

#13 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 02.02.2012 23:28

Ale testowałem też sam bez botów i nawet broni nie zabrało.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#14 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 03.02.2012 07:36

spróbuj tak:

#include <fakemeta>



public Odrodzenie(svIndex[])
{
new vIndex = str_to_num(svIndex)
if(!is_user_alive(svIndex))
{
set_pev(svIndex, pev_deadflag, DEAD_RESPAWNABLE);
dllfunc(DLLFunc_Think, svIndex);
dllfunc(DLLFunc_Spawn, svIndex);
strip_user_weapons(svIndex);
give_item(svIndex, "weapon_knife");
client_print(vIndex, print_chat, "masz jeszcze %d zyc dodatkowych", zycia[vIndex])
}
}

  • +
  • -
  • 0

#15 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 05.02.2012 11:02

podmieniłem kod i:

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

hard_knives.sma(48) : error 035: argument type mismatch (argument 1)
hard_knives.sma(50) : error 035: argument type mismatch (argument 1)
hard_knives.sma(53) : error 035: argument type mismatch (argument 1)
hard_knives.sma(54) : error 035: argument type mismatch (argument 1)

4 Errors.
Could not locate output file hard_knives.amx (compile failed).
<<< Process finished.
================ READY ================


edit

żeby nie było dodałem biblioteke i podmieniłem public'a :D

Odświeżam

Użytkownik K!113r edytował ten post 03.02.2012 16:49

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#16 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 05.02.2012 15:06

mój błąd :D


public Odrodzenie(svIndex[])
{
new vIndex = str_to_num(svIndex)
if(!is_user_alive(vIndex))
{
set_pev(vIndex, pev_deadflag, DEAD_RESPAWNABLE);
dllfunc(DLLFunc_Think, vIndex);
dllfunc(DLLFunc_Spawn, vIndex);
strip_user_weapons(vIndex);
give_item(vIndex, "weapon_knife");
client_print(vIndex, print_chat, "masz jeszcze %d zyc dodatkowych", zycia[vIndex])
}
}
  • +
  • -
  • 0

#17 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 19.02.2012 11:07

dalej nie działa :/
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować





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

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