Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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
 

Zdjęcie

Mała edycja SMA rang.


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 _Remik_92_Novy_

    Początkujący

  • Użytkownik

Reputacja: -2
Mniej niż zer0.

  • Postów:14
  • GG:
  • Imię:Remik
  • Lokalizacja:Świętokrzyskie
Offline

Napisano 25.12.2014 18:36

Witam serdecznie.
Jeśli ktoś da radę prosiłbym o przerobienie tego pluginu z rangami.

O co chodzi:

1) W 'zabójstwach' dodać do którego killa aktywna jest dana ranga, a co za tym idzie od którego killa zaczyna się nowa.
Prościej:
Mamy rangi: 'szeregowy' - 'plutonowy' - 'kapelan', przedział punktowy to '5' - '50' - '100'
Mamy rangę 'plutonowy' i mamy np 35killi więc w zabójstwach pisze: Zabójstw: 35/50.

2) Druga sprawa to zamiast ranku widniało:
Forum: www.PokazSkilla.eu

Z góry dzięki i czekam na odpowiedź. Oczywiście repka poleci jak najbardziej :)

SMA jest w załączniku.
Miniatura:
57617833096815309504.jpg

Załączone pliki


  • +
  • -
  • 0

#2 XXL

    Wszechwiedzący

  • Power User

Reputacja: 114
Zaawansowany

  • Postów:567
Online

Napisano 25.12.2014 19:05

Pomógłbym ci ale nie moge otworzyć tego .sma jakieś Chińskie literki się tworzą 


  • +
  • -
  • 0

#3 Kobciu

    Zaawansowany

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:108
  • Lokalizacja:Polska
Offline

Napisano 25.12.2014 21:04

XXL otwórz plik .sma , a nie .amxx

 

Spoiler

  • +
  • -
  • 0

#4 _Remik_92_Novy_

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -2
Mniej niż zer0.

  • Postów:14
  • GG:
  • Imię:Remik
  • Lokalizacja:Świętokrzyskie
Offline

Napisano 25.12.2014 21:21

Plika amxx nie ma bo po co to komu? SMA normalnie wordem otwieram i jest git (przez notatnik plik nie jest uporządkowany ale i tak są normalne znaki), więc nie mam pojęcia o co CI chodzi XXL.

Użytkownik _Remik_92_Novy_ edytował ten post 25.12.2014 21:22

  • +
  • -
  • 0

#5 _Remik_92_Novy_

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -2
Mniej niż zer0.

  • Postów:14
  • GG:
  • Imię:Remik
  • Lokalizacja:Świętokrzyskie
Offline

Napisano 25.12.2014 23:17

Kod SMA.


/******************************************************************************/
// If you change one of the following settings, do not forget to recompile
// the plugin and to install the new .amx file on your server.
// You can find the list of admin flags in the amx/examples/include/amxconst.inc file.

//Defines font color in the motd, you can also use hexadecimal colors
#define FONT_COLOR "yellow"

//Defines background color of the motd, you can also use hexadecimal colors
#define BG_COLOR "black"

//Defines a size of font in the motd
#define FONT_SIZE 4

//Admin flag for "ranks_reload" command
#define ADMIN_FLAG ADMIN_CFG

//Defines directory of the configuration file
#define FILE_DIR "addons/amxmodx/configs/ranks.ini"

// Uncomment the following line to enable the AMX logs for this plugin.
#define USE_LOGS

// File name where the logs are stored (will be put in the "amx/logs" directory).
#if defined USE_LOGS
  new const g_szLogFile[] = "ranks.log"
#endif

// Defines hard limit how many ranks can be read from the "ranks.ini" file.
#define MAX_RANKS 25

// Defines how long can be rank name.
#define MAX_NAME_RANK 33

/******************************************************************************/

#include 
#include 
#include 
#include 

#define PLUGIN "Ranks"
#define VERSION "2.1.1"
#define AUTHOR "Ni3znajomy"

new g_pCvarRank, g_pCvarDiff;

#define TASK 3929

new g_iKills[33];
new g_szMotd[1012];

new g_szRanks[MAX_RANKS][MAX_NAME_RANK]
new g_iRanks[MAX_RANKS];
new g_szPlayerRank[33][MAX_NAME_RANK]
new g_iPlayerLevel[33];

new g_iLoaded;

new ShowStats;
new Vip;

new g_iPos[33];
new g_iAllPos;

