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
 

speedkill - zdjęcie

speedkill

Rejestracja: 26.12.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.11.2017 20:28
*****

#660616 [ROZWIĄZANE] "kolorowa" komenda /me

Napisane przez speedkill w 27.08.2014 20:43

Podrzuć statsx.sma lub skorzystaj z tego poradnika: http://amxx.pl/topic...73-kolorowe-me/
  • +
  • -
  • 1


#660603 [ROZWIĄZANE] Komenda kill

Napisane przez speedkill w 27.08.2014 20:24

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

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

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_forward(FM_ClientKill, "PlayerKill");
}

public PlayerKill(id){
	if(is_user_alive(id)){
		client_print(id, 3, "Nie ma tak latwo ;)");
		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED;
}

  • +
  • -
  • 3


#660593 [ROZWIĄZANE] stroj przeciwnika na X sekund - pomoc

Napisane przez speedkill w 27.08.2014 20:12

Nie wiem, czy model gracza zmienia się automatycznie wraz z początkiem rundy, czy też nie, dlatego dodałem zabezpiecznie g_Successful. ;)

Nietestowane:
/* Plugin generated by AMXX-Studio */

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

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

new g_MaxPlayers;
new bool:g_Successful[33];

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /test", "ShowPlayerMenu");
	
	register_logevent("RoundStart", 2, "1=Round_Start");
}

public plugin_cfg(){
	g_MaxPlayers = get_maxplayers();
}

public ShowPlayerMenu(id){
	if(is_user_alive(id)){
		new g_Menu = menu_create("Tytul", "MenuChoose");
		
		menu_additem(g_Menu, "Tak");
		menu_additem(g_Menu, "Nie");
		
		menu_setprop(g_Menu, MPROP_EXITNAME, "Wyjscie");
		menu_display(id, g_Menu);
	}
}

public MenuChoose(id, g_Menu, g_Item){
	if(g_Item == MENU_EXIT){
		menu_destroy(g_Menu);
		return PLUGIN_HANDLED;
	}
	
	switch(g_Item){
		case 0:{
			if(is_user_alive(id)){
				switch(cs_get_user_team(id)){
					case CS_TEAM_CT:{
						cs_set_user_model(id, "leet");
						g_Successful[id] = true;
					}
					
					case CS_TEAM_T:{
						cs_set_user_model(id, "gign");
						g_Successful[id] = true;
					}
				}
				if(g_Successful[id]){
					set_task(5.0, "RestorePlayerModel", id);
				}
			}
		}
		
		case 1:{
			client_print(id, 3, "Twoj problem... ;)");
		}
	}
	menu_destroy(g_Menu);
	return PLUGIN_HANDLED;
}

public RestorePlayerModel(id){
	if(is_user_alive(id)){
		switch(cs_get_user_team(id)){
			case CS_TEAM_CT:{
				cs_set_user_model(id, "gign");
				g_Successful[id] = false;
			}
			
			case CS_TEAM_T:{
				cs_set_user_model(id, "leet");
				g_Successful[id] = false;
			}
		}
	}
}

public RoundStart(){
	for(new i = 1; i <= g_MaxPlayers; i++){
		if(is_user_alive(i) && g_Successful[i]){
			switch(cs_get_user_team(i)){
				case CS_TEAM_CT:{
					cs_set_user_model(i, "gign");
					g_Successful[i] = false;
				}
				
				case CS_TEAM_T:{
					cs_set_user_model(i, "leet");
					g_Successful[i] = false;
				}
			}
		}
	}
}

  • +
  • -
  • 1


#660538 [ROZWIĄZANE] Usuwanie duplikatów z tablicy

Napisane przez speedkill w 27.08.2014 17:39

Nietestowane:
new g_FirstString[64],
	g_SecondString[64];
		
for(new i = 0; i < ArraySize(g_Array); i++){
	ArrayGetString(g_Array, i, g_FirstString, charsmax(g_FirstString));
		
	for(new g = i + 1; g < ArraySize(g_Array); g++){
		ArrayGetString(g_Array, g, g_SecondString, charsmax(g_SecondString));
		
		if(equal(g_FirstString, g_SecondString)){
			ArrayDeleteItem(g_Array, g);
			g--;
		}
	}
}

  • +
  • -
  • 1


#660013 client_death i client_damage

Napisane przez speedkill w 25.08.2014 09:06

Znalazłem takie coś: https://forums.allie...ead.php?t=74533
  • +
  • -
  • 1


#659747 System żyć [ Deathrun ]

Napisane przez speedkill w 24.08.2014 09:29

