Jump to content

Mister

Moderator
  • Posts

    1,884
  • Joined

  • Last visited

  • Days Won

    113

Everything posted by Mister

  1. Versiunea de mysql pe care o folosesti are mai multe fisiere .so, static sau simplu, incearca sa modifici in server cfg cu numele lor si dai un restart. din mysql.so in mysql_static.so sau daca mai este si alta varianta acolo si vezi care din ele merg.
  2. Salut, posteaza tot server logul nu doar o poza. Eventual fisierul notepad direct pentru a nu face spam cu tot codul din el.
  3. Salutare, Eroare primita spune ca nu se gaseste variabila respectiva declarata in gamemode, ori ai luat codul de undeva cu tot ca variabila aceea ori este scrisa gresit (o litera mare ceva gresit i inloc de L ) Daca vrei sa testezi codul in continuare, comenteaza linia cu // inainte, asta nu inseamna ca mai departe nu vei primi alte erori. if(InExamen[playerid] == 1) FailExamen(playerid);
  4. Mister

    help

    Salutare, Ai nevoie de urmatoarea functie https://sampwiki.blast.hk/wiki/DisableInteriorEnterExits
  5. Salut, Pentru eroare de mai jos pune deasupra comenzii sau pe la inceputul gamemode-ului #pragma tabsize 0
  6. Salutare, Intrebara mea este, jucatorilor de pe telefon nu li se incarca deloc mappingul sau doar cand sunt teleportati cad prin ea si apoi se incarca? Eu stiu ca atunci cand s a lansat versiunea de mp pentru telefon orice obiect creat prin dinamicobject sau createobject jucatorii de pe telefoane nu il vedeau
  7. Mister

    ajutor?

    Sa inteleg ca astea nu sunt erori? [20:48:10] [debug] Long callback execution detected (hang or performance issue) [20:48:10] [debug] AMX backtrace: [20:48:10] [debug] #0 00063114 in public L_AFKDETECT () in Wing.amx Pe langa celelalte de mai sus, dupa pluginuri si inainte sa se incarce Verifica functia asta L_AFKDETECT, nu pare sa fie un timer pentru ca este apelata la intervale neregulate. Si ma voi repeta dar cum nu aveai ''erori'' in serverlog poti sa mai verifici odata daca ai si #include crashdetect-ul? in gamemode trebuie sa fie primul plugin dupa a_samp logic, inainte de streamer si orice alt include, ar fi trebuit in eroarea citata de mine sa fie si linia cu problema, dar e posibil sa ma depaseasca unpic pentru ca e 0.3dl si am mai putin experienta pe el.
  8. Mister

    ajutor?

    Posteaza server log asa cum este, poate ajuta
  9. Mister

    ajutor?

    Salutare, Daca nu ai eroare in serverlog inseamna ca nu ai pluginul crashdetect. Baga in gamemode cu include crashdetect si la linia plugins din server cfg, compileaza, incearca comanda iar si revino cu eroarea din serverlog. Eventual si o poza din joc daca tot nu primesti nimic in serverlog.
  10. Salutare, Incearca sa folosesti functia https://open.mp/docs/scripting/callbacks/OnPlayerWeaponShot folosesti un if pentru hittype == BULLET_HIT_TYPE_VEHICLE apoi adaugi acel for pentru toti jucatorii, verifici in acel for daca jucatorul se afla in vehiculul lovit, GetPlayerVehicleID i == hitid si trimiti mesajul catre jucatorul i ca jucatorul playerid i a lovit masina Daca am scris gresit incearca si tu sa faci de la tine, eu ti am dat rapid un pseudocod din capul meu gandit rapid nu mura in gura, succes!
  11. Salutare, Aici problema nu mai tine de noi, suntem doar moderatori nu administratori, @WopsS sau @-=[Vyorel]=- te pot ajuta, in privat sau aici este decizia lor.
  12. Salutare, Cred ca pentru ceva mai simplu poti folosi ca exemplu urmatorul cod FunctieNouaSetPlayerPos(playerid, Float:x,Float:y,Float:z) { PlayerPosX [playerid]=x, PlayerPosY[playerid]=y, PlayerPosZ[playerid]=z; return SetPlayerPos(playerid, x,y,z); } #undef SetPlayerPos #define SetPlayerPos FunctieNouaSetPlayerPos Daca adaugi codul la inceputul gamemodeului, sau cel putin deasupra tuturor functiilor de SetPlayerPos prezente in gamemode, atunci ar trebui ca la fiecare teleport al playerului prin functie nativa SetPlayerPos, cele 3 variabile sa fie setate conform coordonatelor, mai departe faci ce vrei pentru alte functii.
  13. Salutare, La OnPlayerEnterCheckpoint, la fiecare DmvStage pe langa functia SetPlayerCheckpoint ai de asemenea functia DisablePlayerCheckpoint Poti incerca sa schimbi codul in ceva de genul pentru toate DmvStage-urile if(dini_Int(file, "DmvStage") == 1){ SetPlayerCheckpoint(playerid, 1311.3917,-1840.5356,12.9904, 10); dini_IntSet(file, "DmvStage", 2); } else if(dini_Int(file, "DmvStage") == 2){ SetPlayerCheckpoint(playerid, 1326.6887,-1734.6566,12.9904, 10); dini_IntSet(file, "DmvStage", 3); } Incearca sa le separi prin else if si sa stergi DisablePlayerCheckpoint, la ultimul Stage la 16 este ok sa fie DisablePlayerCheckpoint
  14. Salutare, Nu se cer scripturi, incerci si daca ai probleme postezi. Sau poti posta la cereri tutoriale ori la cautare servicii unde poti plati pe cineva sa te ajute.
  15. Salut, la instructiunea mysql ai o variabila comentata care este corespondenta pentru variabila Security /*, MD5_Hash(DEFAULT_PASSWORD)*/ Din ce se vede ai o parola predefinita, ai doua variante ori elimini comentariul si vei pune parola default ori elimini de tot variabila format(gQuery, sizeof(gQuery), "UPDATE users SET `Admin`='%d', `Security`='%s', `HelpedPlayers`='0' WHERE `ID`='%d'", PlayerInfo[id][pAdmin], MD5_Hash(DEFAULT_PASSWORD), PlayerInfo[id][pSQLID]); sau format(gQuery, sizeof(gQuery), "UPDATE users SET `Admin`='%d', `Security`=' ', `HelpedPlayers`='0' WHERE `ID`='%d'", PlayerInfo[id][pAdmin]/*, MD5_Hash(DEFAULT_PASSWORD)*/, PlayerInfo[id][pSQLID]);
  16. Salutare, Nu se cer scripturi, incerci si daca ai probleme sau erori postezi codul cu ce ai incercat si te ajutam.
  17. Salutare, Ar trebui sa ai o functie in gamemode de genul ProxDetector(Float: Raza, playerid, culoare, culoare... ) Daca nu, poti folosi un simplu for sau foreach daca ai. new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); foreach(Player,i)// for(new i=0; i< MAX_PLAYERS; i++) { if(IsPlayerInRangeOfPoint(i,100, X,Y,Z)) SendClientMessage(i,-1,"Mesaj"); }
  18. Salut, Nu se cer scripturi, incerci si daca ai probleme postezi erorile pentru a fi ajutat. De altfel exista o categorie speciala unde poti cere ajutor contra cost. https://www.sa-mp.ro/forums/forum/382-caut-servicii-partener-etc/
  19. Salutare, Posteaza public onplayerdisconnect Iar daca ai crashdetect verifica server log dupa ce iti pica
  20. Incearca sa pui la onplayerentervehicle urmatorul cod new carid = FindSpawnID(vehicleid); if(CarInfo[carid][Userid] == PlayerInfo[playerid][pSQLID]) { new objective; GetVehicleParamsEx(vehicleid,objective,objective,objective,objective,objective,objective,objective); SetVehicleParamsForPlayer(vehicleid,objective,0); }
  21. Salutare, Trebuie sa vedem o parte din cod, comanda /lock si partea de verificare unde intra in masina la onplayerstatechange sau onplayerentervehicle depinde cum e facut sistemul.
  22. am avut eu o greseala la a doua metoda if(StartedSprayOn[i] == id && i != playerid) Asa ar trebui sa fie linia aceea. Iar la prima metoda ai pus exact asa? fara else? if(CountWallSpray(h) > 1)
  23. Salutare, Ai nevoie de o variabila de genul, plasata pe la inceputul gamemodeului new CooldownCollect[MAX_PLAYERS]; Apoi la inceputul comenzii tale inaitne de new castig, o sa adaugi un if if(CooldownCollect[playerid] > 0) return SendClientMessage(playerid,-1,"Ai luat deja cadoul"); Iar la finalul comenzii tale inainte de return true; o sa setezi aceasta variabila in 120 sau cate secunde vrei sa astepte pana o poate folosi iar CooldownCollect[playerid] = 120; Mai ai nevoie de un timer de o secunda sau minute depinde cat de exact si cat de mult vrei dureze, unde o sa adaugi decrementarea variabilei intr un for sau foreach al jucatorilor if(CooldownCollect[i]> 0) CooldownCollect[i] --; Dar totul va fi local fara baza de date si nu va ramane salvat, daca vrei sa ramana salvat va trebuie sa creezi in baza de date variabila iar apoi sa faci incarcarea si salvarea acesteia ceea ce este unpic mai complicat.
  24. Salutare, Incearca sa modifici functia ca in exemplul de mai jos function CountWallSpray(id) { new count = 0; foreach(Player, i) if(StartedSprayOn[i] == id) count++; return count; } iar la verificare din comanda //else if(CountWallSpray(h) == 1) inloc de == 1 modifica in > 1 In functia ta doar verificai daca cineva foloseste comanda, iar rezultatul era pozitiv pentru ca tu foloseai comanda, mai poti modifica functia ta adaugand un parametru de id si apoi sa il excluzi in for astfel verifici daca mai este cineva in comanda de spray inafara de tine. Si poti face in felul urmator if(CountWallSpray(h,playerid) == 1) Iar la functie modifici in felul urmator function CountWallSpray(id,playerid) { foreach(Player, i) { if(StartedSprayOn[i] == id && id != playerid) return true; } return false; }
  25. Salutare, Verifica daca functia Update(playerid,pDarkPointsx); este corect scrisa ca in baza de date. Ultima varianta ar fi daca la logare alaturi de celelalte variabile din baza de date ai adaugat si pDarkPoints. De exemplu ar putea fi numita functia WhenPlayerLogin unde se incarca toate variabilele din baza de date. Eventual pune aici liniile de cod, unde se face incarcarea si salvarea a ce am zis eu mai sus sa vedem daca ai o greseala de sintaxa sau ceva de genul.
×
×
  • 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.