#define NoShowSet(%1) (ShowStats |= (1<<(%1-1)))
#define NoShowCheck(%1) (ShowStats & (1<<(%1-1)))
#define NoShowRemove(%1) (ShowStats &= ~(1<<(%1-1)))

#define SetVip(%1) (Vip |= (1<<(%1-1)))
#define CheckVip(%1) (Vip & (1<<(%1-1)))
#define RemoveVip(%1) (Vip &= ~(1<<(%1-1)))

#define VIP_FLAG ADMIN_LEVEL_H
#define ADMINS_RELOAD 30.0

#define MaxLevel g_iLoaded - 1

new g_hSync;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
		    
	register_cvar("ranks_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER, 2.10);
	
	register_clcmd("say /rangi", "ShowRanks", -1, "- pokazuje motd z rangami");
	register_clcmd("say_team /rangi", "ShowRanks", -1, "- pokazuje motd z rangami");
	
	register_concmd("ranks_reload", "ReloadRanks", ADMIN_FLAG, "- przeladowuje rangi");
		    
	g_pCvarDiff = register_cvar("ranks_diffrence", "0", _, 0.0);
	g_pCvarRank = register_cvar("ranks_show_dead", "1", _, 1.0);
	register_event("DeathMsg", "DeathMsg_event", "a", "1!0");
	register_event("ResetHUD", "ResetHUD_event", "bef");
	
	g_hSync = CreateHudSyncObj(1);
	set_task(ADMINS_RELOAD, "Reload", 5435, _, _, "b");
	
	LoadRanks();    
	CreateMotd();
}

public Reload(tid)
{
	server_cmd("amx_reloadadmins");
	server_exec();
}

public ReloadRanks(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
	 	return PLUGIN_HANDLED;
	 	
	LoadRanks();
	CreateMotd();
	
	new szName[33];
	get_user_name(id, szName, charsmax(szName));
	#if defined USE_LOGS
		new szSID[42], szIP[25];
		new userid = 0;
	
		if(id)
		{
	 		get_user_authid(id, szSID, charsmax(szSID));
	 		userid = get_user_userid(id);
		}
	 	
	 	get_user_ip(id, szIP, charsmax(szIP), 24);
	 	
	 	log_to_file(g_szLogFile, " przeladowal rangi.", szName, userid, szIP, (id) ? szSID : "Brak");
	#endif
	
	console_print(id, "Przeladowanie rang...");
	client_print(id, print_chat, "ADMIN %s: Przeladowal rangi.", szName);

	new players[32], num;
	
	get_players(players, num, "ch");
	
	for(new i=0;i<num;i++)
	{
	 	new player = players[i];
	 	
	 	CheckLevel(player);
	}

	return PLUGIN_HANDLED
}

public ResetHUD_event(id)
{
	if(!task_exists(TASK+id))
	{
	 	SetTask(id);
	}
}

public plugin_cfg()
{
	g_iAllPos = get_statsnum();
}

public CreateMotd()
{
	new iLen;
	iLen += formatex(g_szMotd, 1011, "", BG_COLOR, FONT_COLOR, FONT_SIZE);
	
	for(new i=0;i= g_iRanks[g_iPlayerLevel[attacker]])
		{
			formatex(g_szPlayerRank[attacker], MAX_NAME_RANK-1, g_szRanks[++g_iPlayerLevel[attacker]]);
		}
	}
	
	if(!get_pcvar_num(g_pCvarDiff))
	 	return;
	
	new level = g_iPlayerLevel[victim];
		
	if(is_user_connected(victim) && --g_iKills[victim] < g_iRanks[--level] && g_iPlayerLevel[victim])
	{
	 	formatex(g_szPlayerRank[victim], MAX_NAME_RANK-1, g_szRanks[--g_iPlayerLevel[victim]]);
	}
}

public client_putinserver(id)
{
	if(is_user_bot(id) || is_user_hltv(id))
	{
		NoShowSet(id);
		return;
 	}

	set_task(1.0, "LoadPlayerStats", id);
}

public client_authorized(id)
{
	if(get_user_flags(id) & VIP_FLAG)
	{
		SetVip(id);
	}
}

public LoadPlayerStats(id)
{
	static stats[8], body[8];
	g_iPos[id] = get_user_stats(id, stats, body);
    
	g_iKills[id] = (get_pcvar_num(g_pCvarDiff)) ? stats[0]-stats[1] : stats[0];
	CheckLevel(id);
	SetTask(id);
}

