Skocz do zawartości
[Rozwiązane] Zabójstwa i śmierci na czacie/ zabójstwo z kosy
Prośba o pomoc

Rekomendowane odpowiedzi

Cześć,

Dałem tu ostatnio temat o pluginie "zabójstwo z noża", który miał wyświetlać na czacie napis "attacker wbil kose pod zebra victim", ale chciałbym go ulepszyć. Po pierwsze chciałbym wypisać na czacie *tylko do clienta*, gdy ktoś go zabije, gdy on kogoś zabije a także wyróżnić, gdy dokonał zabójstwa nożem, lub gdy ktoś na nim dokona zabóstwa nożem komunikatem na czacie "Wbiłeś kosę pod żebra victim"/"attacker wbił Ci kosę pod żebra". Pierwszą część zrobiłem, ale mam takie warningi, nie wiem o co chodzi

// C:\Users\user\Desktop\Source Mode\###s_mode\scripting\serwer_zabojstwa.sp(12) : warning 217: loose indentation
// C:\Users\user\Desktop\Source Mode\###s_mode\scripting\serwer_zabojstwa.sp(13) : warning 217: loose indentation

Oto mój kod:

 ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­     

#include <sourcemod>

#include <multicolors>

 

public void OnPluginStart()

{

    HookEvent("player_death", OnPlayerDeath, EventHookMode_Post);

}

 

public Action OnPlayerDeath(Event event, const char[] name, bool dontBroadcast)

{

    int client = GetClientOfUserId(event.GetInt("userid"));

    int attacker = GetClientOfUserId(event.GetInt("attacker")); 

    CPrintToChat(client, "{lightred} Zabił Cię {darkred}%n", attacker);

    CPrintToChat(attacker, "{lightgreen} Zabiłeś {green} %n", client);

}

­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ ­­ 

 

Bardzo możliwe, że będę tu często rozpoczynał nowe tematy, bo jestem początkujący i chciałbym rozwijać swoje umiejętności i uczyć się pisać coraz bardziej skomplikowane pluginy. Z góry dzięki

 

 

Odnośnik do odpowiedzi
Udostępnij na innych stronach

@kox1906 Spróbuj tak:

 

#include <sourcemod>
#include <multicolors>

 

public void OnPluginStart() {

    HookEvent("player_death", OnPlayerDeath, EventHookMode_Post);

}
public Action OnPlayerDeath(Event event, const char[] name, bool dontBroadcast) {

    int client = GetClientOfUserId(event.GetInt("userid"));

    int attacker = GetClientOfUserId(event.GetInt("attacker")); 

    CPrintToChat(client, "{lightred} Zabił Cię {darkred}%n", attacker);

    CPrintToChat(attacker, "{lightgreen} Zabiłeś {green} %n", client);

}

 

Edytowane przez Zaku
Odnośnik do odpowiedzi
Udostępnij na innych stronach

@Zaku 

Ogólnie to z tego co wiem to taka i taka forma klamerek jest poprawna i nie ma żadnej róznicy w tym. Inne pluginy mam napisane w klamrach jak na sc nr 1. Poza tym teraz odpaliłem serwer na botach i gdy zabijam bota jest napis "Zabiłeś n", gdy ktoś mnie zabije jest napis "zabił Cię n" i mam jeszcze plugin z pierwszego odcinka Magneta !info. Na górze chcę wyświetlać nick clienta, a poniżej jego dane. Zamiast jego nicku jest "n"

EDIT: już wiem o co chodzi z tymi klamrami. Była linijka odstępu

EDIT2: Nie no kurde przecież w moim kodzie nie było odstępu to jednak nie wiem ocb XD

Edytowane przez kox1906
Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zrobiłem KOPIUJ + WKLEJ Twojego kodu, co udostępniłeś na forum i są linijki przerwy:

przerwy.thumb.JPG.5a0252a857619dd7bee927f5fdcd1d9e.JPG

 

@kox1906

Wracając do drugiego problemu spróbuj tak:

 

 

 

#include <sourcemod>
#include <multicolors>

 

public void OnPluginStart() {

    HookEvent("player_death", OnPlayerDeath, EventHookMode_Post);

}
public Action OnPlayerDeath(Event event, const char[] name, bool dontBroadcast) {

    int client = GetClientOfUserId(event.GetInt("userid"));

    int attacker = GetClientOfUserId(event.GetInt("attacker")); 

    CPrintToChat(client, "{lightred} Zabił Cię {darkred}%N", attacker);

    CPrintToChat(attacker, "{lightgreen} Zabiłeś {green} %N", client);

}

 

Edytowane przez Zaku
Odnośnik do odpowiedzi
Udostępnij na innych stronach
#include <sourcemod>
#include <multicolors>



public void OnPluginStart()
{
	
	HookEvent("player_death", OnPlayerDeath, EventHookMode_Post);
	
}

public Action OnPlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(event.GetInt("userid"));
	int attacker = GetClientOfUserId(event.GetInt("attacker"));
	
	char clientname[32], attackername[32];
	
	GetClientName(client, clientname, sizeof(clientname));
	GetClientName(attacker, attackername, sizeof(attackername));
	
	if (IsValidClient(client) && IsValidClient(attacker))
	{
		CPrintToChat(client, "{lightred} Zabił Cię {darkred}%s", attackername);
		CPrintToChat(attacker, "{lightgreen} Zabiłeś {green} %s", clientname);
	}
	
}

//wziete z vipa od Mesharsky
stock bool IsValidClient(int client)
{
	if (client <= 0 || client > MaxClients) {
		return false;
	}
	
	if (!IsClientInGame(client)) {
		return false;
	}
	
	if (IsFakeClient(client)) {
		return false;
	}
	
	return true;
}

spróbuj to i daj znać czy działa

Edytowane przez haooy

Sygnatura użytkownika

b_560_95_1.png

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 5 miesięcy temu...
  • Moderator poziom 2

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

Sygnatura użytkownika

» Support: https://discord.com/invite/zMXt97R63v

» Steam: https://steamcommunity.com/id/pawelsteam/

» Discord: Paweł#8244

» PluginyCS: https://pluginycs.pl/profile/Pawel

» Przyjmuję zlecenia na paczki oraz pluginy.  «

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (5 użytkowników)

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...