public PlayerSpawn(id) { if(!is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0) return PLUGIN_CONTINUE; ExecuteHamB(Ham_CS_RoundRespawn, id); // Po tym "HAMIE" gracz jest żywy, i ta funkcja wywołuje się po śmierci :3 nie na poczatku rundy new data[1] data[0] = id; set_task(0.5, rzeczydostawane,41633, data, 1); Timer[id] = false; return PLUGIN_CONTINUE; } public rzeczydostawane(data[]) { new id = data[0] //Rzeczy dostawane //Ta calosc zamiast calego publicka PlayerSpawn(id) //Daje gotowca tylko dopisac rzeczy }
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.
|
Gram Jajami
Rejestracja: 28.10.2009Aktualnie: Nieaktywny
Poza forum Ostatnio: 17.09.2014 11:59





Statystyki
- Grupa: Użytkownik
- Całość postów: 75
- Odwiedzin: 3 578
- Tytuł: Zaawansowany
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Nie podano
-
Lokalizacja
Polska
Kontakt
Narzędzia użytkownika
Znajomi
Gram Jajami nie posiada znajomych
#655957 [ROZWIĄZANE] Dostawanie czegoś przy odradzaniu
Napisane przez Nltj
w 11.08.2014 01:23
#656047 [ROZWIĄZANE] Dostawanie czegoś przy odradzaniu
Napisane przez Nltj
w 11.08.2014 12:34
zapomniałem zaznaczyć "" nazwe publicka, i moja klawiatura postawiła "niewidoczny" znak który psuł kompilacje
Załączone pliki
-
plug-in (1).sma 5,71 KB 25 Ilość pobrań
plug-in (1).amxx
#655004 Funkcja na odradzanie z ekwipunkiem z przed smierci
Napisane przez Rivit
w 05.08.2014 19:58
Jest plugin na to, ale nie mój:
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #include <engine> #include <cstrike> #define PLUGIN "Przywracanie broni po smierci" #define AUTHOR "kisiel96" #define VERSION "1.0" new weapons[32], weapon_ammo[32], weapon_bpammo[32], weapons_num; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1); RegisterHam(Ham_Spawn, "player", "SpawnGraczaPost", 1); } public SmiercGraczaPost(id, attacker, shouldgib) { if(!is_user_connected(id)) return HAM_IGNORED; get_user_weapons(id, weapons, weapons_num) for(new i = 0; i < weapons_num; i++) { new weapon_name[32]; copy(weapon_name, sizeof(weapon_name), GetWeaponName(weapons[i])); if(equal(weapon_name, "0") || equal(weapon_name, "weapon_knife") || equal(weapon_name, "weapon_c4")) continue; new weapon_id = find_ent_by_owner(-1, weapon_name, id) if(!weapon_id) continue; weapon_ammo[i] = cs_get_weapon_ammo(weapon_id) weapon_bpammo[i] = cs_get_user_bpammo(id, weapons[i]) } return HAM_IGNORED; } public SpawnGraczaPost(id) { if(!is_user_alive(id)) return HAM_IGNORED; for(new i = 0; i < weapons_num; i++) { new weapon_name[32]; copy(weapon_name, sizeof(weapon_name), GetWeaponName(weapons[i])); if(equal(weapon_name, "0") || equal(weapon_name, "weapon_c4")) continue; give_item(id, weapon_name); if(equal(weapon_name, "weapon_knife")) continue; cs_set_user_bpammo(id, weapons[i], weapon_bpammo[i]); new weapon_id = find_ent_by_owner(-1, weapon_name, id); if(!weapon_id) continue; cs_set_weapon_ammo(weapon_id, weapon_ammo[i]); cs_set_user_bpammo(id, weapons[i], weapon_bpammo[i]); } return HAM_IGNORED; } public GetWeaponName(const weapon_id) { new weapon_name[32]; switch(weapon_id) { case 1: formatex(weapon_name, sizeof(weapon_name), "weapon_p228"); case 3: formatex(weapon_name, sizeof(weapon_name), "weapon_scout"); case 4: formatex(weapon_name, sizeof(weapon_name), "weapon_hegrenade"); case 5: formatex(weapon_name, sizeof(weapon_name), "weapon_xm1014"); case 6: formatex(weapon_name, sizeof(weapon_name), "weapon_c4"); case 7: formatex(weapon_name, sizeof(weapon_name), "weapon_mac10"); case 8: formatex(weapon_name, sizeof(weapon_name), "weapon_aug"); case 9: formatex(weapon_name, sizeof(weapon_name), "weapon_smokegrenade"); case 10: formatex(weapon_name, sizeof(weapon_name), "weapon_elite"); case 11: formatex(weapon_name, sizeof(weapon_name), "weapon_fiveseven"); case 12: formatex(weapon_name, sizeof(weapon_name), "weapon_ump45"); case 13: formatex(weapon_name, sizeof(weapon_name), "weapon_sg550"); case 14: formatex(weapon_name, sizeof(weapon_name), "weapon_galil"); case 15: formatex(weapon_name, sizeof(weapon_name), "weapon_famas"); case 16: formatex(weapon_name, sizeof(weapon_name), "weapon_usp"); case 17: formatex(weapon_name, sizeof(weapon_name), "weapon_glock18"); case 18: formatex(weapon_name, sizeof(weapon_name), "weapon_awp"); case 19: formatex(weapon_name, sizeof(weapon_name), "weapon_mp5navy"); case 20: formatex(weapon_name, sizeof(weapon_name), "weapon_m249"); case 21: formatex(weapon_name, sizeof(weapon_name), "weapon_m3"); case 22: formatex(weapon_name, sizeof(weapon_name), "weapon_m4a1"); case 23: formatex(weapon_name, sizeof(weapon_name), "weapon_tmp"); case 24: formatex(weapon_name, sizeof(weapon_name), "weapon_g3sg1"); case 25: formatex(weapon_name, sizeof(weapon_name), "weapon_flashbang"); case 26: formatex(weapon_name, sizeof(weapon_name), "weapon_deagle"); case 27: formatex(weapon_name, sizeof(weapon_name), "weapon_sg552"); case 28: formatex(weapon_name, sizeof(weapon_name), "weapon_ak47"); case 29: formatex(weapon_name, sizeof(weapon_name), "weapon_knife"); case 30: formatex(weapon_name, sizeof(weapon_name), "weapon_p90"); default: formatex(weapon_name, sizeof(weapon_name), "0"); } return weapon_name; }
#654495 [ROZWIĄZANE] Vote po 20s od rozpoczęcia rundy
Napisane przez xenos
w 03.08.2014 15:35
#include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "DarkGL" new ile = 0; new wybralo_tak = 0; new wybralo_nie = 0; new odliczanie_zmien = 15; new menu[33]; new wybral[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("Poczatek_Rundy", 2, "1=Round_Start") } public Poczatek_Rundy() { ile++; if(ile != 2){ return PLUGIN_CONTINUE; } if(task_exists(5000)) remove_task(5000); set_task(20.0,"startvote",5000,_,_,"b") return PLUGIN_CONTINUE; } public startvote() { for(new i = 1;i<33;i++){ if(!is_user_connected(i) || (get_user_team(i) != 2 && get_user_team(i) != 1 )){ continue; } menu[i] = menu_create("Hs only on/off","menu_handle") menu_additem(menu[i],"Only Hs ON") menu_additem(menu[i],"Only Hs OFF") menu_setprop(menu[i],MPROP_PERPAGE,0) menu_setprop(menu[i],MPROP_EXIT,MEXIT_NEVER) menu_display(i,menu[i]) } set_task(1.0,"odliczanie",666,_,_,"b") } public odliczanie(){ odliczanie_zmien--; if(odliczanie_zmien<= 0 ){ remove_task(666); if(wybralo_tak > wybralo_nie){ set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 2.0) show_hudmessage(0, "Only HS zostal wlaczony !") set_cvar_num("amx_hs_mode",1) server_cmd("amx_hs_mode 1"); client_print(0, print_chat, "[AMXX] Only HS zostal wlaczony, zadecydowaly o tym glosy %d osob.", wybralo_tak) } else if(wybralo_tak < wybralo_nie){ set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 2.0) show_hudmessage(0, "Only HS zostal wylaczony !") set_cvar_num("amx_hs_mode",0) server_cmd("amx_hs_mode 0"); client_print(0, print_chat, "[AMXX] Only HS zostal wylaczony, zadecydowaly o tym glosy %d osob.", wybralo_tak) } else { set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 2.0) show_hudmessage(0, "Taka sama liczba glosow powtarzamy glosowanie!") ile = 1; odliczanie_zmien = 15; wybralo_tak = 0; wybralo_nie = 0; for(new i = 1;i<33;i++){ wybral[i] = 0; } } } else { set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 2.0) show_hudmessage(0, "Zostalo %d s na zaglosowanie !",odliczanie_zmien) for(new i = 1;i<33;i++){ if(!is_user_connected(i) || (get_user_team(i) != 2 && get_user_team(i) != 1 )){ continue; } new menu_id, keys; new menuUp = player_menu_info( i, menu_id, keys ); if(wybral[i] == 0 && (menuUp <= 0 || menu_id < 0)){ menu[i] = menu_create("Hs only on/off","menu_handle") menu_additem(menu[i],"Only Hs ON") menu_additem(menu[i],"Only Hs OFF") menu_setprop(menu[i],MPROP_PERPAGE,0) menu_setprop(menu[i],MPROP_EXIT,MEXIT_NEVER) menu_display(i,menu[i]) } } } } public menu_handle(id,menu,item){ if(odliczanie_zmien <= 0 ){ menu_destroy(menu); return PLUGIN_CONTINUE; } wybral[id] = 1; switch(item){ case 0: { wybralo_tak++; } case 1: { wybralo_nie++; } } menu_destroy(menu); return PLUGIN_CONTINUE; }
#302278 [ROZWIĄZANE] Nie udana przeróbka pluginu
Napisane przez DarkGL
w 02.10.2011 09:58
#pragma semicolon 0 #include <amxmodx> #include <amxmisc> #include <csx> #include <ColorChat> #define PLUGIN "Rangi" #define VERSION "1.0" #define AUTHOR "R3X"// User stats parms id #define STATS_KILLS 0 #define STATS_DEATHS 1 #define STATS_HS 2 #define STATS_TKS 3 #define STATS_SHOTS 4 #define STATS_HITS 5 #define STATS_DAMAGE 6 //Max count of levels #define LEVELS 20 //Max len of ClassName #define CLASS_LEN 25 #define MAX_NAME_LENGTH 31 #define MAX_BUFFER_LENGTH 2047 #define TASK_SHOWCLASS 2222 //Buffers new t_sName[MAX_NAME_LENGTH + 1] = "" new g_sBuffer[MAX_BUFFER_LENGTH + 1] = "" new giXP[LEVELS+1]; new gszClass[LEVELS+1][CLASS_LEN]; new giPointer=1; new gcvarMaxName; new gcvarType, gcvarTop, gcvarList; new gmsgSayText; new bool:bHud[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("statsx.txt"); register_clcmd("say /top10", "cmdTop10", 0, "- wyswietla range i statystyki"); register_clcmd("say /rank", "cmdRank", 0, "- wyswietla range i statystyki"); register_clcmd("say /rangi", "cmdHelp", 0, "- wyswietla liste rang"); register_clcmd("say /hudon", "hud"); register_clcmd("say /hudoff", "hud"); register_clcmd("say_team /top10", "cmdTop10", 0, "- wyswietla range i statystyki"); register_clcmd("say_team /rank", "cmdRank", 0, "- wyswietla range i statystyki"); register_clcmd("say_team /rangi", "cmdHelp", 0, "- wyswietla liste rang"); register_clcmd("say_team /hud", "hud"); gcvarMaxName = register_cvar("rangi_maxname", "Reszta jest milczeniem"); gcvarType = register_cvar("rangi_hud","0"); gcvarTop = register_cvar("rangi_top10","1"); gcvarList = register_cvar("rangi_list","1"); gmsgSayText = get_user_msgid("SayText"); set_task(120.0,"vAdvert",.flags = "b"); } @vAdvert(){ client_print(0,print_chat,"Jeśli chcesz wlaczyc/wylaczyc wyswietlanie rangi napisz /hud") } public hud(id){ bHud[id] = !bHud[id] ColorChat (id, GREEN, "[Ranga] ^x01Wyswietlanie rangi w hudzie zostalo ^x04%s",bHud[id] ? "wlaczone":"wylaczone") } //CONFIG public plugin_cfg(){ new szFile[128]; get_configsdir(szFile, 127); add(szFile, 127, "/rangi.ini"); if(!file_exists(szFile)) return set_fail_state("Nie znalaziono pliku ranga.ini w folderze configs/"); new szLine[96], iLen=0, szClass[CLASS_LEN], szXP[16]; for(new i=0;read_file(szFile, i, szLine, 95, iLen);i++,szClass[0]=szXP[0]='^0'){ if( giPointer > LEVELS) break; if(iLen==0) continue; trim(szLine); if(szLine[0]=='^0' || szLine[0]==';') continue; parse(szLine, szClass, CLASS_LEN-1, szXP, 15); if(szClass[0] && szXP[0]){ giXP[giPointer]=str_to_num(szXP); copy(gszClass[giPointer], CLASS_LEN-1, szClass) giPointer++; } } return PLUGIN_CONTINUE; } //COMMANDS public cmdTop10(id){ if(get_pcvar_num(gcvarTop) <= 0){ print_colored(id, "* ^x04Top10^x01 jest wylaczone"); return PLUGIN_HANDLED; } format_top10(g_sBuffer) show_motd(id, g_sBuffer, "Top 10") return PLUGIN_CONTINUE; } public cmdRank(id) { static stats[8], body[8], rankpos, rankmax; get_user_stats(id, stats, body); rankpos = get_user_stats(id, stats, body); rankmax = get_statsnum(); print_colored(id, "* Twoja ranga to^x04 %s^x01, zajmujesz^x03 %d^x01 pozycje z^x03 %d", get_rankname(stats[0]), rankpos, rankmax); print_colored(id, "* Posiadasz^x03 %d^x01 zabojstw,^x03 %d^x01 smierci oraz^x03 %d^x01 headshot'ow, zadajac^x03 %d^x01 obrazen.", stats[STATS_KILLS ], stats[STATS_DEATHS], stats[STATS_HS], stats[STATS_DAMAGE]); return PLUGIN_HANDLED; } public cmdHelp(id){ if(get_pcvar_num(gcvarList) <= 0){ print_colored(id, "* ^x04Lista rang^x01 jest niedostepna"); return PLUGIN_HANDLED; } static sBuffer[MAX_BUFFER_LENGTH+1]; new iLen; iLen = formatex(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>") iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "#id Nazwa Prog^n"); if(giPointer > 1) iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d %-22.22s < %d^n", 1, gszClass[1], giXP[1]); for(new i=2;i<giPointer;i++){ iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d %-22.22s %d-%d^n", i, gszClass[i], giXP[i-1]+1,giXP[i]); } new szMaxName[CLASS_LEN]; get_pcvar_string(gcvarMaxName, szMaxName, CLASS_LEN-1); iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "* %s > %d", szMaxName, giXP[giPointer-1]); show_motd(id, sBuffer, "Rangi"); return PLUGIN_HANDLED; }//FORWARDS public client_connect(id) { if(is_user_bot(id) || get_pcvar_num(gcvarType)==0) return; set_task(1.0,"taskDisplayRank",TASK_SHOWCLASS+id,_,_,"b"); bHud[id] = true; } public client_disconnect(id) if(task_exists(TASK_SHOWCLASS+id)) remove_task(TASK_SHOWCLASS+id) //TASKS public taskDisplayRank(id){ id-=TASK_SHOWCLASS; static stats[8], body[8]; get_user_stats(id, stats, body); if(bHud[id]){ set_hudmessage(255, 255, 255, 0.15, 0.55); show_hudmessage(id, "Ranga: %s^nZabojstw: %d",get_rankname(stats[STATS_KILLS ]), stats[STATS_KILLS ]); } } get_lvl_by_exp(iXP){ new i; for(i=1;i<=giPointer;i++){ if(giXP[i]>=iXP) break; } if(i > giPointer) return -1; return i; } get_rankname(frags){ static szClass[CLASS_LEN]; new iLvl=get_lvl_by_exp(frags); if(iLvl>=0) copy(szClass,CLASS_LEN-1, gszClass[iLvl]); else get_pcvar_string(gcvarMaxName, szClass, CLASS_LEN-1); return szClass; }//RANK // Stats formulas Float:effec(izStats[8]) { if (!izStats[STATS_KILLS]) return (0.0) return (100.0 * float(izStats[STATS_KILLS]) / float(izStats[STATS_KILLS] + izStats[STATS_DEATHS])) } Float:accuracy(izStats[8]) { if (!izStats[STATS_SHOTS]) return (0.0) return (100.0 * float(izStats[STATS_HITS]) / float(izStats[STATS_SHOTS])) }// Get and format top 10 format_top10(sBuffer[MAX_BUFFER_LENGTH + 1]) { new iMax = get_statsnum() new izStats[8], izBody[8] new iLen = 0 if (iMax > 10) iMax = 10;new lKills[16], lDeaths[16], lHits[16], lShots[16], lEff[16], lAcc[16] format(lKills, 15, "%L", LANG_SERVER, "KILLS") format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS") format(lHits, 15, "%L", LANG_SERVER, "HITS") format(lShots, 15, "%L", LANG_SERVER, "SHOTS") format(lEff, 15, "%L", LANG_SERVER, "EFF") format(lAcc, 15, "%L", LANG_SERVER, "ACC") ucfirst(lEff) ucfirst(lAcc) iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>") iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", "Level", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc) for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++) { get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH) replace_all(t_sName, MAX_NAME_LENGTH, "<", "[") replace_all(t_sName, MAX_NAME_LENGTH, ">", "]") iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName,get_rankname(izStats[STATS_KILLS]), izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats)) } } //STOCKS stock print_colored(id, const text[], any:...) { static szMessage[192]; szMessage[0]='^x01'; vformat(szMessage[1], 190, text, 3); if(id==0) { new plist[32], playernum; get_players(plist, playernum); for(new i = 0; i < playernum; i++) { id = plist[i]; message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id); write_byte(id); write_string(szMessage); message_end(); } } else { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id); write_byte(id); write_string(szMessage); message_end(); } }
#301780 [ROZWIĄZANE] Nie udana przeróbka pluginu
Napisane przez DarkGL
w 30.09.2011 14:53
#pragma semicolon 0 #include <amxmodx> #include <amxmisc> #include <csx> #include <ColorChat> #define PLUGIN "Rangi" #define VERSION "1.0" #define AUTHOR "R3X"// User stats parms id #define STATS_KILLS 0 #define STATS_DEATHS 1 #define STATS_HS 2 #define STATS_TKS 3 #define STATS_SHOTS 4 #define STATS_HITS 5 #define STATS_DAMAGE 6 //Max count of levels #define LEVELS 20 //Max len of ClassName #define CLASS_LEN 25 #define MAX_NAME_LENGTH 31 #define MAX_BUFFER_LENGTH 2047 #define TASK_SHOWCLASS 2222 //Buffers new t_sName[MAX_NAME_LENGTH + 1] = "" new g_sBuffer[MAX_BUFFER_LENGTH + 1] = "" new giXP[LEVELS+1]; new gszClass[LEVELS+1][CLASS_LEN]; new giPointer=1; new gcvarMaxName; new gcvarType, gcvarTop, gcvarList; new gmsgSayText; new bool:bHud[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_dictionary("statsx.txt"); register_clcmd("say /top10", "cmdTop10", 0, "- wyswietla range i statystyki"); register_clcmd("say /rank", "cmdRank", 0, "- wyswietla range i statystyki"); register_clcmd("say /rangi", "cmdHelp", 0, "- wyswietla liste rang"); register_clcmd("say /hudon", "hud"); register_clcmd("say /hudoff", "hud"); register_clcmd("say_team /top10", "cmdTop10", 0, "- wyswietla range i statystyki"); register_clcmd("say_team /rank", "cmdRank", 0, "- wyswietla range i statystyki"); register_clcmd("say_team /rangi", "cmdHelp", 0, "- wyswietla liste rang"); register_clcmd("say_team /hudon", "hud"); register_clcmd("say_team /hudoff", "hud"); gcvarMaxName = register_cvar("rangi_maxname", "Reszta jest milczeniem"); gcvarType = register_cvar("rangi_hud","0"); gcvarTop = register_cvar("rangi_top10","1"); gcvarList = register_cvar("rangi_list","1"); gmsgSayText = get_user_msgid("SayText"); } public hud(id){ bHud[id] = !bHud[id] ColorChat (id, GREEN, "[Ranga] ^x01Wyswietlanie rangi w hudzie zostalo ^x04%s",bHud[id] ? "wlaczone":"wylaczone") } //CONFIG public plugin_cfg(){ new szFile[128]; get_configsdir(szFile, 127); add(szFile, 127, "/rangi.ini"); if(!file_exists(szFile)) return set_fail_state("Nie znalaziono pliku ranga.ini w folderze configs/"); new szLine[96], iLen=0, szClass[CLASS_LEN], szXP[16]; for(new i=0;read_file(szFile, i, szLine, 95, iLen);i++,szClass[0]=szXP[0]='^0'){ if( giPointer > LEVELS) break; if(iLen==0) continue; trim(szLine); if(szLine[0]=='^0' || szLine[0]==';') continue; parse(szLine, szClass, CLASS_LEN-1, szXP, 15); if(szClass[0] && szXP[0]){ giXP[giPointer]=str_to_num(szXP); copy(gszClass[giPointer], CLASS_LEN-1, szClass) giPointer++; } } return PLUGIN_CONTINUE; } //COMMANDS public cmdTop10(id){ if(get_pcvar_num(gcvarTop) <= 0){ print_colored(id, "* ^x04Top10^x01 jest wylaczone"); return PLUGIN_HANDLED; } format_top10(g_sBuffer) show_motd(id, g_sBuffer, "Top 10") return PLUGIN_CONTINUE; } public cmdRank(id) { static stats[8], body[8], rankpos, rankmax; get_user_stats(id, stats, body); rankpos = get_user_stats(id, stats, body); rankmax = get_statsnum(); print_colored(id, "* Twoja ranga to^x04 %s^x01, zajmujesz^x03 %d^x01 pozycje z^x03 %d", get_rankname(stats[0]), rankpos, rankmax); print_colored(id, "* Posiadasz^x03 %d^x01 zabojstw,^x03 %d^x01 smierci oraz^x03 %d^x01 headshot'ow, zadajac^x03 %d^x01 obrazen.", stats[STATS_KILLS ], stats[STATS_DEATHS], stats[STATS_HS], stats[STATS_DAMAGE]); return PLUGIN_HANDLED; } public cmdHelp(id){ if(get_pcvar_num(gcvarList) <= 0){ print_colored(id, "* ^x04Lista rang^x01 jest niedostepna"); return PLUGIN_HANDLED; } static sBuffer[MAX_BUFFER_LENGTH+1]; new iLen; iLen = formatex(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>") iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "#id Nazwa Prog^n"); if(giPointer > 1) iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d %-22.22s < %d^n", 1, gszClass[1], giXP[1]); for(new i=2;i<giPointer;i++){ iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d %-22.22s %d-%d^n", i, gszClass[i], giXP[i-1]+1,giXP[i]); } new szMaxName[CLASS_LEN]; get_pcvar_string(gcvarMaxName, szMaxName, CLASS_LEN-1); iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "* %s > %d", szMaxName, giXP[giPointer-1]); show_motd(id, sBuffer, "Rangi"); return PLUGIN_HANDLED; }//FORWARDS public client_connect(id) { if(is_user_bot(id) || get_pcvar_num(gcvarType)==0) return; set_task(1.0,"taskDisplayRank",TASK_SHOWCLASS+id,_,_,"b"); bHud[id] = true; } public client_disconnect(id) if(task_exists(TASK_SHOWCLASS+id)) remove_task(TASK_SHOWCLASS+id) //TASKS public taskDisplayRank(id){ id-=TASK_SHOWCLASS; static stats[8], body[8]; get_user_stats(id, stats, body); if(bHud[id]){ set_hudmessage(255, 255, 255, 0.15, 0.55); show_hudmessage(id, "Ranga: %s^nZabojstw: %d",get_rankname(stats[STATS_KILLS ]), stats[STATS_KILLS ]); } } get_lvl_by_exp(iXP){ new i; for(i=1;i<=giPointer;i++){ if(giXP[i]>=iXP) break; } if(i > giPointer) return -1; return i; } get_rankname(frags){ static szClass[CLASS_LEN]; new iLvl=get_lvl_by_exp(frags); if(iLvl>=0) copy(szClass,CLASS_LEN-1, gszClass[iLvl]); else get_pcvar_string(gcvarMaxName, szClass, CLASS_LEN-1); return szClass; }//RANK // Stats formulas Float:effec(izStats[8]) { if (!izStats[STATS_KILLS]) return (0.0) return (100.0 * float(izStats[STATS_KILLS]) / float(izStats[STATS_KILLS] + izStats[STATS_DEATHS])) } Float:accuracy(izStats[8]) { if (!izStats[STATS_SHOTS]) return (0.0) return (100.0 * float(izStats[STATS_HITS]) / float(izStats[STATS_SHOTS])) }// Get and format top 10 format_top10(sBuffer[MAX_BUFFER_LENGTH + 1]) { new iMax = get_statsnum() new izStats[8], izBody[8] new iLen = 0 if (iMax > 10) iMax = 10;new lKills[16], lDeaths[16], lHits[16], lShots[16], lEff[16], lAcc[16] format(lKills, 15, "%L", LANG_SERVER, "KILLS") format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS") format(lHits, 15, "%L", LANG_SERVER, "HITS") format(lShots, 15, "%L", LANG_SERVER, "SHOTS") format(lEff, 15, "%L", LANG_SERVER, "EFF") format(lAcc, 15, "%L", LANG_SERVER, "ACC") ucfirst(lEff) ucfirst(lAcc) iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>") iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", "Level", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc) for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++) { get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH) replace_all(t_sName, MAX_NAME_LENGTH, "<", "[") replace_all(t_sName, MAX_NAME_LENGTH, ">", "]") iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName,get_rankname(izStats[STATS_KILLS]), izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats)) } } //STOCKS stock print_colored(id, const text[], any:...) { static szMessage[192]; szMessage[0]='^x01'; vformat(szMessage[1], 190, text, 3); if(id==0) { new plist[32], playernum; get_players(plist, playernum); for(new i = 0; i < playernum; i++) { id = plist[i]; message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id); write_byte(id); write_string(szMessage); message_end(); } } else { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id); write_byte(id); write_string(szMessage); message_end(); } }
#268013 Częste crashe serwera
Napisane przez Hiroshima
w 08.07.2011 22:42
#268023 Częste crashe serwera
Napisane przez Hiroshima
w 08.07.2011 23:05
#268142 Częste crashe serwera
Napisane przez Hiroshima
w 09.07.2011 15:15
@hiroshima wiem ze jest darmwoy ale MA BŁĘDY!
chce dac mój nad którym siedziałem blisko tydzień i go zrobiłem że działą jak należy
myślisz że udostępie taki plugin za darmo
Ps wiem że źle pisze ale mam bardzo rozwinieta dysgrafie/ortografie
więc daruj;)
dobrze, twoje dysgrafia mnie nie obchodzi poniewaz nie piszesz na kartce a w przegladarce internetowej ktora podkresla kazdy błąd. Jesli widzisz bledy w .sma to dziwne ze nie widzisz ich jak piszesz posta.
Nikogo to nie interesuje, ze poprawiles "bledy" w pluginie, jesli natomiast to zrobiles i chcesz to sprzedawac zamiast opublikowac to juz łamiesz zasady (to tak samo jakbys "naprawil" windowsa i sprzedawal go dalej); jesli tego nie rozumiesz to mi przykro, ja po prostu będę raportowal kazdy twoj post na tym forum z takimi probami.
Podsumowujac: jesli nie chcesz tego udostepniac to sie nie chwal i nie draznij innych, dziwne ze u mnie amxbans dziala bez zadnych problemow, wiec nie wiem jakie bledy znalazles.
Jesli chcesz sprzedawac pluginy to napisz wlasny, gdzie w #define AUTHOR bedzie Twoj nick. (a do tego daleka droga sadzac po twoim poziomie)
#183504 Prośba o napisanie mocy
Napisane przez KariiO
w 26.10.2010 17:07
Odporność na naświetlenie:Witam
Proszę o napisanie mocy do klas na:- odporność na naświetlenie
- 5 piorunów na rundę
- gdy kogoś trafi to się pali przez 3s i zadaje przez ten czas 10dmg co sekundę
- 1/3 szansy na odrodzenie- na początku rundy m4 + deagl + flesh + smog + HE
- można chodzić tylko z pistoletem
Z góry dziękuje
Pozdrawiam
Bd. działać? - Nieoficjalny polski support AMX Mod X
Bronie na początku rundy:
if(player_class[i] == TwojaKlasa) fm_give_item(id, "weapon_hegrenade")W tym przypadku TwojaKlasa dostanie tylko 1 HE żeby dodać inne bronei skorzystaj z:
CS Weapon Information[UPDATED] - AlliedModders
Dodając tylko jeszcze raz:
fm_give_item(id, "weapon_XYZ")Osobiście tego nie próbowałem ;D
Tylko pistolet(pokombinuj coś z tym):
public CurWeapon(id) { after_bullet[id]=1 new clip,ammo new weapon=get_user_weapon(id,clip,ammo) invisible_cast[id]=0 if(weapon == CSW_KNIFE) on_knife[id]=1 else on_knife[id]=0 if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == TwojaKlasa)) { client_cmd(id,"weapon_knife") engclient_cmd(id,"weapon_knife") on_knife[id]=1 }if(weapon == CSW_KNIFE) <- Tylko nóż.
#183903 Ograniczenie broni - tylko pistolety i nóż
Napisane przez ZiuTeK
w 28.10.2010 18:48
if ((player_class[id] == Moja_klasa)&& (weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_XM1014 || weapon == CSW_MAC10 || weapon == CSW_MP5NAVY || weapon == CSW_M4A1 || weapon == CSW_AK47 || weapon == CSW_G3SG1 || weapon == CSW_P90 || weapon == CSW_M3 || weapon == CSW_M249)) { client_cmd(id,"weapon_knife") engclient_cmd(id,"weapon_knife") on_knife[id]=1 }
Nie wiem czy to smignie i czy wymienilem juz wszystkie bronie dlugolufowe bo nie znam dobrze ich nazw, wszystko mam na skryptach zrobione i juz od wielu lat nie zagladalem do menu kupowania. Jakby jakas bron nie byla uwzgledniona to chyba temat nizej ktos podal linka z wszystkimi nazwami broni
#183915 Ograniczenie broni - tylko pistolety i nóż
Napisane przez sebul
w 28.10.2010 19:25
#183109 Dodanie klasie szansy na odrodzenie
Napisane przez sebul
w 24.10.2010 23:10
new player_dmg[33]
dodaj pod
new odrodzenie[33] // odradzanie się klasy
znajdź funkcję
public RoundStart()
a w niej
for(new i=0; i<33; i++) {
dodaj pod
if(player_class[i] == Twoja_Klasa)
odrodzenie[i] = 3 // klasa będzie miała 1/3 szansy na odrodzenie
else
odrodzenie[i] = 0
znajdź
public add_respawn_bonus(id)
{
if(player_b_respawn[id] > 0)
{
new svIndex[32]
num_to_str(id,svIndex,32)
new roll = random_num(1,player_b_respawn[id])
if(roll == 1)
{
new maxpl,players[32]
get_players(players, maxpl)
if(maxpl > 2)
{
cs_set_user_money(id,cs_get_user_money(id)+4000)
set_task(0.5,"respawn",0,svIndex,32)
}
else
{
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Wiecej niz 2 graczy jest wymagane do ponownego odrodzenia sie")
}
}
}
}
zamień na
public add_respawn_bonus(id)
{
if(player_b_respawn[id] > 0 || odrodzenie[id] > 0)
{
new svIndex[32]
num_to_str(id,svIndex,32)
new roll, rolled
if(player_b_respawn[id] > 0) roll = random_num(1,player_b_respawn[id])
if(odrodzenie[id] > 0) rolled = random_num(1,odrodzenie[id])
if(roll == 1 || rolled == 1)
{
new maxpl,players[32]
get_players(players, maxpl)
if(maxpl > 2)
{
cs_set_user_money(id,cs_get_user_money(id)+4000)
set_task(0.5,"respawn",0,svIndex,32)
}
else
{
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Wiecej niz 2 graczy jest wymagane do ponownego odrodzenia sie")
}
}
}
}
Przy takim rozwiązaniu gdy klasa będzie miała moc odradzania (tą co podałem) i item, który daje szansę na odrodzenie, to po prostu "odbędą się" dwa losowania na odrodzenie, czyli reasumując klasa będzie miała jeszcze większe szanse na odrodzenie.
w menu wyboru klas znajdź
g_haskit[id] = 0
dodaj pod
odrodzenie[id] = 0
przy wybranej klasie dodaj
odrodzenie[id] = 3 // klasa będzie miała 1/3 szansy na odrodzenie
// lub
odrodzenie[id] = 4 // klasa będzie miała 1/4 szansy na odrodzenie
przykład
case X:
{
player_class[id] = Jakas_Klasa
}
case X:
{
player_class[id] = Twoja_Klasa
odrodzenie[id] = 3
}
case X:
#183150 Prośba o napisanie mocy
Napisane przez sebul
w 25.10.2010 14:19
[Tutorial] Dodanie klasie szansy na odrodzenie - Nieoficjalny polski support AMX Mod X- 1/3 szansy na odrodzenie
A jeśli chodzi Ci o item, to już jest w standardzie taki.
#162252 Pytania związane z robieniem nowych klas i itemów
Napisane przez
Pro DiabloMod
w 21.08.2010 07:57
wyciągnij z tego kod i dodaj tak jak przy tym poradniku:
http://amxx.pl/tutor...asy-t23969.html
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Gram Jajami
- Regulamin