public client_disconnect(id)
{
	if(task_exists(TASK+id))
		remove_task(TASK+id)

	if(task_exists(id))
		remove_task(id);
	
	if(NoShowCheck(id))
		NoShowRemove(id);
		
	if(CheckVip(id))
		RemoveVip(id);
}

public showRank(param[], tid)
{
	new id = param[0], iVar;
	iVar = get_pcvar_num(g_pCvarRank);
	
	if(iVar && !is_user_alive(id))
	{
		new id2 = entity_get_int(id, EV_INT_iuser2);
        
		if(!id2 || NoShowCheck(id2))
		{
			return;
		}
	
		set_hudmessage(255, 255, 255, 0.03, 0.25, 0, 6.0, 2.0, 0.1, 0.2, 3);    
		ShowSyncHudMsg(id, g_hSync, "Ranga: %s^nZabojstw: %d^nVIP: %s^nForum: PokazSkilla.eu, (CheckVip(id2)) ? "Tak" : "Nie", g_iPos[id2], g_iAllPos);
        
		return;
	}
    
	else if(!iVar && !is_user_alive(id))
	{
		ClearSyncHud(id, g_hSync);
	 	remove_task(TASK+id);
		return;
	}
	set_hudmessage(255, 255, 255, 0.03, 0.25, 0, 6.0, 2.0, 0.1, 0.2, 3);
	ShowSyncHudMsg(id, g_hSync, "Ranga: %s^nZabojstw: %d^nVIP: %s^nForum: PokazSkilla.eu, (CheckVip(id)) ? "Tak" : "Nie", g_iPos[id], g_iAllPos);
}

CheckLevel(id)
{
	g_iPlayerLevel[id] = 0;
	for(new i=0;i= g_iRanks[i] && g_iPlayerLevel[id] < MaxLevel)
			++g_iPlayerLevel[id];
            
		else
			break;
	}
	formatex(g_szPlayerRank[id], MAX_NAME_RANK-1, g_szRanks[g_iPlayerLevel[id]])
}

LoadRanks()
{
	g_iLoaded = 0;
	new szDir[64];
	formatex(szDir, charsmax(szDir), FILE_DIR);
	
	#if defined USE_LOGS
	 	log_amx("[Ranks] Szukanie pliku...");
	#endif
	    
	if(!file_exists(szDir))
	{
		set_fail_state("[Rangi] Nie znaleziono pliku konfiguracyjnego.");
		return;
	}
  
  	#if defined USE_LOGS
  	 	log_amx("[Rangi] Znaleziono plik! Wczytywanie rang...");
 	#endif
    
	new szLine[64], iLen, szName[MAX_NAME_RANK], szKills[33];
	for(new i=0;read_file(szDir, i, szLine, 63, iLen);i++)
	{
	 	trim(szLine);
	 	
		parse(szLine, szName, MAX_NAME_RANK-1, szKills, 32);
        
		if(!szLine[0] || szLine[0] == ';' || szLine[0] == '/')
			continue;
        
		formatex(g_szRanks[g_iLoaded], MAX_NAME_RANK-1, szName);
		g_iRanks[g_iLoaded] = str_to_num(szKills)
        
		if(++g_iLoaded >= MAX_RANKS)
		{
		 	#if defined AMX_LOGS
			 	log_amx("[Rangi] Limit zostal osiagniety (%d). Zwieksz wartosc ^"MAX_RANKS^" zeby wczytac wiecej rang.", MAX_RANKS);
			#endif
			break;
		}
		
		#if defined USE_LOGS
		 	log_amx("[Rangi] Wczytano range ^"%s^".", szName);
		#endif
	}
	#if defined USE_LOGS
	 	log_amx("[Rangi] Wczytano %d rang(i).", g_iLoaded);
	#endif
}

SetTask(id)
{
 	new param[1]; param[0] = id;
 	set_task(1.0, "showRank", TASK+id, param, 1, "b")
}

Miniatura w załączniku.

Załączone miniatury

  • 12.JPG

  • +
  • -
  • 0

#6 _Remik_92_Novy_

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -2
Mniej niż zer0.

  • Postów:14
  • GG:
  • Imię:Remik
  • Lokalizacja:Świętokrzyskie
Offline

Napisano 30.12.2014 13:13

Temat do zamknięcia bo widzę, że na pomoc liczyć nie mogę.


  • +
  • -
  • 0

#7 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 04.01.2015 02:47

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych