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.
|
Guest Message by DevFuse
speedkill
Rejestracja: 26.12.2010Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.11.2017 20:28
O mnie
Statystyki
- Grupa: Przyjaciel
- Całość postów: 2 733
- Odwiedzin: 46 842
- Tytuł: Godlike
- Wiek: 27 lat
- Urodziny: Maj 18, 1996
-
Imię
Michał
-
Płeć
Mężczyzna
-
Lokalizacja
Prudnik
#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/
#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; }
#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:
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; } } } } }
#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--; } } }
#660013 client_death i client_damage
Napisane przez speedkill w 25.08.2014 09:06
#659747 System żyć [ Deathrun ]
Napisane przez speedkill w 24.08.2014 09:29
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
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" };
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
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
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.
Standradowa.
Jeżeli posiada flagę ADMIN_CFG:
say /daj || say_team /daj i wybiera opcję numer 2.
DeathRunLifeSystem.sma 20,94 KB 226 Ilość pobrań
DeathRunLifeSystem.amxx
DeathrunManager.sma 20,53 KB 215 Ilość pobrań
DeathrunManager.amxx
Kolejka.sma 4,08 KB 209 Ilość pobrań
Kolejka.amxx
#651072 [ROZWIĄZANE] Czy gracz posiada mikrofon?
Napisane przez speedkill w 18.07.2014 20:20
#637809 [ROZWIĄZANE] Problem przy kompilacji (warning 213: tag mismatch)
Napisane przez speedkill w 11.05.2014 10:09
#623320 Tag mismatch przy dzieleniu
Napisane przez speedkill w 07.03.2014 17:44
#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(); }
#620206 Warn za nic?
Napisane przez speedkill w 26.02.2014 10:25
#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; }
#619302 [ROZWIĄZANE] Część pluginu na spadochron odpowiadająca za pobranie przezroczy...
Napisane przez speedkill w 23.02.2014 09:54
#619037 Poprawienie błedu podczas komplikacji w silniku misje/zadan
Napisane przez speedkill w 22.02.2014 13:10
#619021 [ROZWIĄZANE] Zapisywanie defuse/plant do vault
Napisane przez speedkill w 22.02.2014 12:32
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: speedkill
- Regulamin