UWAGA
W związku z upgrade'em Forum Wiaderko do vB 4.x ewentualne błędy i nieprawidłowości proszę zgłaszać w tym temacie
Serwery Counter Strike 1.6 wiaderko.com

HashJama [TP] 193.33.176.148:27015 status serwera HashJama [TP] połącz

HashJama [FFA] 193.33.176.188:27015status serwera HashJama [FFA] połącz

HashJama [DM] 193.33.176.53:27015status serwera HashJama [DM] połącz

HashJama [Aim Hs] 193.33.176.15:27015status serwera HashJama [Aim Hs] połącz

HashJama [Flags] 193.33.176.111:27015status serwera HashJama  [Flags] połącz

HashJama [AWP/HG DM] 193.33.176.50:27015status serwera HashJama [AWP/HG DM] 193.33.176.50:27015 połącz

HashJama [TP #2] 193.33.176.54:27015status serwera HashJama [TP #2] 193.33.176.54:27015 połącz

wiaderko.com [Ventrilo] v1.svoice.pl:6416status serwera wiaderko.com [Ventrilo]

SPONSOR:
pukawka.pl

Wątek: Nie udana przeróbka pluginu

Pokaż wyniki od 1 do 2 z 2
  1. #1 Nie udana przeróbka pluginu 
    Spamer
    Dołączył
    Jun 2009
    Wiek
    80
    Posty
    156
    Witam,
    chciałem zrobić tak, aby dało się wyłączyć/włączyć wyświetlanie się rangi w hudzie, no ale niestety błąd przy kompilacji.

    Oto sma
    Kod:
    #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;
    
    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", "hudon");
    	register_clcmd(say /hudoff, "hudoff");
    	
    	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", "hudon");
    	register_clcmd(say_team /hudoff, "hudoff");
    
    	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"); 
    }
    //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);
    	
    	if(client_cmd (id, "say /hudon" || "say_team /hudon")
    	set_hudmessage(255, 255, 255, 0.15, 0.55);
    	show_hudmessage(id, "Ranga: %s^nZabojstw: %d",get_rankname(stats[STATS_KILLS ]), stats[STATS_KILLS ]);
    	}
    	else
    	{
    	if(client_cmd(id, "say /hudoff" || "say_team /hudoff")
    	ColorChat (id, GREEN, "[Ranga] ^x01Wyswietlanie rangi w hudzie zostalo ^x04wylaczone")
    }	
    //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();
        }
    }
    Dodałem
    Kod:
    register_clcmd(say /hudon", "hudon");
    	register_clcmd(say /hudoff, "hudoff");
    register_clcmd(say_team /hudon", "hudon");
    	register_clcmd(say_team /hudoff, "hudoff");
    Kod:
    if(client_cmd (id, "say /hudon" || "say_team /hudon")
    Kod:
    else
    	{
    	if(client_cmd(id, "say /hudoff" || "say_team /hudoff")
    	ColorChat (id, GREEN, "[Ranga] ^x01Wyswietlanie rangi w hudzie zostalo ^x04wylaczone")
    Co zrobiłem źle?

    Ogólnie to nie zajmuje się pisaniem/przerabianiem pluginów więc nie śmiać się : P
    Odpowiedz z cytatem  
     

  2. #2 Odp: Nie udana przeróbka pluginu 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    if(client_cmd (id, "say /hudon" || "say_team /hudon")

    client_cmd wysyła komendę do gracza. Wypieprz to i zamiast tego dodaj.

    public hudon(id)
    {
    Wlaczanie
    }
    public hudoff(id)
    {
    Wylaczenie
    }
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
    Odpowiedz z cytatem  
     

Podobne wątki

  1. Mała przeróbka pluginu demo
    By SirMirek in forum Pisanie pluginów AMXX
    Odpowiedzi: 1
    Ostatni post / autor: 23-03-2011, 13:50
  2. Przeróbka pluginu Ważne!
    By spoiler10 in forum Pisanie pluginów AMXX
    Odpowiedzi: 0
    Ostatni post / autor: 07-02-2011, 14:06
  3. Nie udana próba stworzenia menu
    By Szymek^ in forum Problem z pluginem AMX/AMXX
    Odpowiedzi: 3
    Ostatni post / autor: 29-01-2011, 15:59
  4. Przeróbka pluginu.
    By EvEr^^KoKs in forum Pisanie pluginów AMXX
    Odpowiedzi: 0
    Ostatni post / autor: 28-01-2011, 17:29
  5. Drobna przeróbka pluginu
    By maniac9966 in forum Pisanie pluginów AMXX
    Odpowiedzi: 0
    Ostatni post / autor: 05-01-2011, 15:31
  6. Przerobka pluginu.
    By xariv in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 11
    Ostatni post / autor: 07-11-2010, 00:52
  7. [przerobka] Przerobka stopki
    By Czookapik in forum Prośby o wykonanie grafiki
    Odpowiedzi: 1
    Ostatni post / autor: 18-05-2010, 22:10
  8. Przeróbka pluginu
    By Pezet in forum Pisanie pluginów AMXX
    Odpowiedzi: 28
    Ostatni post / autor: 09-04-2010, 22:51
  9. Przeróbka pluginu z biciem serca.
    By bluSkay.aka in forum Pisanie pluginów AMXX
    Odpowiedzi: 1
    Ostatni post / autor: 09-02-2010, 15:54
  10. przerobka pluginu
    By saper1414 in forum Amx Mod X
    Odpowiedzi: 2
    Ostatni post / autor: 28-12-2007, 18:48

Odwiedzający znaleźli tę stronę szukając:

stock get_rankname

client_cmd say

Uprawnienia umieszczania postów
  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •