Jump to content

LeetRomania

Membru
  • Posts

    87
  • Joined

  • Last visited

Posts posted by LeetRomania

  1. Salutare, doresc cand un player se conecteaza pe server, masinile personale sa i se spawneze. 

    Eu am ceva de genul cand se conecteaza:

    if(playerVariables[playerid][pCarKey1] != 0) SpawnPlayerCar(playerVariables[playerid][pCarKey1]);

    iar functia SpawnPlayerCar este asta:

    stock SpawnPlayerCar(dbid) 
    {
    	if(dbid != 0)
    	{
    		new car = CreateVehicle(carVariables[dbid][cModel], carVariables[dbid][cPos][0], carVariables[dbid][cPos][1], carVariables[dbid][cPos][2], carVariables[dbid][cRotate], carVariables[dbid][cColour][0], carVariables[dbid][cColour][1], -1);		    	
    		vPersonal[car] = dbid;	
    	}	
    	return 1;
    }

    Asta e ce am facut eu.. Problema este ca imi recunoaste masina, cand intru in ea zice ca este a mea.. doar ca o spawneaza undeva in camp, culorile nu sunt cele din baza de date. Aveti idee ce are? 

  2. Salut. Am facut comanda /park dar problema este ca masina cand se respawneaza nu se pune in pozitia corecta. (Angle)

    Se actualieaza corect. Nu asta e problema. Problema este ca nu o spawneaza cu rotatia corecta.

    new Float: fPos[4], Float: a;
    GetVehiclePos(vehicleid, fPos[0], fPos[1], fPos[2]);	
    GetVehicleZAngle(vehicleid, a);
    
    carVariables[vPersonal[vehicleid]][cPos][0] = fPos[0];
    carVariables[vPersonal[vehicleid]][cPos][1] = fPos[1];
    carVariables[vPersonal[vehicleid]][cPos][2] = fPos[2];
    carVariables[vPersonal[vehicleid]][cRotate] = a;
    
    vUpdate(vPersonal[vehicleid], cLocationXx);
    vUpdate(vPersonal[vehicleid], cLocationYx);
    vUpdate(vPersonal[vehicleid], cLocationZx);
    vUpdate(vPersonal[vehicleid], cRotatex);
    
    SetVehicleToRespawn(vehicleid);

    iar la OnVehicleSpawn:

    if(vPersonal[vehicleid])
    {
        	ChangeVehicleColor(vehicleid, carVariables[vPersonal[vehicleid]][cColour][0], carVariables[vPersonal[vehicleid]][cColour][1]);
    		SetVehiclePos(vehicleid, carVariables[vPersonal[vehicleid]][cPos][0], carVariables[vPersonal[vehicleid]][cPos][1], 			    carVariables[vPersonal[vehicleid]][cPos][2]);
    		SetVehicleZAngle(vehicleid, carVariables[vPersonal[vehicleid]][cRotate]);
    		Gas[vehicleid] = carVariables[vPersonal[vehicleid]][cFuel];
    	}

    Nu inteleg de ce o spawneaza diferit .

  3. 23 minutes ago, WopsS said:

    Ca sa ii dai kick fara sa apara pe chat, acolo unde ai facut acel strcmp pui direct functia Kick, daca nu pui mesajul si functia Kick (vezi ca mesajul nu o sa ajunga inainte de a scoate jucatorul de pe server).

    Poate nu ai inteles. Deci, doresc sa fie asa:

    Daca scrie /kick 0 Salut -> Playerul cu ID 0 sa primeasca kick si sa apara pe tot chatul ca a primit kick + reason: Salut. Stiu sa fac asta.

    Eu nu stiu cum as putea face ca daca scrie /kick 0 Salut | silent sa primeasca kick cu silent si sa apara doar la admini ca a primit kick.

  4. Salutare. As dori sa fac comanda /kick doar ca daca pun la reason | silent sa se primeasca kick cu silent.

    Eu am facut asa dar nu merge. Cand dau kick se pune reason | silent cand ar trebui sa nu se puna nimic. 

    Asta am facut:

    CMD:kick(playerid, params[])
    {
        if(playerVariables[playerid][pAdminLevel] >= 1 || playerVariables[playerid][pHelperLevel] >= 2)
    	{
    	    new id, reason[60], string[126];
    
        	if(sscanf(params, "us[60]", id, reason))
    		return S(playerid, COLOR_GREY,"Syntax: {FFFFFF}/kick [playerid] [reason]");
    
    		if(id == INVALID_PLAYER_ID)
    		return S(playerid, COLOR_GREY, "The specified player ID is either not connected or has not authenticated.");
    
    		if(playerVariables[playerid][pAdminLevel] < playerVariables[id][pAdminLevel])
    		return S(playerid, COLOR_GREY, "You can't kick an administrator witch have an admin level higher than you.");
    		
    		if(strcmp(reason, "| silent", true) == 0)
    		{
    		    return 1;
    		}
        }
        return 1;
    } 

     

  5. 10 minutes ago, WopsS said:

    Pai da, se apeleaza functia OnPlayerDeath cand revine in joc.

    Problema e ca daca un player este afk si trag in el pana maine dimineata cu un m4, cand revine nu ii scade viata deloc. 

  6. 19 minutes ago, WopsS said:

    Salut,

    Din cate stiu viata le scade cand revin din nou in joc.

    Da, dar e naspa. Pe alte servere am vazut ca se poate.. De exemplu daca un player este AFK si are wanted iar un cop merge sa-l omoare, pana nu intra playerul in joc, cop-ul nu primeste bonusul.. 

  7. Just now, [RW]Robi said:
    
    if(ora == 23 && minut == 59 && secunda == 59)
    	{
    		new str[256], sqlupdate[256], sqlcheck[512];
    
    		mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'");
        	mysql_tquery(handle, str, "","");
    
    		mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`");
    		new Cache: jucatori = mysql_query(handle, sqlcheck);
    		for(new i = 0, c = cache_get_row_count(); i < c; i++)
    		{
    			new id = cache_get_field_content_int(i, "ID");
    			new value = random(10);
    			mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id);
    			mysql_tquery(handle, sqlupdate, "", "");
    
    	      	for(new x = 0; x < MAX_PLAYERS; x++)
    			{
    				if(id == playerVariables[x][pID])
    				{
     					playerVariables[x][pQuest] = value;
    				}
    			}
    		}
    		cache_delete(jucatori);
    	}

    Schimba cu asta, 2. Ce face pQuestValue si de ce tot il setezi pe 0?

     

    Pe questvalue se salveaza cat a facut playerul respectiv. De ex daca foloseste comanda: /fish sa se puna un +1 iar la 00:00 sa se reseteze si aia. 

  8. On 1/21/2017 at 2:45 PM, [RW]Robi said:

    Cred ca inteleg ce vrei sa zici, ai adaugat la logare sa citeasca columnul din baza de date?

     

    Te referi la onplayerconnect? Eu am pus doar asta pe care mi-ai dat-o tu:

    if(ora == 23 && minut == 59 && secunda == 59)
    	{
    		new str[256], sqlupdate[256], sqlcheck[512];
    
    		mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'");
        	mysql_tquery(handle, str, "","");
    
    		mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`");
    		new Cache: jucatori = mysql_query(handle, sqlcheck);
    		for(new i = 0, c = cache_get_row_count(); i < c; i++)
    		{
    			new id = cache_get_field_content_int(i, "ID");
    			new value = random(10);
    			mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id);
    			mysql_tquery(handle, sqlupdate, "", "");
    
    	      	for(new i = 0; i < MAX_PLAYERS; i++)
    			{
    				if(id == playerVariables[i][pID])
    				{
    					playerVariables[i][pQuestValue] = 0;
    					Update(i, pQuestValuex);
    
     					playerVariables[i][pQuest] = value;
    				}
    			}
    		}
    		cache_delete(jucatori);
    	}

     

  9. 9 hours ago, [RW]Robi said:

    Nu are cum, probabil nu te-ai exprimat tu bine.

     

    Serios. 

    Deci daca nu sunt playeri online pe server, la ora 00:00 se reseteaza la toti pQuest si pQuestValue.

    Daca intru pe server doar cu un cont, mie imi modifica variabilele dar la ceilalti offline nu le mai modifica.

    Daca sunt 2 sau mai multi playeri online, la fel, modifica doar la ID 0 variabilele iar la ceilalti ramane la fel. 

  10. 21 hours ago, [RW]Robi said:
    
    if(ora == 23 && minut == 59 && secunda == 59)
    	{
    		new str[256], sqlupdate[256], sqlcheck[512];
    
    		mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'");
        	mysql_tquery(handle, str, "","");
        	
    		mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`");
    		new Cache: jucatori = mysql_query(handle, sqlcheck);
    		for(new i = 0, c = cache_get_row_count(); i < c; i++)
    		{
    			new id = cache_get_field_content_int(i, "ID");
    			new value = random(10);
    			mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id);
    			mysql_tquery(handle, sqlupdate, "", "");
    			for(new i = 0; i < MAX_PLAYERS; i++)
    			{
    				if(IsPlayerConnected(i))
    				{
    					if(id == PlayerInfo[i][pSQLID]) // in gamemode presupun ca ai o variabila care iti incarca ID-ul din SQL, daca nu e pSQLID, schimba cu variabila care ti-l incarca.
    					{
    						playerVariables[i][pQuestValue] = value;
    					}
    				}
    			}
    		}
    		cache_delete(jucatori);
    	}

     

    A aparut o problema. Daca un player este conectat, doar lui ii seteaza noua variabila cu random. La ceilalti nu, de ce oare? 

    Problema este doar cand un player este conectat. Daca nu este nimeni conectat se modifica la fiecare player, daca este cineva conectat doar la acel player. De ce? 

  11. On 1/21/2017 at 2:21 AM, [RW]Robi said:
    
    if(ora == 23 && minut == 59 && secunda == 59)
    	{
    		new str[256], sqlupdate[256], sqlcheck[512];
    
    		mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'");
        	mysql_tquery(handle, str, "","");
        	
    		mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`");
    		new Cache: jucatori = mysql_query(handle, sqlcheck);
    		for(new i = 0, c = cache_get_row_count(); i < c; i++)
    		{
    			new id = cache_get_field_content_int(i, "ID");
    			new value = random(10);
    			mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id);
    			mysql_tquery(handle, sqlupdate, "", "");
    			for(new i = 0; i < MAX_PLAYERS; i++)
    			{
    				if(IsPlayerConnected(i))
    				{
    					if(id == PlayerInfo[i][pSQLID]) // in gamemode presupun ca ai o variabila care iti incarca ID-ul din SQL, daca nu e pSQLID, schimba cu variabila care ti-l incarca.
    					{
    						playerVariables[i][pQuestValue] = value;
    					}
    				}
    			}
    		}
    		cache_delete(jucatori);
    	}

     

    Rezolvat, multumesc. 

  12. Salut, as dori ca ce se updateaza in baza de date sa se updateze si in joc.

    Eu am facut asa:

    if(ora == 23 && minut == 59 && secunda == 59)
    	{
    		new str[256], sqlupdate[256], sqlcheck[512];
    
    		mysql_format(handle, str, sizeof(str), "UPDATE `players` SET `QuestValue` = '0'");
        	mysql_tquery(handle, str, "","");
        	
    		mysql_format(handle, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `players` ORDER BY `ID`");
    		new Cache: jucatori = mysql_query(handle, sqlcheck);
    		for(new i = 0, c = cache_get_row_count(); i < c; i++)
    		{
    			new id = cache_get_field_content_int(i, "ID");
    			new value = random(10);
    			mysql_format(handle, sqlupdate, sizeof(sqlupdate), "UPDATE `players` SET `Quest`='%d' WHERE `ID`='%d'", value, id);
    			mysql_tquery(handle, sqlupdate, "", "");
    		}
    		cache_delete(jucatori);
    
    
    		for(new i = 0; i < MAX_PLAYERS; i++)
    		{
    			if(IsPlayerConnected(i))
    			{
    				playerVariables[i][pQuestValue] = 0;
    				Update(i, pQuestx);
    
    				playerVariables[i][pQuest] = playerVariables[i][pQuest];
    				Update(i, pQuestx);
    			}
    		}
    	}

    Problema este ca nu se updateaza pe loc si in joc. 

  13. 22 hours ago, [RW]Robi said:

    Hai ca ai noroc, mi-a venit o idee acum.

    
    new ora,minute,secunde;
    gettime(ora, minute, secunde);
    if(ora == 0)
    {
    	new sqlupdate[256],sqlcheck[512];
    	mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`");
    	new Cache: jucatori = mysql_query(SQL, sqlcheck);
    	for(new i = 0, c = cache_get_row_count(); i < c; i++)
    	{
    		new id = cache_get_field_content_int(i, "ID");
    		new value = random(10);
    		mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id);
    		mysql_tqueyr(SQL, sqlupdate, "", "");
    	}
    	cache_delete(jucatori);
    }

     

    A mers. Multumesc mult. Primesti +1 de la mine. Doar mai raspunde-mi la o intrebare. Daca am random 10 imi pune numerele de la 1-10 sau de la 0 la 9? 

  14. 3 minutes ago, [RW]Robi said:

    Hai ca ai noroc, mi-a venit o idee acum.

    
    new ora,minute,secunde;
    gettime(ora, minute, secunde);
    if(ora == 0)
    {
    	new sqlupdate[256],sqlcheck[512];
    	mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`");
    	new Cache: jucatori = mysql_query(SQL, sqlcheck);
    	for(new i = 0, c = cache_get_row_count(); i < c; i++)
    	{
    		new id = cache_get_field_content_int(i, "ID");
    		new value = random(10);
    		mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id);
    		mysql_tqueyr(SQL, sqlupdate, "", "");
    	}
    	cache_delete(jucatori);
    }

     

    Testez acum. 

  15. On 1/21/2017 at 1:18 AM, [RW]Robi said:

    numele columnului `ID` care este egal cu 1, nu sunt sigur ca intelegi...

    Daca IDUL in baza de date este 1 (primul inregistrat) acesta va primii acea valuta random in Columnulul pe care-l setezi, in cazul nostru NumeColumn.

    Stii, faza e ca vreau sa fac sa fie pentru fiecare player nu doar pentru contul cu ID-ul 1 in baza de date. 

  16. On 1/21/2017 at 1:13 AM, [RW]Robi said:

    E cam complicat, trebuie sa pui o cerinta ca sa nu fie pentru toti playeri la fel, de exemplu daca are id in baza de date egal cu 1, codul va functiona.

    
    new ora,minute,secunde;
    gettime(ora, minute, secunde);
    if(ora == 0)
    {
    	new sqlupdate[256];
    	new value = random(10);
    	mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `id`='1'",value);
    	mysql_tqueyr(SQL, sqlupdate, "", "");
    }

     

    eu am variabila pentru id-ul contului ID

    ce inseamna acel `id` = '1'? Ce este id? 

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.