Recommended Posts

Cześć,

 

Od niedawna zaczęłam ,, uczyć się " troszkę programowania m.in podstaw c++, które już chyba opanowałam. Po ich opanowaniu chciałam pójść krok dalej, bo moim celem jest nauczenie się pisania pluginów. No i tak... w sourcepawnie ledwo co się odnajduję, większości pluginów nie rozumiem, jednak mam kolegę, który pouczył mnie co nie co i dał zadanie, bym napisała plugin, który po zrespieniu się gracza wyśle mu ciekawą wiadomość :) 

 

Jaką mam sprawę do Was? Otóż tutaj jest mój plugin: https://pastebin.com/ATg9AASr

 

Zdaję sobie sprawę, że plugin może być napisany źle lub brakuje w nim bardzo dużo funkcji czy innych rzeczy, dlatego proszę Was o powiedzenie mi jak się sprawy mają. :D

Jestem w tym kompletnie zielona, a od czegoś trzeba zacząć, no i oczywiście próbować, próbować i jeszcze raz PRÓBOWAĆ :)

 

Pozdrawiam :>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po pierwsze

public void Event_PlayerSpawn(client, int client = GetClientOfUserId(event.GetInt("userid"))

Na

public void EventSpawn(Handle event, const char[] name, bool dontBroadcast)

i później pobierasz id gracza

int client = GetClientOfUserId(GetEventInt(event, "userid"));

 

 

Pierwszym parametrem jest ID gracza, któremu ma się pokazać wiadomość, następnie jest sama wiadomość, a później piszemy opcjonalne zmienne, w tym przypadku jest to zmienna odpowiadająca pobranej nazwie użytkownika.

PrintToChat(client, "Witaj %s ponownie w świecie żywych!", name_s);

 

Poprawnie napisany plugin:

#include <sourcemod>
 
#pragma semicolon 1
#pragma newdecls required
 
public void OnPluginStart()
{
    HookEvent("player_spawn", EventSpawn);
}
 
public void EventSpawn(Handle event, const char[] name, bool dontBroadcast)
{ 
	int client = GetClientOfUserId(GetEventInt(event, "userid"));
	
	char name_s[35];
	GetClientName(client, name_s, sizeof(name_s));

	PrintToChat(client, "Witaj %s ponownie w świecie żywych!", name_s);
}

 

  • Thanks 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
5 minut temu, Masterx napisał:

Po pierwsze

public void Event_PlayerSpawn(client, int client = GetClientOfUserId(event.GetInt("userid"))

Na

public void EventSpawn(Handle event, const char[] name, bool dontBroadcast)

i później pobierasz id gracza

int client = GetClientOfUserId(GetEventInt(event, "userid"));

 

 

Pierwszym parametrem jest ID gracza, któremu ma się pokazać wiadomość, następnie jest sama wiadomość, a później piszemy opcjonalne zmienne, w tym przypadku jest to zmienna odpowiadająca pobranej nazwie użytkownika.

PrintToChat(client, "Witaj %s ponownie w świecie żywych!", name_s);

 

Poprawnie napisany plugin:

#include <sourcemod>
 
#pragma semicolon 1
#pragma newdecls required
 
public void OnPluginStart()
{
    HookEvent("player_spawn", EventSpawn);
}
 
public void EventSpawn(Handle event, const char[] name, bool dontBroadcast)
{ 
	int client = GetClientOfUserId(GetEventInt(event, "userid"));
	
	char name_s[35];
	GetClientName(client, name_s, sizeof(name_s));

	PrintToChat(client, "Witaj %s ponownie w świecie żywych!", name_s);
}

 

Super, dziękuję ^^

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!

Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.

Zaloguj się