Jump to content

Gabi21

Membru
  • Posts

    95
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Gabi21

  1. 11 minutes ago, Valentin98 said:

    Daca stiam sa repar, nu mai lasam mesaj, nu stiu cum sa fac

    Nu e bug, nu e nicio problemă. 

    Caută ”groupss” și ”roadBlock” și șterge-le sau pur și simplu, folosește-le undeva.

    Apropo, nu are cum să fie asta problema cu deschiderea server-ului pe localhost.

  2. Nu contează platforma pe care o folosești, un site nu e apreciat că folosește laravel sau codeigniter.

    Știi să folosești mai bine codeigniter decât laravel și vrei un proiect de succes? Atunci folosește codeigniter.

    Nu vă mai alegeți platformele doar după părerile altora.

  3. Mai exact, în momentul în care intră/iese bagi asta:

    TogglePlayerControllable(playerid, 0);
    SetTimerEx("UnFreezeEnter", 5000, false, "i", playerid);

    Apoi, faci o funcție

    function UnFreezeEnter(playerid) {
    	TogglePlayerControllable(playerid, 1);
    	return 1;
    }

    O să primească freeze timp de 5 secunde.

  4. Îți explică el destul de clar ce trebuie să faci, ideea e că tu dacă vrei să-l bagi la tine pe server, trebuie să modifici tot ce ține de bani.

    Dacă vrei să-l bagi pe un gamemode de la 0, treaba e destul de simplă.

    Bagi include-ul lui, faci o variabilă nouă ex: new Bani[MAX_PLAYERS], Miliarde[MAX_PLAYERS];

     

    Ca să bagi bani în variabilă ai

     

    CMD:addmoney(playerid, params[])
    {
    	new mon;
    	if(sscanf(params, "d", mon)) return SCM(playerid, -1, "/addmoney <Money>");
    	AddBigInt(Miliarde[playerid], Bani[playerid], mon);
    	new str[256];
    	format(str, 256, GetBigInt(Miliarde[playerid], Bani[playerid]));
    	SCM(playerid, -1, str);
    	return 1;
    }

     

    Ca să scoți

    CMD:delmoney(playerid, params[])
    {
    	new mon;
    	if(sscanf(params, "d", mon)) return SCM(playerid, -1, "/delmoney <Money>");
    	SubstractBigInt(Miliarde[playerid], Bani[playerid], mon);
    	new str[256];
    	format(str, 256, GetBigInt(Miliarde[playerid], Bani[playerid]));
    	SCM(playerid, -1, str);
    	return 1;
    }

     

    Ca să verifici dacă are suma

     

    if(!SubstractBigInt(PlayerInfo[playerid][pMStore], PlayerInfo[playerid][pMoney], suma pe care sa o aiba))
    	return SCM(playerid, -1, "Nu ai suma");
    if(SubstractBigInt(PlayerInfo[playerid][pMStore], PlayerInfo[playerid][pMoney], suma pe care sa o aiba))
    	return SCM(playerid, -1, "Ai suma");

     

    Ca să afișezi

    new str[256];
    format(str, 256, GetBigInt(Miliarde[playerid], Bani[playerid]));
    SCM(playerid, -1, str);

     

  5. 1 hour ago, St3f4n36 said:

    Faza e ca nu prea am multe cunostinte :( si incerc si eu, daca m ar putea ajuta cineva sau ceva ar fii bine si as putea "evolua" si eu. Mersi oricum , dar daca imi poti da o parere despre cum sunt sistemele.

    În sine, sistemele funcționează, dar nu perfect.

    Ce-i drept, nu e obligatoriu ca un sistem să fie perfect, trebuie să funcționeze, da la tine sunt lucruri vizibile.

    Spre exemplu, la /svf stock urile ori nu se updatau, ori se afișa text ul greșit.

    La fel și când s-a deschis dialog ul la SI, arăta ”Stock”, nu o sumă.

    Pe partea de optimizare, ai câteva tutoriale pe net, te sfătuiesc să te uiți, o să te ajute. 

    Încearcă să folosești timerele cu cap, nu să ai în timer if(!IsPlayerInAnyVehicle(i)) HideSpeedoTD(i), etc.

    Gândește-te că într-un timer făcut pe player, el se apelează ori la o secundă(cel mai des), sau la câte secunde l-ai pus să ruleze, apoi îți dai seama singur ce încarcă de acolo. Gândește un sistem care să funcționeze și să nu facă lag, fiecare request cerut serverului face ca tick urile să scadă.

  6. Salut, m-am uitat la ultimul tău video de pe youtube și am văzut că server-ul are 167 de tickuri și ești doar tu pe server, asta e o problemă.

    Îți recomand să mai studiezi partea de optimizare.

    Revin cu un edit, m-am uitat de curiozitate și la videoclipul cu /svf, și acolo ai câteva probleme. ^.^

    Mult succes în continuare.

  7. Nu înțeleg de ce funcția ta ia în funcție de sizeof(Trufs), or să apară probleme dacă în baza de date sunt mai puține, multe or să se creeze o coordonată invalidă.

    Ești sigur că mașinile tale de facțiune sunt stocate în ServerVehicles?

    Sigur mașinile ajung în vw 0? Verifică cum se apelează setvehicle la comanda /attack, de fapt, dă-ne și comanda attack.

  8. Nu știu la ce te referi exact, dar poți folosi o variabilă, gen PlayerInfo[playerid][SpawnType].

    Poți face comanda /spawnchange

    YCMD:spawnchange(playerid) {
    	if(PlayerInfo[playerid][SpawnType] == 1)
    		PlayerInfo[playerid][SpawnType] = 2;
    	else
    		PlayerInfo[playerid][SpawnType] = 1;
    	SendClientMessage(playerid, -1, "Spawn-ul tau a fost schimbat cu succes.");
    	return 1;
    }

    Apoi, la OnPlayerSpawn verifici

     

    if(PlayerInfo[playerid][SpawnType] == 1) {
    	SetPlayerPos(playerid, posspawn1x, posspawn1y, posspawn1z);
    	SetPlayerFacingAngle(playerid, posspawn1z);
    } else {
    	SetPlayerPos(playerid, posspawn2x, posspawn2y, posspawn2z);
    	SetPlayerFacingAngle(playerid, posspawn2z);
    }

     

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