Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Sign in to follow this  
Sqower

[Rozwiązane] Losowanie tekstu plugin

Recommended Posts

Witam szukam pluginu lub jak by ktoś mógł zrobić lub wytłumaczyć jak zrobić żeby po wpisaniu komendy losowało słowo lub zdanie

+ dodanie że można użyć raz na dzień

z góry dziękuje 

By MAGNET,

Przeniesiono do odpowiedniego działu

Share this post


Link to post
Share on other sites

w sensie, że losuje słowo i kto pierwszy je wpisze na czacie to jakieś profity ma?

 

Spoiler

char wordTab[][] = {
"tu",
"moja",
"lista",
"slow"};

PrintToChat(client, "Wylosowano: %s", wordTab[GetRandomInt(0, sizeof(wordTab)]);

 

 

Share this post


Link to post
Share on other sites

Znaczy że wpisuję np !losuj i losuje jakieś słowo i może je raz na dzień wylosować bez profitów

 

Edited by Sqower

Share this post


Link to post
Share on other sites

nie rozumiem tej drugiej części o profitach - co miałoby dawać jakieś wylosowane słowo? ? trochę nie doprecyzowałeś

 

czy te słowo może wylosować codziennie każdy użytkownik, i trzeba to rozpatrywać indywidualnie dla każdego gracza, czy po prostu jedno słowo globalnie?

Share this post


Link to post
Share on other sites

Ogólnie chodzi mi o to że gracz po wpisaniu np !losuj losuje mu z puli jakiś zdanie np Cytat i może ten cytat wylosować raz dziennie i żeby każdy, i żeby dla każdego gracza coś innego wylosowywało 

Share this post


Link to post
Share on other sites

Ktoś może zrobić jeszcze zapisywanie.

 

#pragma semicolon 1
#pragma newdecls required

char g_sWordTable[][] =
{
	"testowe zdanie",
	"testowe zdanie1",
	"testowe zdanie2",
	"testowe zdanie3",
	"testowe zdanie4"
};

bool g_bUseTableIndex[sizeof(g_sWordTable)];

public void OnPluginStart()
{
    RegConsoleCmd("sm_losuj", CMD_Rand);
}

public Action CMD_Rand(int client, int args)
{
	int iRandom = GetRandomInt(0, sizeof(g_sWordTable));

	if(g_bUseTableIndex[iRandom])
	{
		PrintToChat(client, "Cytat został już wylosowany");
		return Plugin_Handled;
	}
 
	g_bUseTableIndex[iRandom] = true;
	PrintToChat(client, "Wylosowany Cytat: %s", g_sWordTable[iRandom]);
	return Plugin_Handled;
}

 

  • Lubię to! 3

Share this post


Link to post
Share on other sites
36 minut temu, Master napisał:

Ktoś może zrobić jeszcze zapisywanie.

 


#pragma semicolon 1
#pragma newdecls required

char g_sWordTable[][] =
{
	"testowe zdanie",
	"testowe zdanie1",
	"testowe zdanie2",
	"testowe zdanie3",
	"testowe zdanie4"
};

bool g_bUseTableIndex[sizeof(g_sWordTable)];

public void OnPluginStart()
{
    RegConsoleCmd("sm_losuj", CMD_Rand);
}

public Action CMD_Rand(int client, int args)
{
	int iRandom = GetRandomInt(0, sizeof(g_sWordTable));

	if(g_bUseTableIndex[iRandom])
	{
		PrintToChat(client, "Cytat został już wylosowany");
		return Plugin_Handled;
	}
 
	g_bUseTableIndex[iRandom] = true;
	PrintToChat(client, "Wylosowany Cytat: %s", g_sWordTable[iRandom]);
	return Plugin_Handled;
}

 

Ogólnie o to mi chodziło tylko nie wiem czemu po wpisaniu 2 raz tego nie wyświetla się informacja "Cytat został wylosowany"

Share this post


Link to post
Share on other sites
#pragma semicolon 1
#pragma newdecls required

char g_sWordTable[][] =
{
	"testowe zdanie",
	"testowe zdanie1",
	"testowe zdanie2",
	"testowe zdanie3",
	"testowe zdanie4"
};

bool g_bUseTableIndex[sizeof(g_sWordTable)];
bool g_bPlayerUseRand[MAXPLAYERS + 1];

public void OnPluginStart()
{
    RegConsoleCmd("sm_losuj", CMD_Rand);
}

public Action CMD_Rand(int client, int args)
{
	int iRandom = GetRandomInt(0, sizeof(g_sWordTable));

	if(g_bPlayerUseRand[client])
	{
		PrintToChat(client, "Użyłeś już losowania");
		return Plugin_Handled;
	}

	if(g_bUseTableIndex[iRandom])
	{
		PrintToChat(client, "Cytat został już wylosowany");
		return Plugin_Handled;
	}
 
	g_bUseTableIndex[iRandom] = g_bPlayerUseRand[client] = true;
	PrintToChat(client, "Wylosowany Cytat: %s", g_sWordTable[iRandom]);
	return Plugin_Handled;
}

Tylko tak jak napisałem, trzeba dorobić zapis. W tym przypadku najłatwiej będzie zapisać to do cookie.

  • Lubię to! 1
  • Dobry pomysł! 1

Share this post


Link to post
Share on other sites
9 godzin temu, Master napisał:

Tylko tak jak napisałem, trzeba dorobić zapis. W tym przypadku najłatwiej będzie zapisać to do cookie.

 

Dokładnie. Jeśli nie musisz posiadać informacji o tym który cytat został wylosowany przez gracza, nie ma potrzeby tworzyć jakiejś bazy danych.

 

Ciasteczka wykorzystywałem tutaj: 

 

  • Lubię to! 1

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...