Jump to content

[RW]Robi

Membru
  • Posts

    292
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by [RW]Robi

  1. 1 oră în urmă, Geani a spus:

    da imi merge aia acum am altele erori la if(IsANRG(vid))

    function IsANRG(vehicleid)
    {
            if(vehicleid == 522) return 1;// 522 = nrg
        return 0;
    }

    pai spune ce eroare iti da ma omule.

     

  2. new Float:STUNTNRG[10][4] = {
    {1025.9944,1975.8160,11.3449},
    {1703.6294,2694.0879,10.8203},
    {1972.5380,927.4847,10.8203},
    {1938.6154,2184.8523,10.8203},
    {1682.1293,1913.6169,10.8203},
    {988.3104,1879.0475,11.3594},
    {1458.3400,2523.8979,10.8203},
    {2484.4036,1528.7244,10.9017},
    {2225.0576,2520.0786,10.8203},
    {1531.1907,2357.5469,10.8203}
    };

    Pe viitor fi atent la ce scrii, acum ar trebui sa mearga.

     

  3. Foloseste o variabila care sa iti citeasca daca lucrezi, ex:

    daca el tasteaza comanda work:

    CMD:work(playerid, params[])
    {
    	munceste[playerid] = 1;
    	return 1;
    }
    CMD:gps(playerid, params[])
    {
    	if(munceste[playerid] > 0) return SendClientMessage(playerid, -1, "Deja lucrezi, foloseste comanda /stopwork");
    	return 1;
    }
    CMD:stopwork(playerid, params[])
    {
    	if(munceste[playerid] == 1) { munceste[playerid] = 0; }
    	return 1;
    }

     

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

     

  5. Chiar acum, LeetRomania a spus:

    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. 

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

     

  6. Acum 35 minute, LeetRomania a spus:

    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? 

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

     

  7. 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);
    	}

     

    • Upvote 1
  8. La 1/19/2017 la 12:47, JustRed a spus:

    Nu am mai auzit așa ceva, să oprească LOOP-ul din prima.

    Păi și atunci cum verifici de exemplu valoarea lui i ?

     

    if(i == x)
    {

    SendClientMessage(playerid, -1, "S-a ajuns la numarul: x");
      break;
    }

     

    Si nu se mai face numărătoarea mai sus, de exemplu dacă avem un loop de la 1 la 100 odată ajuns la un număr se oprește la respectivul număr.

     

    Robică, te invit să faci o verificare la OnPlayerConnect și să pui return 1; 

    Din experiențele trecute vorbesc, nu mă aflu în treabă aiurea.

    return 1; opreste continuarea unui cod, break; opreste un for.

    Daca tu pui sus la OnPlayerConnect return 1; si mai jos ai variabile care sa se reseteze e si logic ca acele variabilele de la OnPlayerConnect nu se seteaza deoarece tu ai oprit continuarea.

    2.Nu cred ca esti omul potrivit care sa ma traga la raspundere sa fim seriosi.

  9. Acum 1 minut, LeetRomania a spus:

    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? 

    de la 0 la 10 sau 9, nu sunt sigur.

    Cer T/C acestui subiect si sa fie marcat ca rezolvat.

     

  10. Acum 1 minut, LeetRomania a spus:

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

    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);
    }

     

    • Upvote 1
  11. Chiar acum, LeetRomania a spus:

    eu am variabila pentru id-ul contului ID

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

    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.

  12. Chiar acum, LeetRomania a spus:

    Dar eu vreau sa fac si pentru playerii offline. Cum pot face asta?

    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, "", "");
    }

     

  13. Acum 2 minute, WopsS a spus:

    Faci o iteratie (for) care trece prin toti jucatorii si pentru fiecare jucator si faci un nou random pentru jucatorul respectiv.

    De exemplu folosesti la functia PayDay acest cod.

    new ora,minute,secunde;
    gettime(ora, minute, secunde);
    if(ora == 0)
    {
    	for(new i = 0; i < MAX_PLAYERS; i++)
    	{
    		if(IsPlayerConnected(i))
    		{
    			new value = random(10);
    			// value va fi diferit de alti jucatori, dar mai vor fi si cazuri in care variabila va fi egala cu a altor playeri, dar daca maresti randomul gen random(10000) nu prea sunt sanse sa fie la fel cu a altor jucatorii.
    		}
    	}
    }

     

  14. Chiar acum, bogdan@@@ a spus:

    CMD:clan(playerid,params[])
    {
        if(PlayerInfo[playerid][pClan] == 0) return  SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Nu faci parte dintr-un clan!");
        ShowPlayerDialog(playerid, DIALOG_CLAN_COMMAND, DIALOG_STYLE_LIST, "Clan:", "Comenzile clanului\nMembrii clanului\nSetari", "Selecteaza", "Iesi");
        return 1;
    }

    Incarca pe pastebin, dai edit, am scris sintaxa sql gresita. 

    Asta e cea buna:

    if(gPlayerLogged[playerid] > 0)
    {
    	new sqlupdate[512];
    	mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `Clan`='%d',`ClanRank`='%d' WHERE `id`='%d'",PlayerInfo[playerid][pClan],PlayerInfo[playerid][pClanRank],PlayerInfo[playerid][pSQLID]);
    	mysql_tquery(SQL, sqlupdate, "", "");
    }	
    • Upvote 1
  15. La OnPlayerLogin se incarca.

    foloseste acest cod la OnPlayerDisconnect

    if(gPlayerLogged[playerid] > 0)
    {
    	new sqlupdate[512];
    	mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `Clan`='%d',`ClanRank`='%d' WHERE `id`='%d'",PlayerInfo[playerid][pClan],PlayerInfo[playerid][pClanRank],PlayerInfo[playerid][pSQLID]);
    	mysql_tquery(SQL, sqlupdate, "", "");
    }	

     

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