Jump to content

Syntetick

Membru
  • Posts

    84
  • Joined

  • Days Won

    7

Posts posted by Syntetick

  1. 18 minutes ago, Dennis12. said:

    Salut! 

    Nu o spun din rautate, dar nu recomand pe niciunul de mai sus inafara de @Syntetick, el mai stie ceva, dar nu e la zi nici el cu tot ce inseamna PAWN ( yao syntetick brother :)) ). Trecand peste micile glumite sa zic asa sa trecem la partea serioasa, zic. Dunt vechi in domeniu, aproximativ 4 ani si sunt in masura sa imi creez anumite pareri despre anumiti oameni de pe aceasta minunata comunitate de samp. 

    Ofer servicii PAWN de aproximativ 3 ani ( calitative in adevaratul sens al cuvantului de 2 ani, dar acestea sunt detalii mai putin importante .. ), ideea e ca daca arunci un ochi pe canalul meu de youtube ( sunt pe telefon si nu pot lasa link ) poti observa de ce sunt capabil. Sunt dispus sa lucrez contra-cost, daca doresti sa iti fac un gamemode de la 0 pe placul tau ( eu nu am mai lucrat la moduri RP pana acum, doar RPG, dar eu nu ma voi ocupa de administratea serverului, doar de partea tehnica. Asadar si prin urmare, daca esti dispus sa ma platesti iti pot creea un gamemode roleplay pe placul tau, capabil pentru cantitati mari de jucatori, dispun si de un cont bancar. Ma poti cauta pe Discord: Dennis12#6604 sau printr un PM( Private Message ) pe forum, aici, nu mai folosesc skype de foarte multa vreme, astept mesajul tau si vorbim tot ce vrei acolo.

    oho denis, ai lua duma cu asadar si prin urmare de la madalin

    da io nu mai skriptez

  2. Banuiesc ca ai pus plugin-urile in folderul "plugins".

    Intra in server.cfg iar sub 'hostname' sau 'filterscripts' pune 'plugins' si pune numele pluginurilor (exemplu: plugins streamer sscanf);

    daca ai serverul pe linux pui cu extensia .so la sfarsit.

    Daca tot nu iti merg baga crashdetect si lasa aici server-log.

  3. Această funcție, ”LocalSay” a fost creeată de mine și este înlocuitorul a "ProxDetector" mult mai bine făcut.

    Am folosit GetPlayerPoolSize să îl poată folosi toată lumea (e o funcție nativă din a_samp deci toată lumea îl are) însă voi puteți folosi foreach și iteratori.

    function LocalSay(playerid, Float:radius, string[], color) {
    	for(new i = 0; i <= GetPlayerPoolSize(); i++) {
    	    new Float:x, Float:y, Float:z;
    	    GetPlayerPos(playerid, x, y, z);
    	    if(IsPlayerInRangeOfPoint(i, radius, x, y, z))
    	        return SendClientMessage(i, color, string);
    	    else return true;
    	}
    	return true;
    }
                                               
                                               
    // pentru cei care nu au definit "function"
                                               
                                               
     forward LocalSay(playerid, Float:radius, string[], color);
     public LocalSay(playerid, Float:radius, string[], color) {
    	for(new i = 0; i <= GetPlayerPoolSize(); i++) {
    	    new Float:x, Float:y, Float:z;
    	    GetPlayerPos(playerid, x, y, z);
    	    if(IsPlayerInRangeOfPoint(i, radius, x, y, z))
    	        return SendClientMessage(i, color, string);
    	    else return true;
    	}
    	return true;
    }                             

     

  4. 35 minutes ago, Dennis12. said:
    
    stock setPlayerDataInt(playerid, PInfo:pVar, dbField[32], value)
    {
    	new string[128];
    	PlayerInfo[playerid][pVar] = value;
    	mysql_format(SQL, string, 128,"UPDATE `users` SET `%s`='%d' WHERE `ID`='%d' LIMIT 1",dbField, PlayerInfo[playerid][pVar],PlayerInfo[playerid][pSQLID]);
    	mysql_pquery(SQL, string, "", "");
    }

    By Maurice mai usor si face cam accelasi lucru.

     

    În cazul string-ului nu merge această funcție, parcă era cu strmid la string. Mă rog, merge și așa la integer, dar eu am făcut și pt. float și pt. string și pt integer.

     

    edit: acum mi-am dat seama ca a facut 3 functii, scz.

  5. Acest tutorial a fost STRICT făcut pentru jucătorii care încă folosesc bigzone sau încă mai au query-update de forma aceasta:

    #define pNoobx	1
    
    Update(playerid, pNoobx);

    Reveniți-vă fraților! Sper ca din acest tutorial să schimbe majoritatea modul de query update. Această metodă este una simplă, făcută de mine, probabil a mai făcut lumea query update asemănător cu al meu.

    Acest tutorial este compatibil cu ORICE GAMEMODE.

    Pentru început, trebuie să aveți conexiune MySQL între server și baza de date, tutorial pentru acest lucru  puteți găsi pe net, sunt foarte multe.

    Eu vă voi explica query update pentru tabelul „users„ sau „accounts„ din baza de date. Dacă aveți alt nume la tabel modificați codul scris de mine.

     

    // 1 - integer
    // 2 - float
    // 3 - string
    
    // (codul de mai sus nu este obligatoriu să-l scrieți, doar v-am scris în caz că nu vă descurcați.
    
    // pentru a nu ne complica cu forward-uri si public-uri, folosim acest cod și ne ușurează viața.
    
    
    #define function%0(%1) forward %0(%1); public %0(%1)
    
    new iString [ 145 ];
    
    // iar acum codul în sine
      
    function Update(playerid, type, var[], var2[]) {
    	iString [ 0 ] = '\0';
    	
    	switch(type) {
    		case 1: mysql_format(numele_bazei_de_date, iString, sizeof iString, "UPDATE `users` SET `%s` = '%d' WHERE `ID` = '%d'", var, var2, playerid), 		mysql_tquery(numele_bazei_de_date, iString, "", "");
    		case 2: mysql_format(numele_bazei_de_date, iString, sizeof iString, "UPDATE `users` SET `%s` = '%f' WHERE `ID` = '%d'", var, Float:var2, playerid), 		mysql_tquery(numele_bazei_de_date, iString, "", "");
    		case 3: mysql_format(numele_bazei_de_date, iString, sizeof iString, "UPDATE `users` SET `%s` = '%s' WHERE `ID` = '%d'", var, var2, playerid), 		mysql_tquery(numele_bazei_de_date, iString, "", "");
    
    	}
    	return true;
    }

    * Testat pe partea de cod (nicio eroare / warning)

    * Netestat pe joc (daca nu functioneaza cum trebuie postati aici)

    * Nu aveți voie de funcții suplimentare pentru a rula acest cod.

     

    Ce am făcut eu mai exact?

    - parametrul „type„ are 3 valori în cazul nostru, iar eu la fiecare valoare am modificat modul în care se face actualizarea query-ului (nu știu dacă m-am exprimat bine). Cele 3 moduri sunt integer, float și string (3 variabile din PAWN).

    - parametrul „var„ reprezintă câmpul din baza de date, de exemplu (Money).

    - parametrul var2 este variabila din joc, care este integer, float sau string.

     

    Exemplu:

     

    Update( playerid, 1, "Money", playerVariables[ playerid ] [ pCash ] );

     

    de unde:

    1 - tipul (in cazul nostru integer), așa numitul ”type„

    "Money" - câmpul din baza de date, așa numitul "var"

    "playerVariables[ playerid ] [ pCash ]" - variabila din gamemode, așa numitul "var2"

  6. Încă mai aveți moduri primitive de a actualiza query-urile, wtf man. Și cu minimul de cunoștiințe, nici măcar, pe wiki.sa-mp.com sau .ro găsești toate funcțiile pentru această comandă banală, nu îl putem numi sistem, sunt foarte grele funcțiile de baza din samp, GivePlayerMoney, IsPlayerInRangeOfPoint și așa mai departe. Îmi vine să-mi arunc PC-ul pe fereastră când văd așa ceva, propun ca înainte de a posta un tutorial să fie aprobat de către un administrator / moderator că ne facem de râs toată țara.

    • Like 1
    • Sad 1
×
×
  • 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.