Jump to content

NoNamed

V.I.P
  • Posts

    1.094
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by NoNamed

  1. Te rog sa pui minim 5 poze , sa faci o prezentare mai ampla si sa pui un link virustotal, in caz contrar : TOPIC CLOSED !
  2. Spor la cautat , dar nu cred ca o sa gasesti prea usor . :D
  3. Recomand . Dar totusi, cauti mapper priceput si tot el "sa te plateasca" ? :))
  4. if(pickupid == masina1) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Nu esti in masina!"); new masina = GetPlayerVehicleID(playerid); SetVehicleHealth(masina, 1000); SendClientMessage(playerid, -1, "Masina ta a fost reparata."); } Vezi asa .
  5. Postezi la ajutor scripting .
  6. Ai uitat o paranteza / acolada deschisa .
  7. I l-am facut pentru nivelul lui . La case-uri m-am gandit si eu . Dar am zis sa-l invat intai asa, apoi o sa isi dea el seama pe parcurs cum sta treaba .
  8. Mesajul il primesti ? Sau nici ala ?
  9. Unde ai adaugat verificarea ?
  10. Fiind incepator, sigur o sa se sperie de ce va vedea . Multumesc !
  11. Cu neplacere !
  12. La cererea lui @Extremys am creeat acest tutorial in care va voi invata sa faceti un GPS pe dialog . Pentru inceput, vom merge undeva la inceputul gamemode-ului si vom adauga urmatoarele linii : #define DIALOG_GPS 123 // Inregistrezi o variabila pentru dialogul de la GPS . new GPSCP[MAX_PLAYERS]; // Inregistrezi o variabila care va fii folosita pentru verificarea gps-ului . La public OnPlayerConnect(playerid) vei adauga urmatoarea linie: GPSCP[payerid] = 0; // Setezi player-ului care intra pe server ca GPS-ul sa fie dezactivat. La public OnPlayerDisconnect(playerid) vei adauga aceeasi linie ca cea de mai sus : GPSCP[playerid] = 0; // Setezi player-ului care se deconecteaza ca GPS-ul sa ii fie dezactivat. Acum, sa mergem sa facem comanda propriu-zisa . Daca ai sistemul de comenzi pe strcmp, mergi la public OnPlayerCommandText(playerid, cmdtext[]) si vei face comanda in felul urmator : if(strcmp(cmd, "/gps", true) == 0) { if(!IsPlayerInAnyVehicle(playerid)) // Verifici daca player-ul este sau nu este intr-o masina. return SendClientMessage(playerid, COLOR_GREY, "Trebuie sa fii intr-o masina pentru a folosii aceasta comanda."); // Trimiti un mesaj in care i se spune ca trebuie sa fie in masina . if(GPSCP[playerid] > 0) // Verifici daca are deja gps-ul activat. return SendClientMessage(playerid, COLOR_GREY, "Ai deja GPS-ul activat!"); // Trimiti un mesaj in care i se spune ca are deja gps-ul activat . ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Alege o locatie", "Locatie 1\nLocatie 2\n Locatie 3\nLocatie 4", "Alege", "Inchide"); // In caz ca nu are gps-ul activat i se va afisa un dialog cu locatiile pe care le poate alege. return 1; } Daca folosesti procesatorul de comenzi ZCMD, vei face comanda in modul urmator : Vei adauga comanda undeva in gamemode, numai nu in vreun public : CMD:gps(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) // Verifici daca player-ul este sau nu este intr-o masina. return SendClientMessage(playerid, COLOR_GREY, "Trebuie sa fii intr-o masina pentru a folosii aceasta comanda."); // Trimiti un mesaj in care i se spune ca trebuie sa fie in masina . if(GPSCP[playerid] > 0) // Verifici daca are deja gps-ul activat. return SendClientMessage(playerid, COLOR_GREY, "Ai deja GPS-ul activat!"); // Trimiti un mesaj in care i se spune ca are deja gps-ul activat . ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Alege o locatie", "Locatie 1\nLocatie 2\n Locatie 3\nLocatie 4", "Alege", "Inchide"); // In caz ca nu are gps-ul activat i se va afisa un dialog cu locatiile pe care le poate alege. return 1; } Buuun, dupa ce ai facut comanda, vei merge la public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) iar, pentru a face urmatorul pas, trebuie sa ai deja locatiile de la GPS salvate . Daca nu le ai , intra in joc, mergi la locatiile pe care vrei sa le adaugi pe GPS si dai /save acolo . Apoi vei merge in : Documents ---> GTA San Andreas User Files ----> SAMP iar acolo vei gasii un fisier text numit savedpositions . De acela vei avea nevoie pentru a seta checkpoint-urile , urmareste-ma : Vei adauga undeva la OnDialogResponse cate o linie pentru fiecare locatie, in modul acesta : if(dialogid == DIALOG_GPS) // Aici verifici daca id-ul dialogului este dialog-ul de la gps . { if(response) // Aici verifici daca a raspuns la dialog { if(listitem == 0) // Aici verifici daca player-ul a ales varianta 1 , adica prima locatie { SetPlayerCheckpoint(playerid, 0.0, 0.0, 0.0, 3.0) // Aici vei seta checkpoint-ul pentru player . 0.0, 0.0, 0.0 sunt coordonatele pe care tu le vei lua din fisierul mentionat mai sus ! SendClientMessage(playerid, COLOR_WHITE, "Ai activat GPS-ul, mergi la punctul rosu !"); // Aici trimiti un mesaj player-ului precum ca a activat GPS-u . DMVCP[playerid] = 1; // Setezi ca player-ul are GPS-ul activat . } if(listitem == 1) // Aici verifici daca player-ul a ales varianta 2 , adica a doua locatie { SetPlayerCheckpoint(playerid, 0.0, 0.0, 0.0, 3.0) // Aici vei seta checkpoint-ul pentru player . 0.0, 0.0, 0.0 sunt coordonatele pe care tu le vei lua din fisierul mentionat mai sus ! SendClientMessage(playerid, COLOR_WHITE, "Ai activat GPS-ul, mergi la punctul rosu !"); // Aici trimiti un mesaj player-ului precum ca a activat GPS-u . DMVCP[playerid] = 1; // Setezi ca player-ul are GPS-ul activat . } } } Liniile acestea le vei face si tu la tine la OnDialogResponse, le vei aseza asa cum trebuie, si il vei face in asa fel incat sa se potriveasca cu gps-ul tau . De exemplu, eu ti-am facut acum doar un model cum vei face tu, pentru fiecare locatie , un listitem trebuie sa ai ! Daca ai 8 locatii la dialog, va trebuii sa ajungi la if(listitem == 7) . Acum, ca sa dezactivezi checkpoint-ul cand player-ul ajunge la destinatie vei merge la public OnPlayerEnterCheckpoint(playerid) si vei adauga linia urmatoare : if(GPSCP[playerid] == 1) // Verifici daca are GPS-ul activat . { SendClientMessage(playerid, COLOR_WHITE, "Ai ajuns la destinatie, GPS-ul a fost dezactivat!"); // Ii trimiti un mesaj precum ca a ajuns la destinatie si s-a dezactivat gps-ul . GPSCP[playerid] = 0; // Opresti GPS-ul, adica ii setezi functiei GPSCP valoarea 0 . } Si , daca vrei ca GPS-ul sa mearga numai cand esti intr-o masina, sau sa se opreasca atunci cand player-ul se da jos, vei face in felul urmator : mergi la public OnPlayerStateChange(playerid, oldstate, newstate) si vei adauga linia urmatoare : if(newstate == PLAYER_STATE_ON_FOOT) // Verifici daca player-ul este in picioare { GPSCP[playerid] = 0; // Setezi variabilei GPSCP valoarea 0 , adica opresti gps-ul . SendClientMessage(playerid, COLOR_GREY, "Te-ai dat jos din masina! GPS-ul a fost dezactivat."); // Trimiti un mesaj precum ca GPS-ul a fost oprit . } Adaugati undeva la inceputul gamemode-ului : #define COLOR_WHITE 0xFFFFFFFF #define COLOR_GREY 0xAFAFAFAA Cam acesta este tutorialul ! Spor la treaba !
  13. Tocmai a spus sus ca a facut a doua varianta a ta si ii da crash ... Voi citit problema inainte sa dati reply ?
  14. La multi ani !
  15. Da, deci faci cate o linie da-ia noua cu strcat cum am facut eu, exact la fel, doar ca schimbi numele factiunii, si faci asa pana la ultima , apoi, la ShowPlayerDialog, in loc sa ai liniile alea lungi cu numele factiunilor, stergi toate factiunile de acolo si pui doar string , compilezi si vezi daca merge.
  16. Exemplu : new string[512]; strcat(string, "Police Department"); strcat(string, "Federal Bureau of Investigations"); strcat(string, "bla bla"); ShowPlayerDialog(playerid, iddialog, DIALOG_STYLE_LIST, string, "Ok", " "); Daca nu iti apar toate factiunile dupa compilare, maresti string-ul (pui o valoare mai mare intre parantezele patrate la "new string" ) .
  17. Micsoreaza string-ul dialogului, este foarte mare si probabil da-ia iei crash . Foloseste strcat , este mai bun si scapi mai usor . https://wiki.sa-mp.com/wiki/Strcat
  18. Salut! Nu te supara pe mine , dar, daca esti paralel cu scripting-ul , incearca sa inveti nu sa ceri script-urile gata facute . Daca doresti ajutor, data viitoare citeste topicul asta :
  19. Nu se cer script-uri .
  20. NoNamed

    Problema

    Trebuie ca atunci cand faci update la report-uri, adica dupa NumarReport-- trebuie sa setezi ca textdraw-ul sa se reseteze, si sa arate noul numar de report-uri . Iti recomand sa faci un public cu liniie de creare a textdraw-ului, si la fiecar NumarReport-- sau NumarReport++ adaugi NumelePublicului(); .
  21. Daca e prima data cand pornesti un server, si ma gandesc ca il pornesti din calculator, verifica daca in fisierul server.cfg , la linia plugins, ai plugin-urile folosite de server si , in caz ca server-ul e MySQL, fa-i legatura cu baza de date .
  22. Citeste inainte sa postezi .
  23. Mda ... plagiat , altceva nu vad ... imi pare rau sa zic, 1/10 ... Cu asta se pedepseste copiatul la scoala . N-a, daca era ceva ce n-am mai vazut sau macar ceva mai greu de facut, poate eram mai indulgent, dar asa ... n-a ...
  24. NoNamed

    PickUp

    Nu se cer script-uri . Topic inchis !
×
×
  • 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.