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
 

wiwi249 - zdjęcie

wiwi249

Rejestracja: 22.02.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 10.04.2018 14:57
*****

#673594 Problem z kompilacja pluginu

Napisane przez wiwi249 w 04.12.2014 17:59

get_pcvar_string( " 3a6aHeH /voteban'om Ha %time% MuH.! Pa36aH TyT: BaIII cauT", szReason, charsmax(szReason) )

zamień na

formatex( szReason, charsmax(szReason), " 3a6aHeH /voteban'om Ha %time% MuH.! Pa36aH TyT: BaIII cauT" )

Jeśli już chcesz iść tą metodą ;)


  • +
  • -
  • 1


#673592 Zmienna logiczna na cały serwer

Napisane przez wiwi249 w 04.12.2014 17:54

Noo nienienie. muzyka_tt to tablica która zawiera tylko ściezki do utworów.

Zapisz sobie nazwy utworów do następnej tablicy i sobie to wczytuj ;)

new const muzyka_tt[5][] = 
{
	"sound/muzyka/tt1.mp3",
	"sound/muzyka/tt2.mp3",
	"sound/muzyka/tt3.mp3",
	"sound/muzyka/tt4.mp3",
	"sound/muzyka/tt5.mp3"
}
new const utwory_tt[5][] = 
{
	"Nazwa Utworu 1",
	"Nazwa Utworu 2",
	"Nazwa Utworu 3",
	"Nazwa Utworu 4",
	"Nazwa Utworu 5"
}
new ostatni_rs = 0;

