-
Posts
198 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by Rayan
-
-
Imi da warning
warning 213: tag mismatch warning 202: number of arguments does not match definition
concluzie nu merge, faza e ca am mai cautat in GM si e practic ok scrisa functia, insa nu ii sterge numele..
-
Am rezolvat, am pus-o deasupra tuturor codurilor. vad ca merge acum :-?
Insa chiar nu stiu, la ce se pune la final killerid = INVALID_PLAYER_ID daca deja if-ul e pus mai sus if(killerid != INVALID_PLAYER_ID)
-
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]);
-
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; }
-
idei, up
-
Ceva de genu este
-
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.
-
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...
-
Merge perfect, multumesc pentru atentie la amandoi!
Respect!
-
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.
-
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
-
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; } }
-
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)
-
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 effectla linia new startdel = strfind(playername,ClanInfo[clanid][cClanTag],true) != -1);
-
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.
-
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); } }
-
Acum 21 minute, AddisoN a spus:
Ti.am spus ca nu o sa mearga niciodata daca te legi de variabila pNormalName
Pai si prin ce modalitate pot face sa i se stearga tag-ul la clan?
-
Am incercat si cum zici tu @Banditul si @AddisoN, nu merge, poftim, am incercat 2 variante, la fel, imi schimba numele in 'NULL'
Prima varianta: https://pastebin.com/QX1sqLXP
A doua: https://pastebin.com/qA5nHUPi
..
-
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
-
Faza e ca eu la OnPlayerLogin incarac variabilele si tag-urile jucatorilor nu la login -.-, insa o sa incerc si revin
-
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); }
-
Mersi!
-
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."); }
-
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?
Comanda cmd:movebiz si un bug la ds
in Arhivă probleme
Posted · Edited by Rayan
In bigzone ai comanda /movehouse mi se pare, si poti sa inlocui pe acolo vezi ca ai [HouseInfo][hEnteranceX,Z,Y] si le inlocui cu [BizInfo][bEnteranceX,Y,Z]