Skocz do zawartości

Rekomendowane odpowiedzi

  • Lubię to! 4

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:

Edytowane przez Yamakashi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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!

Edytowane przez dev

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
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? 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
4 godziny temu, Mesharsky napisał:

Dodaj je do pliku konfiguracyjnego? 

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hey, powiedział byś jak dodać wiadomość w tak jakby ramce? Np.

======================================

Tekst wiadomosci

======================================

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
W dniu 6.04.2020 o 23:22, Chrisu napisał:

Hey, powiedział byś jak dodać wiadomość w tak jakby ramce? Np.

======================================

Tekst wiadomosci

======================================

Wiem, ze juz za pewne znasz odpowiedz, ale moze komus innemu sie przyda.
 

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

\n schodzi o jedna linijke

i mozna CHYBA w taki sposob zrobic

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

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Wszystko działa dobrze ale nie mogę zmienić tego

#define PluginTag     "[ TAG PRZED REKLAMĄ ]"

 

Ciągle wyświetla mi to przed tekstem który dodaję na czacie np.

 

zaa.thumb.jpg.7af5d17af9a927ab72f2fbb6fe283641.jpg

 

Próbowałem edytować przez panel admina na samo REKLAMA ale nic sie nie dzieje co robie zle ?

 

Czyli dwa pytania jak edytowac ten tekst TAG PRZED REKLAMA albo usunac a drugie jak zmienic czas np zeby pokazywaly sie te reklamy co kilka minut ?

Edytowane przez lukasz4493

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pomoze ktos ?

Edytuje plik Kod Pluginu:

Zmieniam [TAG PRZED REKLAMA] NA [REKLAMA]  i nic sie nie dzieje dalej jest to co widac wyzej...

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
34 minuty temu, lukasz4493 napisał:

Pomoze ktos ?

Edytuje plik Kod Pluginu:

Zmieniam [TAG PRZED REKLAMA] NA [REKLAMA]  i nic sie nie dzieje dalej jest to co widac wyzej...

 

 

 

Zacznijmy może od prostej rzeczy, skompilowałeś plugin po jego edycji?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
W dniu 8.02.2021 o 15:14, Bioły napisał:

 

Zacznijmy może od prostej rzeczy, skompilowałeś plugin po jego edycji?

 

Tak próbowałem kompilować przez sourcemod plikami compile i spcomp pliczek Avdertismens.sp ale za kazdy razem wynikowym plikiem jest ten z rozszerzeniem smx nie wiem co robie zle. Pomoze ktos zeby skompilowac ten  plik na rozszerzenie .sp ?

Advertisements.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

10 minut temu, lukasz4493 napisał:

Pomoze ktos zeby skompilowac ten  plik na rozszerzenie .sp ?

 

skompilowany plugin ma rozszerzenie smx

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A skompiluje mi ktos ten powyzszy ? Bo niestety chyba cos robie zle bardzo bym prosil

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

No niestety wrzucam na serwer poprawiony plik z tagiem [REKLAMA] adverisments.smx do odpowiedniego folderu według instrukcji i dalej na serwerze wyświetla się to samo [TAG PRZED REKLAMA] co robie zle pomoze ktos ?

 

Plik .sp wrzucamy do addons/sourcemod/scripting/ tak tez robie nazwa sie zgadza i dalej jest nie tak 😞

Edytowane przez lukasz4493

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No tak ale jak mam zrobić aby edytowany plik i skompilowany Adverisment.sp czytało jako główny a nie ze pomimo pliku z zmienionym [TAG PRZED REKLAMA] dalej pokazuje sie to samo mimo ze plik ma juz zrobione i skompilowane z tekstem [REKLAMA] ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wie ktos jak skompilować plik .sp na .smx

bo jak robie przez sourcemoda to wyskakuje taki error

 

Your plugin failed to compile! Read the errors below:

SourcePawn Compiler 1.10.0.6453
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC

/home/groups/sourcemod/upload_tmp/php8VEADU.sp(4) : fatal error 183: cannot read from file: "multicolors"

Compilation aborted.
1 Error.


833336 successful compiles to date.
680383 failed compiles to date.

Advertisements.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
52 minuty temu, Kizz1337 napisał:

Wie ktos jak skompilować plik .sp na .smx

bo jak robie przez sourcemoda to wyskakuje taki error

 

Your plugin failed to compile! Read the errors below:


SourcePawn Compiler 1.10.0.6453
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC

/home/groups/sourcemod/upload_tmp/php8VEADU.sp(4) : fatal error 183: cannot read from file: "multicolors"

Compilation aborted.
1 Error.


833336 successful compiles to date.
680383 failed compiles to date.

Advertisements.sp 1 kB · 0 pobrań
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

brakuje Ci biblioteki multicolors, tzw pliku .inc, masz wyżej w temacie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...