Jump to content

MAC1

Membru
  • Posts

    66
  • Joined

  • Last visited

    Never

Everything posted by MAC1

  1. Ti-am spus, fa un debugging ( vezi pagina asta, daca nu stii ce-i ala: http://wiki.sa-mp.com/wiki/Debugging ) la callback-urile alea doua si o sa-ti dai seama care-s vectorii cu probleme, ca acolo va fi locul in care se va opri serverul.
  2. La OnPlayerDeath cred ca folosesti killerid fara sa verifici daca e valid. Fa un debugging la callback-urile care provoaca erorile si spune-ne exact instructiunile cu probleme.
  3. MAC1

    Cum... ?

    http://forum.sa-mp.com/showthread.php?t=291722 Cred ca la asta te referi.
  4. Ai un query care incearca sa adauge intr-o cheie primara, o valoare existenta deja in tabel. Gaseste query-ul din gamemode care genereaza eroarea si posteaza-l aici daca nu stii care-i sintaxa corecta.
  5. Incearca asta: http://wiki.sa-mp.com/wiki/Port_Forwarding
  6. Vezi ca ai functiile alea definite de 2 ori. Pune si liniile...
  7. Poti fi putin mai explicit? ca nu inteleg exact ce vrei sa zici... E vorba de table-uri din baza de date (MySQL) sau...?
  8. Sau poti face cu timer + CallRemoteFunction(params): Cum s-a zis si mai sus, la OnGameModeInit() pui: [pawn] SetTimer("RefreshPlayers", 60000, 1); [/pawn] apoi adaugi: (in afara oricarui public) [pawn] public RefreshPlayers() { for(new c = 0; c < MAX_PLAYERS; c++) if(IsPlayerConnected©) // poti pune si un if(IsPlayerLogged©) sau cum ai tu functia CallRemoteFunction("OnPlayerCommandText", "is", c, "/refresh"); return 1; } [/pawn] Teoretic, ar trebui sa mearga si asa.
  9. Asta pentru ca tu doar setezi niste variabile acolo, nu modifici coordonatele masinii propriu-zise. Ca sa rezolvi problema, trebuie in comanda setpark sa distrugi si apoi sa creezi masina iar. Sau eventual, poti pune urmatoarea chestie in callback-ul OnVehicleSpawn: [pawn] public OnVehicleSpawn(vehicleid) { if(IsOwnableCar(vehicleid)) { // sau cum ai tu definita functia care verifica daca e masina personala SetVehiclePos(vehicleid, VehicleSystem[vehicleid][Carx], VehicleSystem[vehicleid][Cary], VehicleSystem[vehicleid][Carz]); SetVehicleZAngle(vehicleid, VehicleSystem[vehicleid][Cara]); // presupun ca in Cara se salveaza unghiul } return 1; } [/pawn]
  10. Incearca sa fii mai coerent...ca nu prea inteleg ce anume ceri. Aici se fac cereri pentru scripturi: http://www.sa-mp.ro/forum/index.php?topic=27444.msg145506#new Foloseste tag-ul [ code ] [ /code ] cand vrei sa pui bucati de cod din gamemode. Macar straduieste-te si tu putin...nu mai cere totul de-a gata, ca asa nu rezolvi nimic!
  11. In fine, uita-te mai sus si o sa vezi ce ai zis. Nu are rost sa ne mai contram, ca nu ajungem nicaieri. Crezi ce vrei, eu doar ti-am spus ca alea-s metodele prin care unii fura parole si ca C++-ul nu face asta.
  12. Pai tinand cont ca RSS-ul avea site cu statistici... Din cate imi aduc eu aminte, prima oara cand FarSe le-a furat si publicat baza de date, RSS-ul era vulnerabil si la SQL injection. Aici nu e vorba de cat de bun e atacatorul in programare, ci de cat de vulnerabil e serverul victimei. Si nu, nu se poate ajunge cu C++ in scriptfiles...daca era asa, acum mai existau putine servere SA:MP pe-aici.
  13. Pai ar trebui sa mai complici putin lucrurile la inregistrare. Eu in gamemode-ul meu am cateva restrictii la setarea parolei: - sa contina si cifre si litere - sa nu contina numele jucatorului de pe server - sa aiba cel putin 6 caractere Acum...daca ei nu sunt capabili sa puna parole diferite pe alte servere...nu am ce sa le fac. @SpriTe_ -> nu ajungi cu C++-ul in scriptfiles sau in baza de date la care e conectat serverul. Eventual, cu c++ poti "hackui" structuri de memorie, prin inline asm... (ex: health hack, money hack, teleport, map stealer, etc care-s relativ usor de facut).
  14. Nu e niciun program. Exista mai multe "trucuri" pe care le fac unii: - cheama playerii pe un server tinut de X in PC, iar cum materia cenusie lipseste in proportie de 99,9% din encefalul jucatorilor de SA:MP, acestia isi pun peste tot aceeasi parola...astfel, X obtine usor parola uitandu-se in baza de date / in fisiere. - destul de multe server sunt vulnerabile la SQL injection (mai ales daca ati folosit GM-ul lui Akord) - multi au comenzi care pot fi folosite inainte de spawn. De ex: daca intrii pe un server care ruleaza pe un gm scriptat aiurea, si scri inainte de spawn /changepass tralala , e posibil sa poti schimba parola. Apoi dai reconnect si gata. - keylogger + multe alte chestii cu care ii pacalesti pe jucatori (sau fentezi serverul) si furi parole.
  15. Poti folosi: new gCars[MAX_VEHICLES]; public OnGameModeInit( ) { gCars[0] = AddStaticVehicle(params); // masina factiune X gCars[1] = AddStaticVehicle(params); // masina factiune Y ... gCars[n] = AddStaticVehicle(params); // masina rent } Foloseste si comentarii pentru fiecare linie, sa nu uiti pentru ce e fiecare masina. Iar apoi, daca ai de exemplu o functie: IsATowCar(carid), schimbi in: stock IsATowCar(carid) { if(carid == gCars[n] || carid == gCars[k]) return 1; return 0; } unde gCars[n] si gCars[k] sunt masini de tractat puse de tine in OnGameModeInit( ). Asa nu se vor incurca niciodata id-urile.
  16. Salut! Uita-te la sursa unui articol scris de mine (ex: http://wiki.sa-mp.ro/index.php/AddStaticVehicle click pe Modificare, sus in dreapta ca sa o vezi), copiaza tot de acolo, iar in noul articol pe care vrei sa-l scrii, editezi sintaxa, parametrii, etc. Singura problema la mediawiki e ca momentan nu exista decat tag-ul < code > </ code > pentru coduri sursa, tag care e extrem de urat (nu iti coloreaza deloc sintaxele, variabilele, etc, si nici nu prea functioneaza corect - in sensul ca nu prea percepe existenta headerului unei functii). In rest, poti folosi tag-uri speciale wiki sau tag-uri html cu css (sa le dai borduri, culoare si altele). PS: Fa un articol si da PREVIZUALIZARE, iar cand esti sigur ca apare cum vrei tu, da-i SALVARE! Daca ai nevoie de mai mult ajutor, da-mi un PM pe forum.
×
×
  • 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.