opis
Jest to rozbudowany system żyć na Deathrun'a.

Plugin ten posiada:
  • Życia się zapisują, dzięki czemu nie stracimy ich po zmianie mapy
  • Menu w którym można sprzedać, kupić życia
  • Można ustawić automatyczne odradzanie po śmierci
  • Można ustawić maksymalną ilość osób w kolejce aby nas odrodziło
  • Można ustawić, aby menu pokazywało nam się automatycznie po śmierci
  • Można podarować komuś życia
  • Możliwość ustawienia ceny za sprzedaż i kupno życia
  • Możliwość ustawiania ile razy można się odrodzić w ciągu rundy
  • Administrator z flagą ADMIN_CFG może dawać każdemu życia, bez straty własnych
Resztę zobaczycie sami ;)

komendy
new const g_LangCmd[][] = { // Otwiera menu systemu żyć
"say /respawn",
"say_team /respawn"
};

new const g_LivesCmd[][] = { // Pokazuje aktualną ilość żyć
"say /lives",
"say_team /lives"
};

new const g_GiveCmd[][] = { // Otwiera menu w którym można podarować komuś życia
"say /daj",
"say_team /daj"
};
cvary
Deathrun_lives_prefix "DeathRun" // Prefix
Deathrun_lives_players "3" // Ilość żywych graczy aby można było się odrodzić
Deathrun_lives_livecost "12000" // Kupienie jednego życia
Deathrun_lives_salelive "4000" // Sprzedaż jednego życia
Deathrun_lives_maxrespawn "2" // Ilość maksymalnych odrodzeń w ciągu rundy

/* SQL */
Deathrun_lives_hostname "" // Nazwa hosta
Deathrun_lives_username "" // Nazwa użytkownika bazy danych
Deathrun_lives_password "" // Hasło do bazy danych
Deathrun_lives_database "" // Baza danych
inne informacje
Plugin posiada dwa natywy, chyba nie muszę tłumaczyć do czego służą:
set_user_life(id, g_Value) // Index gracza, ilość żyć
get_user_life(id) // Index gracza
konfiguracja
Aby plugin działał poprawnie potrzebujemy przerobioną wersję kolejki na deathrun'a oraz przerobiony silnik deathrun'a. W załączniku będą znajdować się przerobione pluginy.

instalacja
Standradowa.

komendy admina
Jeżeli posiada flagę ADMIN_CFG:
say /daj || say_team /daj i wybiera opcję numer 2.
screenshot
1.jpg 2.jpg 3.jpg 4.jpg

download
Załączony plik  DeathRunLifeSystem.sma   20,94 KB  226 Ilość pobrań
  DeathRunLifeSystem.amxx

Załączony plik  DeathrunManager.sma   20,53 KB  215 Ilość pobrań
  DeathrunManager.amxx

Załączony plik  Kolejka.sma   4,08 KB  209 Ilość pobrań
  Kolejka.amxx
  • +
  • -
  • 7


#651072 [ROZWIĄZANE] Czy gracz posiada mikrofon?

Napisane przez speedkill w 18.07.2014 20:20

https://forums.allie...ad.php?t=189039
  • +
  • -
  • 1


#637809 [ROZWIĄZANE] Problem przy kompilacji (warning 213: tag mismatch)

Napisane przez speedkill w 11.05.2014 10:09

new bool:weapon_id;
->
new weapon_id;

  • +
  • -
  • 1


#623320 Tag mismatch przy dzieleniu

Napisane przez speedkill w 07.03.2014 17:44

ratio = float(staty[0])/float(staty[1])
ratio = float(staty[0]);

  • +
  • -
  • 1


#621857 [ROZWIĄZANE] Switch...case...DEFAULT

Napisane przez speedkill w 02.03.2014 14:16

Zauważ, że gdy wybierzesz opcję pierwszą - kwadrat, wartość zmiennej wyrobpole będzie równa 0, a więc default. ;)

#include <iostream>
#include <conio.h>

using namespace std;

//deklaracja zmiennych
int wybor1, wyrobpole, wyborobw; //zmienne do wyboru co chce uzytkownik robic
int bok1, bok2,bok3; //na pole i obwod prostokata, kwadratu, trojkata
int wysokosc; //do obliczenia pola trojkata

