Jump to content

Rayan

Membru
  • Posts

    198
  • Joined

  • Last visited

Posts posted by Rayan

  1. Salut, cand un jucator moare, i se creaza un Dynamic3DTextLabel

    new Text3D:DeadScris[MAX_PLAYERS],
    OnPlayerDeath :
    
    DeadScris[playerid] = CreateDynamic3DTextLabel("{337BF0}[dead]", COLOR_WHITE, 0, 0, -20, 20, playerid);
            Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL, DeadScris[playerid] , E_STREAMER_ATTACH_OFFSET_Z, 0.31);

    Ii ramane acel mesaj deasupra capului cu [dead] pana se executa OnPlayerSpawn , daca jucatorul e afk nu se exeuta si ramane cu [dead] la nume, e ok, insa, chiar daca nu e  afk , si se executa OnPlayerSpawn nu i se sterge acel text acel dynamic3dtexttabel, habar nu am de ce.

    OnPlayerSpawn:

    DestroyDynamic3DTextLabel(DeadScris[playerid]);
  2. Am incercat cu SetPlayerHealth(playerid, 1.0); si merge, il spawneaza, insa, daca acesta e omorat de cineva, nu merge.

    Am ceva de genu in Publicul OnPlayer Death:

    {
    	if(killerid != INVALID_PLAYER_ID)
    	{
    		SetPlayerHealth(playerid, 1.0); //nu functioneaza
    		killerid = INVALID_PLAYER_ID;
    	}
    	SetPlayerHealth(playerid, 1.0); // functioneaza
    	return 1;
    
    }

     

  3.  

    Acum 3 ore, CritteR a spus:

    Deci jucatorul moare pentru server, dar nu si la client? Daca ii se declanseaza OnPlayerDeath(), atunci poti sa ii pui acolo un respawn si sa ii scoti armele.

    Practic moare, OnPlayerDeath e chemat, insa jucatorul apare pentru toti ceilalti mort, insa el apare cu bara licărind si poate omora player, in cazul in care execut atunci cand e buguit o comanda gen /sethp nume 100 primeste automat respawn.

  4. Am o problema imensa la server, nu stiu cum au rezolvat-o serverele mari.. deci cand un jucator moare, cateodata jucatorul practic e mort (asa arata la jucatorii din jur) insa daca vrea sa traga sau altceva, poate omora un jucator fara sa il vede.

    Am citit despre acest bug fiind prezent pe multe servere, am incercat cateva lucruri spuse de altcineva:

    Am incercat sa fac un timer de o  secunda la OnPlayerDealth ca atunci cand jucatorul are hp < 1 sa ii aplice aceasta animatie

    ApplyAnimation(playerid, "PED", "KO_shot_front",4.1,0,1,1,1,1);

     

    Insa degeaba, am incercat sa fac si o variabila gen, Alive[playerid] = 1 este viu si am setat pe la setplayerspawn/onplayerspawn si la Onplayerdeath am pus Alive[playerid] = 0, si am incercat sa ma folosesc de chestia asta insa degeaba.

    Chiar nu am habar cum pot rezolva acest bug...

  5. Acum 20 minute, AddisoN a spus:

    Linia asta 

    
    strdel(playername, startdel+1, dellenght);

    Schimbo asa 

    
    strdel(playername, startdel, dellenght);

    Done am schimbat, insa imi schimba numele doar cand tag-ul e la inceput, ex: [RE]RedGun , daca e RedGun[RE] nu se schimba/sterge nimic, ramane intact.

  6. Acum 1 minut, AddisoN a spus:

    Daca ai Nume[tag] ce sterge?si la [tag]Nume iara ce sterge

    Daca am ex: [RE]RedGun, imi schimba numele in [RedGun 

    Daca am numele RedGun[RE], mi-l schimba in RedGun[RE] - nu mi-l schimba deloc.

    Ce e in [ ] e tag-ul inclusiv parantezele patrate.

    Si de ex daca fac si asa .stf e clanul, .stfRedGun - ramane .RedGun (punctul ramane, stf se sterge);

    Daca e RedGun.stf - nu mi-l schimba, ramane RedGun.stf

  7. Acum 7 minute, AddisoN a spus:

    Sper ca folosesti doar un for pt asta nu cum ai pis mai sus 2 for-uri unu cu o metoda si celalt cu alta. Ar trebuie sa functioneze pt ca strfind returneaza cate caractere sunt pana gaseste stringul indicat, strlen retuneaza lungimea tagului si cu strdel stergi de unde incwpe tagul X caractere in fct de nr de caractere al tagului. Din pacate nu pot acesa pc ul ca sa testez eu

    Nup, nu am doua for-uri, am doar unul. doar asta folosesc

    for(new clanid; clanid < MAX_CLANS; clanid++)
        {
            if(strfind(playername,ClanInfo[clanid][cClanTag],true) != -1)
            {
                new startdel = strfind(playername,ClanInfo[clanid][cClanTag],true);
                new dellenght = strlen(ClanInfo[clanid][cClanTag]);
                strdel(playername, startdel+1, dellenght);
                SetPlayerName(playerid, playername);
                withouctag[playerid] = 1;
            }
        }

  8. Acum 20 minute, AddisoN a spus:

    Mda greseala mea, asa trebuie sa fie linia new startdel = strfind(playername,ClanInfo[clanid][cClanTag],true);

    pentru tag-ul la sfarsit nu functioneaza, executa doar de la cel de la inceput, insa e si mai buguit acum :)) , gen [TAG]Nume, sterge tot si ramane doar [ (paranteza)

  9. Acum 2 ore, AddisoN a spus:
    
    incearca asa

    habar nu am ce are, am pus ; si da erroare aia, cand nu era pusa ; tot errori dadea... 

    D:\gm\gamemode\gamemodes\exgaming.pwn(47017) : error 001: expected token: ";", but found ")"
    D:\gm\gamemode\gamemodes\exgaming.pwn(47017) : error 029: invalid expression, assumed zero
    D:\gm\gamemode\gamemodes\exgaming.pwn(47017) : warning 215: expression has no effect

     

    la  linia new startdel = strfind(playername,ClanInfo[clanid][cClanTag],true) != -1);

  10. Acum 4 ore, AddisoN a spus:

    for(new clanid; clanid < MAX_CLANS; clanid++) { if(new startdel = strfind(playername,ClanInfo[clanid][cClanTag],true) != -1)

    { new dellenght = strlen(ClanInfo[clanid][cClanTag]);

    strdel(playername, startdel+1, dellenght); SetPlayerName(playerid, playername); } }

     

    am incercat  insa mi se sterge doar daca am tagul in asa (ex: .tagName sau [tag]Name, daca e Name.tag sau Name[tag] se sterge aiurea totul)

    new startdel;
    for(new clanid; clanid < MAX_CLANS; clanid++)
    	{
    		if(strfind(playername,ClanInfo[clanid][cClanTag],true) != -1)
    		{
    			new dellenght = strlen(ClanInfo[clanid][cClanTag]);
    			strdel(playername, 0, dellenght);
    			SetPlayerName(playerid, playername);
    			withouctag[playerid] = 1;
    		}
    	}
    	for(new clanid; clanid < MAX_CLANS; clanid++)
    	{
    		if(strfind(playername,ClanInfo[clanid][cClanTag],true) != -1)
    		{
    			new dellenght = strlen(ClanInfo[clanid][cClanTag]);
    			strdel(playername, startdel+1, dellenght);
    			SetPlayerName(playerid, playername);
    			withouctag[playerid] = 1;
    		}
    	}

    am incercat sa folosesc cum mi-ai zis tu cu 'new strdel' dupa if(new startdel = ... ; insa nu merge, imi zice ca am uitat sa pun vreun ";" sau ")" insa am verificat si nu am uitat sa pun nici o paranteza sau ; , habar nu am cum ar trebui sa arate in final codul.

     

  11. Acum 1 oră, AddisoN a spus:

    Faci dellenght=strlen(ClanInfo[clanid][cClanTag]);

    daca variabila pnormalname contine si parantezele sau cum ai tu separat clantagul faci asa strldel(loginname,0,dellenght);

    Daca nu contine strldel(loginname,0,dellenght+X); unde X este nr de caractere care separa tagul de nume daca nu este continut in variabila pnormalname.Dupa setplayername si done

    Bun,mi-a iesit, insa doar pentru tag-ul de la inceput, gen [Tag]Nume, sterge toate [Tag], daca e Nume[Tag], sterge de la inceput, o sa fie: e[Tag], de ce?

    for(new clanid; clanid < MAX_CLANS; clanid++)
    	{
    		if(strfind(playername,ClanInfo[clanid][cClanTag],true) != -1)
    		{
    			new dellenght = strlen(ClanInfo[clanid][cClanTag]);
    			strdel(playername, 0, dellenght);
    			SetPlayerName(playerid, playername);
    		}
    	}

     

  12. Acum 5 ore, Banditul a spus:

    Nu vad unde setezi numele cu tag, dar am incercat sa fac ceva sa nu-ti mai seteze NULL

    
    for(new clanid; clanid < MAX_CLANS; clanid++){
    	if(strcmp(ClanInfo[clanid][cClanTag], "NULL", false) == 0){
    		SetPlayerName(playerid, PlayerInfo[playerid][pNormalName]);
    	}
    	else{
    		SetPlayerName(playerid, /*Numele cu tag*/);
    	}
    }

    Asta ar fi idea de baza , sa verifici daca ce se afla acolo e NULL si daca nu e sa-i setezi tag-ul

    Edit:

    
    if(strcmp(ClanInfo[PlayerInfo[playerid][pMember]][cClanTag], "NULL", false) == 0){
    		SetPlayerName(playerid, PlayerInfo[playerid][pNormalName]);
    	}
    	else{
    		SetPlayerName(playerid, /*Numele cu tag*/);
    	}

    Foloseste al doilea cod daca id-ul clanului este acelasi cu id-ul stocat in pMember. Adica mai pe scurt, daca id-urile clanurilor incep de la 1 si in pMember este stocat 1 pentru primul clan(s.a.m.d.)

    Nu-l schimba, ramane NULL, cineva mi-a zis sa folosesc functia "strdel" sa stearga clan tag-ul, insa nu am nicio idee cum sa folosesc in acel dialog de OnPlayerRequestClass

  13. Am incercat sa fac ca atunci cand un jucator se conecteaza cu un tag al unui clan sa ii schimbe numele in cel normal fara clan tag, insa nu stiu de ce nu merge.. imi schimba numele in 'NULL'

    Banuiesc ca ar trebui sa folosesc 'strdel' insa habar nu am cum se foloseste aceasta functie...faza e ca eu incarc la onplayerlogin PlayerInfo nu la acest public...poate ma puteti ajuta ..

    if(strfind(loginname,ClanInfo[clanid][cClanTag],true) != -1)
    				{
    					/*format(stringgg,sizeof(stringgg),"Nu poti folosi acel username. '%s' este inregistrat de un clan. Nu poti folosi acel cuvant in nickname-ul tau.",ClanInfo[clanid][cClanTag]);
    					SendClientMessage(playerid, COLOR_RED, stringgg);
    					format(stringgg,sizeof(stringgg),"You can't use that username! '%s' is a registered clan tag. You can't use that word in your nickname.",ClanInfo[clanid][cClanTag]);
    					SendClientMessage(playerid, COLOR_RED, stringgg);
    					KickEx(playerid);*/
    					SetPlayerName(playerid, PlayerInfo[playerid][pNormalName]);
    					SendClientMessage(playerid, COLOR_CYAN, "Trying to connect without clan tag...");
    					format(stringgg, sizeof(stringgg), "Name changed in: {FFFFFF}%s", PlayerInfo[playerid][pNormalName]);
    					SendClientMessage(playerid, COLOR_CYAN, stringgg);
    
    				}

     

  14. Acum 18 minute, Banditul a spus:

    Da , cele defautl care sunt setate, daca nu e nimic pus la default va fi null

     

    Ok si mai e problema aceasta

    Error ID: 1064, Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1
    Callback:
    gQuery: UPDATE users SET `CarLic`='1',`CarLicT`='10',`GunLic`='1',`GunLicT`='10',`FlyLic`='1',`FlyLicT`='10',`BoatLic`='1',`BoatLicT`='

    nu inteleg ce nu e pus bine..

    else if(TutTime[i] == 75)
    			    {
    			        TutTime[i] = 0; PlayerInfo[i][pTut] = 1;
    					gNews[i] = 0;
    					TogglePlayerControllable(i, 1);
    					SetCameraBehindPlayer(i);
    					TogglePlayerSpectating(i, 0);
    					SetPlayerSpawn(i);
    					PlayerInfo[i][pAccount] = 10000;
    					ResetPlayerCash(i);
    					GivePlayerCash(i,50000);
    					SetPlayerInterior(i,0);
    					SetPlayerVirtualWorld(i,0);
    					TogglePlayerControllable(i,true);
    					new str1[256];
    					mysql_format(SQL,str1,256,"UPDATE users SET `Tutorial`='1',`Bank`='10000',`Money`='50000' WHERE `name`='%s'",PlayerInfo[i][pNormalName]);
    					mysql_tquery(SQL,str1,"","");
    					//Bonus
    					GivePlayerCash(i, 500000);
    					PlayerInfo[i][pLevel] = 3;
    					Update(i, pCashx);
    					Update(i, pLevelx);
    					SetPlayerScore(i, PlayerInfo[i][pLevel]);
    					//Licences
    					PlayerInfo[i][pCarLic] = 1;
    			        PlayerInfo[i][pCarLicT] = 10;
    					PlayerInfo[i][pCarLicSuspend] = 0;
    					Update(i, pCarLicSuspendx);
    					PlayerInfo[i][pFlyLic] = 1;
    			        PlayerInfo[i][pFlyLicT] = 10;
    			        PlayerInfo[i][pBoatLic] = 1;
    			        PlayerInfo[i][pBoatLicT] = 10;
    			        PlayerInfo[i][pGunLic] = 1;
    			        PlayerInfo[i][pGunLicT] = 10;
    					PlayerInfo[i][pGunLicSuspend] = 0;
    					Update(i, pGunLicSuspendx);
    					new str[128];
    					mysql_format(SQL,str,128,"UPDATE users SET `CarLic`='1',`CarLicT`='10',`GunLic`='1',`GunLicT`='10',`FlyLic`='1',`FlyLicT`='10',`BoatLic`='1',`BoatLicT`='10' WHERE `name`='%s'",PlayerInfo[i][pNormalName]);
    					mysql_tquery(SQL,str,"","");
    					SS(i, COLOR_RUBY, "(Server) {FFFFFF}Ai primit level 3, $500,000 si toate licentele pentru 10 ore bonus de bun venit.", "(Server) {FFFFFF}You received level 3, $500,000 and all licences for 10 hours for welcome.");
    			    }

     

  15. 1 oră în urmă, Banditul a spus:

    Ai doua variante

    1:

    
    mysql_format(SQL,Str2,sizeof(Str2),"INSERT INTO `crimes` (`name`) VALUES ('%s')",playername3);

    Cu mentiunea ca trebuie sa ai setata o valoare default pentru crime(merge si fara, e putin mai naspa)

    2:

    
    mysql_format(SQL,Str2,sizeof(Str2),"INSERT INTO `crimes` (`name`,`Crime1`,`Crime2`,`Crime3`,`Crime4`,`Crime5`,`Crime6`,`Crime7`,`Crime8`,`Crime9`,`Crime10`,`Crime11`,`Crime12`,`Crime13`,`Crime14`,`Crime15`,`Crime16`,`Crime17`,`Crime18`,`Crime19`,`Crime20`) VALUES ('%s', 'Crima1', 'Crima2', 'Crima3', 'Crima4', 'S.A.M.D.')",playername3);

    Iti da eroarea pentru ca tu specifici toate coloanele, da ii dai doar 1 valoare dar el asteapta mai multe

    Daca folosesc prima varianta, cand jucatorul se inregistreaza, se insereaza automat crimele?

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