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

[Rozwiązane] DailyCredits

Recommended Posts

Cześć, potrzebuje lekko przerobić plugin w którym chcę podmienić obsługę sklepu ze store na shop core, niestety za bardzo mi z tym nie idzie.

 

Link do dailycredits - https://forums.alliedmods.net/showthread.php?p=2540317
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Shop core w załączniku z racji że nie każdy chce zakładać konta na ruskich forach .

 

Jak się nie myle wystarczy tylko zrobić tutaj zmiany korzystając z forwardu

 

Spoiler

Action Forward_OnCreditsSet(int client, int &credits, int by_who)
{
	Action result = Plugin_Continue;
	
	Call_StartForward(h_fwdOnCreditsSet);
	Call_PushCell(client);
	Call_PushCellRef(credits);
	Call_PushCell(by_who);
	Call_Finish(result);
	
	return result;
}

Action Forward_OnCreditsGiven(int client, int &credits, int by_who)
{
	Action result = Plugin_Continue;
	
	Call_StartForward(h_fwdOnCreditsGiven);
	Call_PushCell(client);
	Call_PushCellRef(credits);
	Call_PushCell(by_who);
	Call_Finish(result);
	
	return result;
}

 

Spoiler

stock void GiveCredits(int client, bool FirstDay)
{
	if (FirstDay)
	{
		Store_SetClientCredits(client, Store_GetClientCredits(client) + GetConVarInt(g_hDailyCredits)); // Giving credits
		CPrintToChatEx(client, client, "%t", "CreditsRecieved", GetConVarInt(g_hDailyCredits));
		SetClientCookie(client, g_hDailyBonusCookie, "1");
		strcopy(SavedBonus[client], sizeof(SavedBonus[]), "1");
		SetClientCookie(client, g_hDailyCookie, CurrentDate);
		Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
	}
	else
	{
		int resetDaysSetting = GetConVarInt(g_hDailyReset);
		int TotalCredits = GetConVarInt(g_hDailyCredits) + ReturnDailyBonus(client);
		if (TotalCredits > GetConVarInt(g_hDailyMax))TotalCredits = GetConVarInt(g_hDailyMax);
		int streakDays = ReturnStreakDays(client);
		if (streakDays > 0)
		{
			streakDays--;
		}
		
		Store_SetClientCredits(client, Store_GetClientCredits(client) + TotalCredits); // Giving credits
		
		if (streakDays != 0)
		{
			if (streakDays >= resetDaysSetting) //if the current streak of days is the same as the value for resetting the "streak cycle"
			{
				CPrintToChatEx(client, client, "%t", "LastCreditsRecieved", TotalCredits);
				CPrintToChatEx(client, client, "%t", "ResetDays", resetDaysSetting); //tell the user that the reset cycle has been reached
				SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = 0;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Reset the bonus
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
			}
			else //streak is smaller then reset period
			{
				CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits); // Chat 
				SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = StringToInt(SavedBonus[client]);
				CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1); //tell the user which day they are currently on
				cookievalue++;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Add 1 to bonus
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
			}
		}
		else
		{
			CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits); // Chat 
			SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
			Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
			int cookievalue = StringToInt(SavedBonus[client]);
			CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1); //tell the user which day they are currently on
			cookievalue++;
			IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Add 1 to bonus
			SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
		}
	}
}

 

 

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

Edited by szogun

Share this post


