Jump to content

[REZOLVAT] Întrebare payday individual


Dueno
 Share

Recommended Posts

  • Username : MihaiAdv
  • Problema întâlnită: -
  • Detalii despre problemă: Ma gandeam sa fac un system de payday individual ca cel de pe jade, niste idei cum as trebuii sa incep, partea cu textdraw-ul si timer-ul le stiu dar restu..
  • Ce ai încercat să faci înainte să postezi?: Sa caut..
  • Cod sursa (recomandat pastebin.com) : -
  • Alte detalii : Re

DRmdfgp.png

Link to comment
Share on other sites

Cand creezi contul jucatorului ii setezi variabila de Payday la 3600, si o scazi din secunda in secunda.

Cand a ajuns la 0 ii dai Payday si ii setezi variabila inapoi la 3600.

Respecta si vei fi respectat.

 

BigInt Pawn:

Pacman C++: 

Snake C++:

Minesweeper C++:

 

mattbb.cash

leaks.ro

Link to comment
Share on other sites

  • Administrator
Acum 58 minute, iMatt a spus:

Cand creezi contul jucatorului ii setezi variabila de Payday la 3600, si o scazi din secunda in secunda.

Cand a ajuns la 0 ii dai Payday si ii setezi variabila inapoi la 3600.

Nu cred ca a inteles ce are de facut :)))

 

Hai sa-ti explic.

 

1. Adaugi la pInfo, variabila

pPaydayTime

2. Cand se inregistreaza un jucator, ii setezi o valoare si o salvezi in baza de date.

// bla bla bla

PlayerInfo[playerid][pPaydayTime] = 60 * 60;

new gQuery[128];
mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]);
mysql_tquery(SQL, gQuery, "", "");

3. Creezi un timer cu y_timers pentru o optimizare mai buna

ptask oneSecondTimer[1000](playerid)
{
	if(IsPlayerConnected(playerid))
	{
		if(PlayerInfo[playerid][pPaydayTime] > 0)	
		{
			-- PlayerInfo[playerid][pPaydayTime];
			// aici faci un textdraw pe care-l formatezi

			if(PlayerInfo[playerid][pPaydayTime] <= 0)
         	{
             	PlayerInfo[playerid][pPaydayTime] = 60 * 60;
 				
                // salvezi                                    
                new gQuery[128];
				mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]);
				mysql_tquery(SQL, gQuery, "", "");    
                                                     
                // aici ii dai paydayul 
                                                     
            }                                         
		}
	}
	return 1;
}

4. Faci o functie ca sa salvezi paydaytime-ul in caz ca se deconecteaza:

function savePaydayTime(playerid)
{
	new gQuery[128];
	mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]);
	mysql_tquery(SQL, gQuery, "", "");   
	return 1;
}

5. Aplici functia creata mai sus la public-ul OnPlayerDisconect

public OnPlayerDisconnect(playerid, reason)
{
	// codurile tale

	if(IsPlayerConnected(playerid))
	{
		savePaydayTime(playerid);
	}

	return 1;
}

6. Incarci paydaytime la functia care extrage datele unui jucator din baza de date la conectare

PlayerInfo[playerid][pPaydaytime] = cache_get_field_content_int(0, "PaydayTime");

Si la final, adaugi in baza ta de date, "PaydayTime de INT"

 

? 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...