new tytul[25]; format(tytul, 24, "Sklep by \rKmf!p^nHajsik: %i", cs_get_user_money(id)); // Tutaj masz wpisac, ale zrobie to za ciebie new menu = menu_create(tytul, "Sklep_Menu");
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.
|
ka.linux
Rejestracja: 23.06.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 13.03.2016 22:10





Statystyki
- Grupa: Użytkownik
- Całość postów: 78
- Odwiedzin: 4 643
- Tytuł: Zaawansowany
- Wiek: 25 lat
- Urodziny: Grudzień 1, 1997
-
Imię
Marek
-
Płeć
Mężczyzna
-
Lokalizacja
Konin
-
Zainteresowania
PAWN, Kobiety <3
#719023 Menu blokowanie/odblokowywanie opcji
Napisane przez ka.linux
on 25.01.2016 17:49
#693714 Menu broni po xxxx XP
Napisane przez ka.linux
on 21.03.2015 16:08
Dodajesz np tak (w evencie odrodzenia gracza)
if(exp_gracza[id]<5) // exp_gracza czyli zamiast tego dodajesz zmienna z GunXPMod, a 5 to liczba ile exp'a musi mieć { MenuBroni(id) // podajesz public z menu tych broni }
cała filozofia; ]
a jeśli masz
// Wyższy level to automatycznie nowa broń : 1 = Tak, 0 = Nie, bronie samemu wybieramy w menu.
i czekaj do nastepnej rundy, sprawdz czy dziala jeśli nie to potrzeba poprawki.
#693713 [ROZWIĄZANE] Problem z komplikacją silnika Cod Mod
Napisane przez ka.linux
on 21.03.2015 16:04
public PokazInformacje(id) { id -= ZADANIE_POKAZ_INFORMACJE; if(!is_user_connected(id)) { remove_task(id+ZADANIE_POKAZ_INFORMACJE); return PLUGIN_CONTINUE; } if(!is_user_alive(id)) { new target = pev(id, pev_iuser2); if(!target) return PLUGIN_CONTINUE; new ileMa = doswiadczenie_gracza[target],ilePotrzeba = PobierzDoswiadczeniePoziomu(poziom_gracza[target]),ilePotrzebaBylo = poziom_gracza[target]-1 >= 0 ? PobierzDoswiadczeniePoziomu(poziom_gracza[target]-1) : 0; new Float:fProcent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, SyncHudObj, "[Forum] :MultiVice.pl^nKlasa : %s^nDoswiadczenie : %0.1f%%^nPoziom : %i | 201^nPerk : %s", nazwy_klas[klasa_gracza[target]], fProcent, poziom_gracza[target], nazwy_perkow[perk_gracza[target]]); return PLUGIN_CONTINUE; } new ileMa = doswiadczenie_gracza[id],ilePotrzeba = PobierzDoswiadczeniePoziomu(poziom_gracza[id]),ilePotrzebaBylo = poziom_gracza[id]-1 >= 0 ? PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1) : 0 new Float:fProcent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Forum] :MultiVice.pl^n[Klasa : %s]^n[Doswiadczenie : %0.1f%%]^n[Poziom : %i | 201]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], fProcent, poziom_gracza[id], nazwy_perkow[perk_gracza[id]]); return PLUGIN_CONTINUE; }
#693198 [ROZWIĄZANE] Poszukuje FREELVL
Napisane przez ka.linux
on 17.03.2015 14:52
Proszę gracz może tylko raz użyć i tylko na jednej klasie.
#include <amxmodx> #include <codmod> #include <hamsandwich> #include <nvault> #pragma semicolon 1 #define MAX 32 new name[ MAX + 1 ][ MAX ], plik_vault, vaultkey[ 64 ], vaultdata[ 256 ]; new bool:wziol_exp[ MAX + 1 ]; public plugin_init( ) { register_plugin( "Darmowy EXP", "1.0", "ka.linux" ); plik_vault = nvault_open( "maexp" ); register_clcmd("say /free","DajEXP"); } public plugin_end( ) nvault_close( plik_vault ); public client_putinserver( id ) { wziol_exp[ id ] = false; name[ id ] = ""; if( is_user_connected( id ) ){ get_user_name( id , name[ id ], 31 ); wczytaj_exp( id ); } } public DajEXP(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; if(!wziol_exp[ id ]) { cod_set_user_xp(id, cod_get_user_xp(id)+1000); client_print(id,3,"Dostales 1000 XP!"); wziol_exp[ id ] = true; } else client_print(id,3,"Wykorzystales darmowy EXP lub juz go nie potrzebujesz"); return PLUGIN_CONTINUE; } public client_disconnect( id ) { zapisz_exp( id ); wziol_exp[ id ] = false; name[ id ] = ""; } public wczytaj_exp( id ) { format( vaultkey, sizeof vaultkey - 1, "%s-m-", name[ id ] ); format( vaultdata, sizeof vaultdata - 1,"%d",wziol_exp[ id ] ); nvault_get( plik_vault, vaultkey, vaultdata, sizeof vaultdata - 1 ); new wartosc[ 6 ]; parse( vaultdata,wartosc, 5 ); if( str_to_num( wartosc ) ) wziol_exp[ id ] = true; } public zapisz_exp( id ){ if( wziol_exp[ id ] ){ format( vaultkey, sizeof vaultkey - 1, "%s-m-", name[ id ] ) ; format( vaultdata, sizeof vaultdata - 1, "1" ); nvault_set( plik_vault, vaultkey, vaultdata ); } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
#647483 Najwięcej fragów w pluginie rangi
Napisane przez ka.linux
on 04.07.2014 11:18
Nie testowałem, ale sprawdź nie obiecuję że będzie działać
#include <amxmodx> #include <amxmisc> #include <csx> #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 statsm; 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_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"); 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(2.0, "najlepszy"); } //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"); } 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); set_hudmessage(255, 255, 255, 0.15, 0.55); show_hudmessage(id, "Ranga: %s^nZabojstw: %d",get_rankname(stats[STATS_KILLS ]), stats[STATS_KILLS ]); } //CLASS 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(); } } public najlepszy() { new Stats[8], Body [8], Name[31]; get_stats(statsm, Stats, Body, Name, 31); statsm++; print_colored(0, "* [Twoja-Siec] Najwiecej fragow %d posiada %s z ranga %s", Stats[0], Name, get_rankname(Stats[0])); return PLUGIN_CONTINUE }
#647351 Procentowy stan życia
Napisane przez ka.linux
on 03.07.2014 18:41
#647348 Errory Silnika (blad zapisu kodu ColorChatu)
Napisane przez ka.linux
on 03.07.2014 18:35
#647343 Procentowy stan życia
Napisane przez ka.linux
on 03.07.2014 18:19
#561693 prosba o napisanie pluginu na zmiane modeli graczy
Napisane przez ka.linux
on 07.08.2013 21:14
Niecałe 2 minuty *.*, nie wiem czy będzie 100 % działać, ale raczej tak
Pamiętaj żeby zmienić nazwe na swoją (modelu)
Trzymaj:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #define PLUGIN "Modele Graczy" #define VERSION "1.0" #define AUTHOR "sn00py" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "runda", 1); } public runda(id){ if(is_user_connected(id)) { if(cs_get_user_team(id) == CS_TEAM_CT){ cs_set_user_model(id, "graczbb") // Nazwa modelu CT } } } public plugin_precache(){ precache_model("models/player/graczbb/graczbb.mdl") // Folder i nazwa modelu CT }
#561008 Error w kompilatorze co robię źle?
Napisane przez ka.linux
on 05.08.2013 09:51
Chaotycznie napisane...
Używaj [.code] [./code] bez kropek.
pod:
new const wytrzymalosc = 20;
Brakuje:
new bool:ma_klase[33];
Usuń
if(weapon == CSW_AK47 &amp;amp;&amp;amp; damage &amp;gt; 20.0 &amp;amp;&amp;amp; random_num(1,12) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
Pod:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); }
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_AK47 && !random(12) && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
#560894 [ROZWIĄZANE] Który to jest plik ??
Napisane przez ka.linux
on 04.08.2013 18:59
#560879 [ROZWIĄZANE] Który to jest plik ??
Napisane przez ka.linux
on 04.08.2013 18:31
#560852 [ROZWIĄZANE] Który to jest plik ??
Napisane przez ka.linux
on 04.08.2013 17:09
#560169 [ROZWIĄZANE] Jak zrobić taką informacje po wpisaniu /klasa
Napisane przez ka.linux
on 01.08.2013 09:39
#560163 [ROZWIĄZANE] silnik cod errory (CurWeapon)
Napisane przez ka.linux
on 01.08.2013 09:28
Dodaj:
#include <engine>
Zamień cały public i stock:
public CurWeapon(id) stock ham_strip_weapon_short(id)
Na:
public CurWeapon(id) { if(!is_user_connected(id)) return; new team = get_user_team(id); if(team > 2) return; new bron = read_data(2); new bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[team] | bronie_dozwolone); if(!(1<<bron & bronie)) { new param[2]; param[0] = id; param[1] = bron; set_task(0.1, "Strip", _, param, 2); } if(cs_get_user_shield(id) && !gracz_ma_tarcze[id]) engclient_cmd(id, "drop", "weapon_shield"); UstawSzybkosc(id); } public Strip(param[2]) { if(is_user_alive(param[0]) && ( 1 <= param[1] <= 30) ) { get_weaponname(param[1], weaponname, 21); ham_strip_weapon(param[0], weaponname); } }
Jeśli edytowałeś, masz zedytowanego:
stock ham_strip_weapon(id, weapon[])
To zamień całego na:
stock ham_strip_weapon(id, weapon[]) { if(!equal(weapon, "weapon_", 7) ) return 0 new wId = get_weaponid(weapon) if(!wId) return 0 new wEnt while( (wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon) ) && pev(wEnt, pev_owner) != id) {} if(!wEnt) return 0 if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt) if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0 ExecuteHamB(Ham_Item_Kill ,wEnt) set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId) ) return 1 }
Done ; 3
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: ka.linux
- Regulamin