...
public TT_win() {
	for( new iPlayer = 1 ; iPlayer <= maxPlayers; iPlayer++){
		if( !is_user_connected( iPlayer ) || !roundsound[ iPlayer ] || cs_get_user_team(iPlayer) != CS_TEAM_T ){
			return;
		client_cmd(iPlayer, "mp3 play %s", muzyka_tt[ostatni_rs]);
		ColorChat(iPlayer,  RED, "[GODLIKE]^x01 Gramy^x04 %s", utwory_tt[ostatni_rs])
	}
	if(ostatni_rs == 4)
		ostatni_rs = 0;
	else
		ostatni_rs++;
}

  • +
  • -
  • 1


#673585 Zmienna logiczna na cały serwer

Napisane przez wiwi249 w 04.12.2014 17:42

new const muzyka_tt[5][] = 
{
	"sound/muzyka/tt1.mp3",
	"sound/muzyka/tt2.mp3",
	"sound/muzyka/tt3.mp3",
	"sound/muzyka/tt4.mp3",
	"sound/muzyka/tt5.mp3"
}
new ostatni_rs = 0;

...
public TT_win() {
	for( new iPlayer = 1 ; iPlayer <= maxPlayers; iPlayer++){
		if( !is_user_connected( iPlayer ) || !roundsound[ iPlayer ] || cs_get_user_team(iPlayer) != CS_TEAM_T ){
			return;
		client_cmd(iPlayer, "mp3 play %s", muzyka_tt[ostatni_rs]);
	}
	if(ostatni_rs == 4)
		ostatni_rs = 0;
	else
		ostatni_rs++;
}

Podobnie zrób dla CT i będzie dobrze ;)

 

PS. No i oczywiście #include <cstrike> :)


  • +
  • -
  • 1


#673540 Bomb Hound Eye - Bomb Marker

Napisane przez wiwi249 w 04.12.2014 16:01

po prostu odsyłaj się do beamTask z jakimś id, jak napisane jest wyżej.

Zróbmy jakieś id dla tego tasku, np. 98765.

set_task(3.0, "beamTask", 98765)

Tą linijkę sobie wrzuć zarówno tam, gdzie masz taskDrop i na końcu funkcji beamTask tak samo, wtedy się zapętli.

Następnie w evencie podniesienia bomby, po prostu sprawdzasz czy istnieje task o takim id i jeśli tak, to go usuwasz.

if(task_exists(98765))
   remove_task(98765)

  • +
  • -
  • 1


#673534 Zapis nVault w prezentach.

Napisane przez wiwi249 w 04.12.2014 15:35

Sama struktura bazy danych jest prosta. Stwórz sobie tabelę np. "prezenty" w phpmyadmin, jeśli masz do tego dostęp.

Pierwszą kolumną niech będzie id i ustaw mu klucz podstawowy najlepiej. Powinienes do niego zapisywać nick gracza, moim zdaniem.

Drugą kolumną niech będzie ilośc zebranych prezentów.

 

No i wiadomo - klient wchodzi to sprawdzamy ile ma prezentów, przy zebraniu każdego dodajemy jeden do tablicy z prezentami i zapisujemy w SQL. Jeśli nie zostały wczytane dane gracza (czyli nie zbierał wcześniej prezentów), formatujemy zapytanie do bazy tak:

formatex(query, charsmax(query), "INSERT INTO `prezenty` (`id`, `prezenty`) VALUES ('%s', '0')", nick)

Kiedy chcemy pobrać z bazy danych ilość prezentów:

formatex(query, charsmax(query), "SELECT * FROM `prezenty` WHERE `id` = '%s'", nick)

Jak chcemy zapisać:

formatex(query,charsmax(query),"UPDATE `prezenty` SET `prezenty`='%d' WHERE `nick`='%s' ", ilosc_prezentow[id], nick)

Tyle od strony SQL.

 

EDIT. Jak chcesz stworzyć bazę za pomocą SQL to możesz użyć tego zapytania:

CREATE TABLE IF NOT EXISTS prezenty ( id VARCHAR(32), wynik INT(11), PRIMARY KEY (id) )

Stworzy tablelę "prezenty" o kolumnach id i wynik (wynik to ilość prezentów)


  • +
  • -
  • 1


#673436 Plugin zmieniajacy TT co runde

Napisane przez wiwi249 w 04.12.2014 08:36

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define LIMIT_TT 2 //ustaw sobie limit TT

new bool:byl_tt[33]; //czy gracz byl TT w minionej wlasnie rundzie?
new ilosc_tt =0; //ile zostalo wylosowanych tt?
new gMaxPlayers;

public plugin_init() {
	register_logevent("Guwno", 2, "1=Round_End")
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
	gMaxPlayers = get_maxplayers();
}
 
public Guwno()
{
	client_print(0, print_chat, "[DR] Losowanie TT...");
	ilosc_tt = 0;
	for(new i=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			return;
		
		if(cs_get_user_team(i) == CS_TEAM_T) {
			cs_set_user_team(i, CS_TEAM_CT);
			byl_tt[i] = true;
		}
	}
	new id;
	while(ilosc_tt < LIMIT_TT) {
		id = random_num(0, gMaxPlayers)

		if(!byl_tt[id] && is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT)
		{
			cs_set_user_team(id, CS_TEAM_T);
			ilosc_tt++;
		}
	}
}
public Poczatek_Rundy() {
	for(new i = 0; i<=32; i++) 
	{
		byl_tt[i] = false;
	}
}

  • +
  • -
  • 1


#672732 Opis klas, problem z pobieraniem odpowiedniej frakcji do opisu

Napisane przez wiwi249 w 30.11.2014 19:58

nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item]

Coś mi się wydaje LosT, że przyczynę masz w swoim 'item'.

Item to numer pozycji w menu, którą wybrał gracz (licząc od 0). Założę się, że to wszystkie te zmienne są niezależne od frakcji i plugin je olewa, zwracając wartości takie, jakby nie było żadnej frakcji.


  • +
  • -
  • 1


#671957 Zarażony mod

Napisane przez wiwi249 w 25.11.2014 13:24

Za cholerę nic nie rozumiem z opisu... Ludzie, używajcie interpunkcji...


  • +
  • -
  • 2


#670356 Jak dodac hud_deathnotice_time do client_cmd