Link to post
Share on other sites
stock void GiveCredits(int client, bool FirstDay)
{
	if (FirstDay)
	{
		//Store_SetClientCredits(client, Store_GetClientCredits(client) + GetConVarInt(g_hDailyCredits)); // Giving credits
		Shop_GiveClientCredits(client, GetConVarInt(g_hDailyCredits, CREDITS_BY_NATIVE);

		CPrintToChatEx(client, client, "%t", "CreditsRecieved", GetConVarInt(g_hDailyCredits));
		SetClientCookie(client, g_hDailyBonusCookie, "1");
		strcopy(SavedBonus[client], sizeof(SavedBonus[]), "1");
		SetClientCookie(client, g_hDailyCookie, CurrentDate);
		Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
	}
	else
	{
		int resetDaysSetting = GetConVarInt(g_hDailyReset);
		int TotalCredits = GetConVarInt(g_hDailyCredits) + ReturnDailyBonus(client);
		if (TotalCredits > GetConVarInt(g_hDailyMax))TotalCredits = GetConVarInt(g_hDailyMax);
		int streakDays = ReturnStreakDays(client);
		if (streakDays > 0)
		{
			streakDays--;
		}
		
		//Store_SetClientCredits(client, Store_GetClientCredits(client) + TotalCredits); // Giving credits
		Shop_GiveClientCredits(client, TotalCredits, CREDITS_BY_NATIVE);

		if (streakDays != 0)
		{
			if (streakDays >= resetDaysSetting) //if the current streak of days is the same as the value for resetting the "streak cycle"
			{
				CPrintToChatEx(client, client, "%t", "LastCreditsRecieved", TotalCredits);
				CPrintToChatEx(client, client, "%t", "ResetDays", resetDaysSetting); //tell the user that the reset cycle has been reached
				SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = 0;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Reset the bonus
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
			}
			else //streak is smaller then reset period
			{
				CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits); // Chat 
				SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = StringToInt(SavedBonus[client]);
				CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1); //tell the user which day they are currently on
				cookievalue++;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Add 1 to bonus
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
			}
		}
		else
		{
			CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits); // Chat 
			SetClientCookie(client, g_hDailyCookie, CurrentDate); // Set saved date to today
			Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
			int cookievalue = StringToInt(SavedBonus[client]);
			CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1); //tell the user which day they are currently on
			cookievalue++;
			IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[])); // Add 1 to bonus
			SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]); // Save bonus
		}
	}
}

 

  • Lubię to! 2

Share this post


Link to post
Share on other sites

Dopiero teraz udało mi się do tego przysiąść i przy kompilacji mam błąd oraz sama myśl aby odwołać się do funkcji raczej się nie sprawdzi gdyż plugin posiada #include <store>

które zamieniłem na shop ale również nie miałem jak tego sprawdzić

Cytat

//// dailycredits.sp
//
// dailycredits.sp(119) : error 092: number of arguments does not match definiti
on
//
// 1 Error.
//
// Compilation Time: 0,36 sec

 

Share this post


Link to post
Share on other sites

Wkradła się literówka.

stock void GiveCredits(int client, bool FirstDay)
{
	if(FirstDay)
	{
		Shop_GiveClientCredits(client, g_hDailyCredits.IntValue, CREDITS_BY_NATIVE);

		CPrintToChatEx(client, client, "%t", "CreditsRecieved", g_hDailyCredits.IntValue);
		SetClientCookie(client, g_hDailyBonusCookie, "1");
		strcopy(SavedBonus[client], sizeof(SavedBonus[]), "1");
		SetClientCookie(client, g_hDailyCookie, CurrentDate);
		Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
	}
	else
	{
		int resetDaysSetting = g_hDailyReset.IntValue;
		int TotalCredits = g_hDailyCredits.IntValue + ReturnDailyBonus(client);

		if(TotalCredits > g_hDailyMax.IntValue)
			TotalCredits = g_hDailyMax.IntValue;

		int streakDays = ReturnStreakDays(client);

		if(streakDays > 0)
		{
			streakDays--;
		}
		
		Shop_GiveClientCredits(client, TotalCredits, CREDITS_BY_NATIVE);

		if(streakDays != 0)
		{
			if(streakDays >= resetDaysSetting)
			{
				CPrintToChatEx(client, client, "%t", "LastCreditsRecieved", TotalCredits);
				CPrintToChatEx(client, client, "%t", "ResetDays", resetDaysSetting);
				SetClientCookie(client, g_hDailyCookie, CurrentDate);
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = 0;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[]));
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]);
			}
			else
			{
				CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits);
				SetClientCookie(client, g_hDailyCookie, CurrentDate);
				Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
				int cookievalue = StringToInt(SavedBonus[client]);
				CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1);
				cookievalue++;
				IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[]));
				SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]);
			}
		}
		else
		{
			CPrintToChatEx(client, client, "%t", "CreditsRecieved", TotalCredits);
			SetClientCookie(client, g_hDailyCookie, CurrentDate);
			Format(SavedDate[client], sizeof(SavedDate[]), CurrentDate);
			int cookievalue = StringToInt(SavedBonus[client]);
			CPrintToChatEx(client, client, "%t", "CurrentDay", cookievalue + 1);
			cookievalue++;
			IntToString(cookievalue, SavedBonus[client], sizeof(SavedBonus[]));
			SetClientCookie(client, g_hDailyBonusCookie, SavedBonus[client]);
		}
	}
}

 

  • Lubię to! 3

Share this post


Link to post
Share on other sites

Dzięki, chyba działa jak powinno, kredyty dodaje a ewentualne błędy wyjdą na dniach pewnie.

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