Jump to content

Banditul

Moderator
  • Posts

    1,134
  • Joined

  • Last visited

  • Days Won

    96

Everything posted by Banditul

  1. Pawn nu e cunoscut pentru nu il foloseste nimeni, inafara de cs 1.6 si sa-mp, pawn e nicaieri. Si daca il consideri cel mai greu limbaj de programare te invit sa dai o tura prin Java. Daca vrei sa ramai in lumea IT, pawn e degeaba, fara c/c++/java sau c# (in partea de software), si fara javascript/html/css(poate putin php) in web development nu prea faci mult. Pawn e doar un limbaj implementat de valve pentru Half Life si folosit ulterior la cs 1.6 si acaparat de Kalcor in 2005 sa faca sa-mp, in rest pawn = 0(mai putin partea de logica care se aplica si in alte limbaje(if blocks, loops etc)). Pentru mine pawn a fost punctu de start in lumea programari si asta inseamna mult dar in timp am inceput sa invat c++ si Java si am realizat ca pawn are enorm de multe lipsuri. Scuzati ca m-am bagat in seama si ca am facut off-topic.
  2. Prostie e sa verifici daca playerid este conectat, dar sa verifici daca x id este conectat este o necesitate(nu in cazul de fata) pentru ca poti avea de a face cu PlayerInfo si daca pasezi INVALID_PLAYER_ID catre PlayerInfo estee posibil sa ai de a face cu Index out of bounds si posibil crash
  3. In momentul in care dai compile si ai erori fisierul amx nu mai este creat. Posibil sa fi avut erori pe care ti le-a raportat pawno pe care le-ai ignorat si asta a dus la disparitia fisierului amx
  4. Vrei ca in calitate de admin/helper la tastarea comenzi sa teleportezi x player la acele coordonate? Sau vrei ca toata lumea sa aibe acces la comanda? Pentru primul caz foloseste sscanf: CMD:dmv(playerid, params[]){ if(PlayerInfo[playerid][pAdmin] < 1 || PlayerInfo[playerid][pHelper] < 3) return SendClientMessage(playerid, COLOR_WHITE,AdminOnly); new string[250]; new id; if(sscanf(params, "u")) return SendClientMessage(playerid, -1, "USAGE: /dmv <id>"); if(IsPlayerInAnyVehicle(id)) SetVehiclePos(GetPlayerVehicleID(id),1218.9750,-1812.7285,16.5938); if(GetPlayerState(id) == PLAYER_STATE_ONFOOT) SetPlayerPos(id, 1218.9750,-1812.7285,16.5938); SetPlayerInterior(id,0); return 1; } In felul asta. Ce ai facut tu nu avea logica. Pentru a folosi numele/id-ul unui jucator intr-o comanda(mai exact sa ii faci ceva acelui jucator) folosesti sscanf cu acel u (u = playerid/playername) care va indentifica automat jucaotrul Pentru al doilea caz doar sterge acel if de la inceput cu pAdmin si pHelper
  5. Ai nevoie de imagiantie pentru asta, este perfect posibil. Doar ca trebuie sa te joci putin. Setezi o varaibila care spune ca x vehicul e premium si la apasarea tastei h ii oferi speed boost http://forum.sa-mp.com/showthread.php?t=337636 Aici ai un mic model ceva mai vechiut de speed boost valabil si acum Multe lucruri sunt posibile(chiar si cu multele limitari ale sa-mp), doar ca trebuie o gandire open box
  6. L-as fi testat eu pentru mi-ar putea fi de folosc la serv trucking dar partea de client e detectata ca trojan si malware si chiar daca nu-mi pasa atat de mult de virusi, daca distribui ceva de genul trebuie sa te asiguri ca nu are virusi(mai ales ca e pus si pe github)
  7. Banditul

    Script samp

    Off: 0ping e printre singurele care au asta Sigur ai pus datele de conectare bune la mysql_connect? Pentru ca din ce spui baza de date ai importat-o bine
  8. Banditul

    MYSQL

    Deci intr-un singur tabel de mysql ai pus toate "variabilele" (coloane ( ex: pAdmin)) ? Si de curiozitate, cat timp iti ia sa se incarce datele din acel tabel? (daca e afirmativa prima intrebare) Aici intra in joc deisgnul bazei de date(relatii de tabele etc): uite aici un pdf https://cdn.oreillystatic.com/en/assets/1/event/36/MySQL Architecture Design Patterns for Performance%2C Scalability%2C and Availability Presentation.pdf https://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561 http://www.tech-recipes.com/rx/56738/one-to-one-one-to-many-table-relationships-in-sql-server/ Dupa parerea mea, aceste rersurse sunt destul de informative trebuie doar sa intelegi. Dar in principiu de ce ai tu nevoie este de a face relatii intre tabele(100% mai multe tabele). Orice coloana care se repeta in respectivul tabel(ex: quest1, quest2,quest3 etc) sa fie trecuta intr-un tabel diferit si acel tabel sa contina o referinta la tabelul mama(ex: player_quest este copilu lui players , si contine ca referinta ID-ul de la players). Doar ca pentru asta va trebui sa studiezi putin pentru ca asa usor nu este. Si nu , nu incerca sa treci de acea limita(provideru de host nu iti va permite niciodata, pentru ca configurarea e pe serverul lui) pentru ca consumul de memorie pentru a stoca si consumul procesorului pentru a citi atatea date este putin cam mult. Si doar la 100 players deja iti pui mana in cap cand vezi cata memorie ocupa(volum mare de date/memorie = greu de citit/procesat = viteza foarte redusa)
  9. Scuze dar nu vreau sa se inteleaga gresit. Poti folosi cate CreateDynamicObjects doresti dar intr-un singur loc si la un singur moment de timp nu pot fi vazute/randate/incarcate jucatorilor pentru a putea fi admirate mai mult de 1000 objects(se va schimba in 0.3.8 si va fi 2000)
  10. Nu inteleg ce legatura are website cu faptul ca primeste eroarea ca nu gaseste gm/nu se afla in server.cfg ON: In primul rand asigura-te ca ai titanium.amx in folderul gamemodes. De cele mai multe ori cand incercam sa rulez serv dar nu imi dadeam seama ca am erori(si nu exista un .amx) imi dadea eroarea aia. Si incerca sa pui gamemode0 titanium 1 Nu stiu daca va ajuta aceasta setare da nu se stie
  11. Banditul

    Map editor

    Te joci cu rotatia obiectului(in cazul de fata rotatia pe x daca nu ma insel).
  12. Banditul

    Map editor

    Mie o singura data mi s-a intamplat o problema cu gardurile. Cand le-am importat din map editor le lipsea rotatia de 90 de grade pe care o pusesem. Posibil ca si tie sa ti se fi stricat rotatia la import dar nu stiu sigur.
  13. Atunci modifica cu utf8 , versiunea pe care o ai e destul de veche si nu suporta ut8mp4. Alta solutie nu am
  14. Ce versiune de mysql ai? utf8mb4 a fost adaugst abia in 5.5.3 Si daca e doar baza de date la sa-mp poti folosi numa utf8 in loc de utf8mb4
  15. http://forum.sa-mp.com/showthread.php?t=586486 Si cu linku am spus tot
  16. O sa incerc sa explic, sper ca o sa ma fac inteles. Sfatul meu este ca atunci cand o anumita data se schimba sa fie actualizata si in baza de date(spre exemplu dai /pay 30000 si pierzi 30k , ar fi dragut sa fie actualizati). Desigur aceasta metoda de a actualiza o data in momentul in care se schimba nu e prea recomandat sa fie intr-un loc in care se repeta de multe ori(sa zicem ca ai un timer si acolo scazi spre exemplu minutele de la mute(poate fi facut mult mai eficient cu timestamp) nu prea merge sa trimiti cate un query la fiecare secunda , mai ales daca sunt 5 playeri cu mute si toti au 60 sec mute, ar insemna 300query care vor ingreuna intr-un fel sau altu cum va functiona serv si relatia cu baza de date). Deci in concluzie, daca actualizezi datele in baza de date de date in momentul in care se schimba nu are nimic (daca folosesti mysql_tquery) atata timp cat nu o faci repetat. Si da, daca vrei sa actualizezi bani in comanda pay e perfect. Mai ales ca daca actualizezi totul la deconectare o sa ai un query mare care va lua timp sa fie executat, la deconectare pastreaza datele care se schimba reprtat precum mute time/jail time etc. Mai ales ca daca actualizezi des datele posibilitatea de a pierde date daca se intampla un crash sau ceva sa fie mic.
  17. Pentru ca ai nevoie si de libmysql.dll care vine cu mysql si trebuie pusa in folderu cu samp-server.exe. Altceva nu cred ca e
  18. Banditul

    Ajutor.

    Din cate vad nu are nici un element care sa ii dea verdictu ca e sqlite/mysql/ini etc deci nu vad cum ar putea fi facut sqlite. Poate doar sa fie trecuta pe un procesor de comenzi precum zcmd/y_cmds etc + sscanf
  19. SetPlayerScore(playerid, score)
  20. Incearca acest compilator, este posibil sa te ajute pentru ca e ceva mai optimizat decat cel cu care vine sa-mp
  21. Da e ok. Nu e nici o diferenta in cazul de fata. Amandoua fac ca functia sa fie incheiata prematur
  22. Hmmm.... Ma gandesc ca SetPlayerName seteaza un nume invalid sau prea mare/mic fata de limitarile samp si cand se foloseste GetPlayerName cedeaza...Nu sunt singur Pune niste printf in interioru if startdel si else si putin mai sus in interiorul if strfind. La altceva nu ma pot gandi de ce ar crashui acolo
  23. Care este linia 48376 mai exact?
  24. Nu la OnPlayerConnect, trebuie pus la OnGamemodeInit
  25. Coordonatele(pozitia) . Nimic altceva (in cazul in care vrei sa aibe aceiasi parametrii) Si eventual variabila daca o sa stergi map icon
×
×
  • 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.