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  
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

Dzięki panowie 

By MAGNET,

Pomoc udzielona

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.


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...