Napisane przez wiwi249 w 15.11.2014 14:47

#include <amxmodx>
 
#define PLUGIN "Nowy plugin"
#define VERSION "1.0"
#define AUTHOR "Mochi"
 
 
public plugin_init() 
    register_plugin(PLUGIN, VERSION, AUTHOR)
 
public client_connect(id) {
    client_cmd(id,"hideradar")
    client_cmd(id,"hud_deathnotice_time 0")
}
 
public client_disconnect(id) {
    client_cmd(id,"drawradar")  
    client_cmd(id,"hud_deathnotice_time 6")  
}

  • +
  • -
  • 1


#668340 [ROZWIĄZANE] Nie pokazuje Nicku Gracza w pluginie

Napisane przez wiwi249 w 28.10.2014 22:23

#include <amxmodx>
#include <hamsandwich>
#include <hlsdk_const>
#include <colorchat>
 
#define PLUGIN "Obrazenia"
#define VERSION "1.0"
#define AUTHOR "Zero"
 
 
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "obrazenia")
}
 
public obrazenia(id, Inflictor, Attacker, Float:Damage, DamageBits) 
{
if((DamageBits & DMG_FALL) && Damage > 10) 
{
new name[32]
get_user_name(id,name,31)
ColorChat(0, RED, "[DMG] ^x04%s stracil ^x03%d hp ^x01spadajac z wysokosci.",name, floatround(Damage));
}    
}

Spróbuj tego.

Jak kompilujesz lokalnie to musisz pobrać bibliotekę colorchat.inc http://amxx.pl/dokum...a/i11/colorchat i wrzucić do folderu amxmodx/scripting/include ;)

Niestety, nie da się zrobić takiego formatowania jak chcesz. kolor ilości HP będzie zależny od drużyny (niebieski/zielony/szary) w której jest akurat gracz i nic na to nie poradzimy.


  • +
  • -
  • 1


#668264 [ROZWIĄZANE] Nie pokazuje Nicku Gracza w pluginie

Napisane przez wiwi249 w 27.10.2014 23:24

Ou to juz trzeba przerabiac za pomocą biblioteki ColorChat, troche bardziej skomplikowana sprawa. Podrzuć cały plugin to Ci to zrobie.


  • +
  • -
  • 1


#668240 [ROZWIĄZANE] Nie pokazuje Nicku Gracza w pluginie

Napisane przez wiwi249 w 27.10.2014 19:19

No zobacz sobie jak to formatujesz i co chcesz osiągnąć.

client_print(0, print_chat, "Gracz %d spadl i zabralo mu %f hp",id, Damage);

prosisz silnik o wstawienie do tej wiadomości id gracza a nie jego nick.

client_print(0, print_chat, "Gracz %s spadl i zabralo mu %f hp",name, Damage);

I po kłopocie.

http://amxx.pl/topic...towanie-tekstu/

Poczytaj sobie.

 

EDIT.

A jak chcesz podany miec Damage jako całkowita liczba to zapisz to tak

client_print(0, print_chat, "Gracz %s spadl i zabralo mu %d hp",name, floatround(Damage));

  • +
  • -
  • 2


#666929 Call of Duty: Modern Warfare Dominacja by LosT. - Dyskusja Ogólna

Napisane przez wiwi249 w 13.10.2014 19:24

O mnie już w tym projekcie nie wspomnisz? -.-


  • +
  • -
  • 1


#665419 [ROZWIĄZANE] Jak zrobić komendę która otwiera co.txt

Napisane przez wiwi249 w 28.09.2014 15:18

register_clcmd("wymagania", "WymaganiaFunkcja")

A potem w funkcji WymaganiaFunkcja(id) dajesz show_motd do swojego txt.

 

PS. Pisze się "komendę" a nie "komędę". Mój kraj, taki piękny.


  • +
  • -
  • 1


#665366 opis perku w motd

Napisane przez wiwi249 w 27.09.2014 21:29

Tak.


  • +
  • -
  • 0