Jump to content
assignment_ind Existing user? Sign In

Sign In



person_add Sign Up
Go-Code.pl - Support SourceMod i Pluginy CS:GO
Sign in to follow this  
Paweł

[CS:GO] Simple Advertisements

Recommended Posts

O Pluginie:

  • Plugin wyświetla reklamy na chacie.
  • Plugin korzysta z "multicolors", więc można używać tagów z tej biblioteki tzn. {darkred}, {lime} itd. .

 

Instalacja:

  • Plik .smx wrzucamy do addons/sourcemod/plugins/
  • Plik .sp wrzucamy do addons/sourcemod/scripting/
  • Plik .cfg wrzucamy do addons/sourcemod/configs/

 

Kod Pluginu:

Spoiler

/* [ Includes ] */
#include <sourcemod>
#include <sdktools>
#include <multicolors>

/* [ Compiler Options ] */
#pragma newdecls required
#pragma semicolon 1

/* [ Defines ] */
#define PluginTag 	"[ TAG PRZED REKLAMĄ ]"

/* [ Handles ] */
Handle g_hTimer;

/* [ KeyValues ] */
KeyValues kv;

/* [ Plugin Author and Informations ] */
public Plugin myinfo =
{
	name = "[CS:GO] Advertisements",
	author = "Yamakashi",
	description = "Plugin wyświetla reklamy na chacie.",
	version = "1.0",
	url = "https://steamcommunity.com/id/yamakashisteam"
};

/* [ Plugin Startup ] */
public void OnPluginStart()
{
	/* [ Commands ] */
	RegAdminCmd("sm_reload", ReloadAdvertisements_CMD, ADMFLAG_ROOT, "[ Reklamy ] Wywołuje reload pliku .cfg");
}

/* [ Standart Actions ] */
public void OnMapStart()
{
	Load_Advertisemensts();
	g_hTimer = CreateTimer(35.0, Print_Advertisement, _, TIMER_REPEAT);
}

public void OnMapEnd()
{
	KillTimer(g_hTimer, false);
	g_hTimer = INVALID_HANDLE;
}

/* [ Commands ] */
public Action ReloadAdvertisements_CMD(int client, int args)
{
	Load_Advertisemensts();
	return Plugin_Handled;
}

/* [ Timers ] */
public Action Print_Advertisement(Handle timer)
{
	char sAdvertisement[512];
	kv.GetString("advertisement", sAdvertisement, sizeof(sAdvertisement));
	
	CPrintToChatAll(sAdvertisement, PluginTag);
	if(!kv.GotoNextKey()) 
	{
        kv.Rewind();
        kv.GotoFirstSubKey();
    }
}

/* [ Config ] */
public void Load_Advertisemensts()
{
	delete kv;
	kv = CreateKeyValues("Advertisements");

	char sPath[PLATFORM_MAX_PATH];
	BuildPath(Path_SM, sPath, sizeof(sPath), "configs/Advertisements.cfg");

	if(!FileExists(sPath))
		SetFailState("[ X REKLAMY X ] Nie odnaleziono pliku konfiguracyjnego: %s", sPath);

	kv.ImportFromFile(sPath);
	kv.GotoFirstSubKey();
}

 

 

Przykładowy plik konfiguracyjny:

Spoiler

"Advertisements"
{
	"Reklama - 1"
	{
		"advertisement"		"%s {darkred}Przykładowa reklama numer {lime}1."
	}
}

 

 

Download:

Edited by Yamakashi
  • Lubię to! 4

Share this post


Link to post
Share on other sites

Patrząc okiem judasza nie rozumiem paru rzeczy:

  • Do tak prostego pluginu naje&*&*( komentarzy
  • Accessowanie się do obiektu kv co adverta zamiast buforowania ich
  • Użycie komendy "sm_reload" (może kolidować z innym pluginem, każdy "ogarnięty" to ogarnie ale lajk może mieć mindfucka ;p)
  • Użycie PLATFORM_MAX_PATH w tym przypadku
  • Użycie niepełnej notacji węgierskiej (oznaczenia globalne)
  • 8 godzin temu, Yamakashi napisał:

    Standart

  • Nie zrobienie tagu w kv
  • ServerAdvertisments better (okiem judasza)

Oczywiście, to są moje spostrzeżenia/rzeczy niezrozumiałe.

KOMENTARZ NAPISANY W CELACH HUMORYSTYCZNYCH NIE MIAŁ NA CELU NIKOGO URAZIĆ. PANIE KOMENDANCIE PROSZĘ NIE BLOKOWAĆ MI MOŻLIWOŚCI PISANIA POSTÓW!

Edited by masnuwa_ni

Share this post


Link to post
Share on other sites
8 godzin temu, masnuwa_ni napisał:

Patrząc okiem judasza nie rozumiem paru rzeczy:

  • Do tak prostego pluginu naje&*&*( komentarzy
  • Accessowanie się do obiektu kv co adverta zamiast buforowania ich
  • Użycie komendy "sm_reload" (może kolidować z innym pluginem, każdy "ogarnięty" to ogarnie ale lajk może mieć mindfucka ;p)
  • Użycie PLATFORM_MAX_PATH w tym przypadku
  • Użycie niepełnej notacji węgierskiej (oznaczenia globalne)
  •  
  • Nie zrobienie tagu w kv
  • ServerAdvertisments better (okiem judasza)

Oczywiście, to są moje spostrzeżenia/rzeczy niezrozumiałe.

KOMENTARZ NAPISANY W CELACH HUMORYSTYCZNYCH NIE MIAŁ NA CELU NIKOGO URAZIĆ. PANIE KOMENDANCIE PROSZĘ NIE BLOKOWAĆ MI MOŻLIWOŚCI PISANIA POSTÓW!

 

Server advertisments lepszy z tego powodu że yama napisał simple advertisments stąd ta nazwa dlatego funkcji jest dużo dużo mniej. 

 

Dla mniej wymagających plugin jest dobry. 

 

Jak ktoś chce użyć czegos lepszego to użyje serveradvertisments z alliedow

  • Lubię to! 1

Share this post


Link to post
Share on other sites

jak dodać żeby na serwerze wyświetlało się kilka reklam a nie tylko jedna ?!

Share this post


Link to post
Share on other sites
10 minut temu, Lyyu napisał:

jak dodać żeby na serwerze wyświetlało się kilka reklam a nie tylko jedna ?!

Dodaj je do pliku konfiguracyjnego? 

  • Lubię to! 1

Share this post


Link to post
Share on other sites
4 godziny temu, Mesharsky napisał:

Dodaj je do pliku konfiguracyjnego? 

dodałem , zrobiłem kilka i wyświetla tylko jedną.. 😕

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.


O NAS Jesteśmy społecznością łączącą ludzi, którzy dzielą pasję poznawania CS:GO od strony programistycznej. Posiadamy duże zaplecze merytoryczne i zawsze cieszymy się, gdy dołączają do nas osoby gotowe do nauki. Gwarantujemy, że z odrobiną wytrwałości i otwartym umysłem bardzo szybko napiszesz swój pierwszy plugin. Zapraszamy! 🙂
Szablon wykonany z dużą ilością przez cyberpixelz / Mesharsky / Sitefuture
Forum dumnie napędzane przez: Invision Power Services, Inc.
×
×
  • Create New...