int main(){
	cout<<"Co chcesz wykonac?"<<endl;
	cout<<"1. Obliczyc obwod"<<endl;
	cout<<"2. Obliczyc pole"<<endl;
	cin>>wybor1;
	
	switch(wybor1){
		case 1:{
			cout<<"Na jakiej figurze?"<<endl;
			cout<<"1. Kwadrat"<<endl;
			cout<<"2. Prostokat"<<endl;
			cout<<"3. Trojkat"<<endl;
			cin>>wyborobw;
			break;
		}
		case 2:{
			cout<<"Na jakiej figurze?"<<endl;
			cout<<"1. Kwadrat"<<endl;
			cout<<"2. Prostokat"<<endl;
			cout<<"3. Trojkat"<<endl;
			cin>>wyrobpole;
			break;
		}
		default: {
			cout<<"Sa tylko dwie opcje, 1 albo 2!"<<endl;
			break;
		}
	}
	
	if(wyborobw){
		switch(wyborobw){
			case 1: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Obwod twojego kwadratu to: "<<4*bok1 <<endl;
				break;
			}
			case 2: {
				cout<<"Podaj dluzszy bok: ";
				cin>>bok1;
				cout<<"Podaj krotszy bok: ";
				cin>>bok2;
				cout<<"Obwod twojego prostokatu to: "<<2*bok1+2*bok2 <<endl;
				break;
			}
			case 3: {
				cout<<"Podaj pierwszy bok: ";
				cin>>bok1;
				cout<<"Podaj drugi bok: ";
				cin>>bok2;
				cout<<"Podaj trzeci bok: ";
				cin>>bok3;
				cout<<"Obwod twojego trojkata to: "<<bok1+bok2+bok3 <<endl;
				break;
			}
			default: {
				cout<<"Sa tylko trzy opcje, 1, 2 lub 3! obw"<<endl;
				break;
			}
		}
	}
	
	if(wyrobpole){
		switch(wyrobpole){
			case 1: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Pole twojego kwadratu to: "<<bok1*bok1 <<endl;
				break;
			}
			case 2: {
				cout<<"Podaj dluzszy bok: ";
				cin>>bok1;
				cout<<"Podaj krotszy bok: ";
				cin>>bok2;
				cout<<"Pole twojego prostokatu to: "<<bok1*bok2 <<endl;
				break;
			}
			case 3: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Podaj wysokosc: ";
				cin>>wysokosc;
				cout<<"Pole twojego trojkata to: "<<(bok1+wysokosc)/2 <<endl;
				break;
			}
			default:{
				cout<<"Sa tylko trzy opcje, 1, 2 lub 3! pole"<<endl;
				break;
			}
		}
		return 0;
	}
	
	getch();
}

  • +
  • -
  • 1


#620206 Warn za nic?

Napisane przez speedkill w 26.02.2014 10:25

Taki grzeczny jesteś, że jeszcze mogę dać Ci z 2 warny za przekleństwa w shoutboxie.
  • +
  • -
  • 4


#620129 jak zliczyc dostepnych graczy z dana flaga

Napisane przez speedkill w 25.02.2014 21:58

Nie testowane:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new g_MaxPlayers;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /test", "PlayersWithFlag");
}

public plugin_cfg(){
	g_MaxPlayers = get_maxplayers();
}

public PlayersWithFlag(id){
	client_print(id, 3, "Na serwerze jest %d graczy z flaga ADMIN_LEVEL_H.", FindPlayersWithFlag(ADMIN_LEVEL_H));
}

stock FindPlayersWithFlag(g_UserFlag){
	new g_Players;
	
	for(new i = 1; i <= g_MaxPlayers; i++){
		if(is_user_connected(i) && get_user_flags(i) & g_UserFlag){
			g_Players++;
		}
	}
	return g_Players;
}

  • +
  • -
  • 1


#619302 [ROZWIĄZANE] Część pluginu na spadochron odpowiadająca za pobranie przezroczy...

Napisane przez speedkill w 23.02.2014 09:54

Jesteś bardzo leniwy. ;)

http://xpaw.ru/pev_research.php
http://xpaw.ru/pev_r...p#pev_renderamt
http://xpaw.ru/pev_r...hp#pev_renderfx
http://xpaw.ru/pev_r...#pev_rendermode
  • +
  • -
  • 1


#619037 Poprawienie błedu podczas komplikacji w silniku misje/zadan

Napisane przez speedkill w 22.02.2014 13:10

http://amxx.pl/kompi...&fname=ddsa.sma
  • +
  • -
  • 1


#619021 [ROZWIĄZANE] Zapisywanie defuse/plant do vault

Napisane przez speedkill w 22.02.2014 12:32

http://amxx.pl/dokumentacja/m4/csx
http://amxx.pl/topic...roche-o-nvault/
  • +
  • -
  • 1