Jump to content

iSkull

Membru
  • Posts

    422
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by iSkull

  1. Nu imi trebuie.. nu mai fac proiecte.. doar mai ajut pe aici pe colo, pune doar ce ti-am dat mai sus
  2. Iti iese din aray, trebuie sa faci array-ul mai mare
  3. Ok, atunci, modifica codul in felul urmator, acum o sa fie in array, array-ul incepe de la 0 pana la numarul maxim - 1 Nu am de unde sa stiu ce ai in acel gm si cum functioneaza new amount, rand = random(100), x; if(CrateModel[i] > 0) x = CrateModel[i] - 1; else x = 0;
  4. Daca pui ce am scris in edit nu o sa-ti mai dea, pentru ca de fiecare data cand se va apela functia se va reverifica acel x, in ce aveai tu, daca CrateModel era -1 in multe cazuri cum ai de fata, cand se reapela functia iti mai scadea 1 si returna -2, in ce ti-am dat eu, daca CrateModel e -1, x va ramane -1, daca e 0 se va face x -1 new amount, rand = random(100), x = !CrateModel[i] ? 0 : CrateModel[i]-1; Poti face: new amount, rand = random(100), x; if(CrateModel[i] == -1) x = -1; else x = CrateModel[i] - 1;
  5. Nu m-am uitat la linie, atunci poti face o verificare in felul urmator: if(x < -1) x = 1; Edit: new amount, rand = random(100), x = !CrateModel[i] ? 0 : CrateModel[i]-1; Poti face: new amount, rand = random(100), x; if(CrateModel[i] == -1) x = -1; else x = CrateModel[i] - 1;
  6. [12:20:54] [debug] Run time error 4: "Array index out of bounds"[12:20:54] [debug] Accessing element at negative index -2 Iti iese din array, poti pune niste printf-uri sa vezi care si cum iese, e mare functia, nu putem afla de unde e problema Ex: printf("Player ID: %d", playerid); // la on playerconnect ca si exemplu si iti va scrie in consola la fiecare conectare
  7. Model new LockRent[MAX_VEHICLES]; // definesti la inceput de gm dupa include-uri // la dialogul cu dialog_rent sau ce ai tu pe acolo imediat dupa PlayerInfo[playerid][pRentCar] = CreateVehicle pui LockRent[PlayerInfo[playerid][pRentCar]] = 0; // descuiat SetVehicleParamsEx(PlayerInfo[playerid][pRentCar], VEHICLE_PARAMS_OFF, lights, alarm, 0, bonnet, boot, 0); YCMD:lock(playerid, params[], help) { if(!PlayerInfo[playerid][pRentCar]) return 1; new string[75]; LockRent[PlayerInfo[playerid][pRentCar]] = (LockRent[PlayerInfo[playerid][pRentCar]]) ? (0) : (1); SetVehicleParamsEx(PlayerInfo[playerid][pRentCar], VEHICLE_PARAMS_OFF, lights, alarm, LockRent[PlayerInfo[playerid][pRentCar]], bonnet, boot, 0); format(string, sizeof(string), "Vehiculul de tip %s a fost %s cu succes!", getVehicleName(GetVehicleModel(PlayerInfo[playerid][pRentCar])), (LockRent[PlayerInfo[playerid][pRentCar]]) ? ("incuiat") : ("descuiat")); SendClientMessage(playerid, -1, string); return 1; } // la distrugere pui LockRent[vehicleid] = 0;
  8. Faci variabila noua pe masina, o faci la rentcar pe 1 => locked/ 0 => unlocked, setezi parametrii din noua variabila la /lockrent te folosesti de variabila
  9. PlayerInfo[playerid][pRentCar] = 1; nu isi mai are rostul, il poti sterge in rest e ok O problema ar fi aici: getVehicleName(PlayerInfo[playerid][pRentCar]) => getVehicleName(GetVehicleModel(PlayerInfo[playerid][pRentCar])) Nu poti genera denumirea vehiculului daca nu iei modelul acestuia Inlocuieste si vezi daca primesti mesaj, am vazut ca ai acel SCM nu stiu cum l-ai definit
  10. arata partea cu rentcar cum ai facut
  11. Posibil sa ai pe textdraw meniul, nu ai textdrawrile facute sau nu sunt puse in comanda respectiva
  12. Tu ai rentcar definit global din ce vad, trebuie sa faci pe jucator Poti pune if(PlayerInfo[playerid][pRentCar] > 0) return SendClientMessage(playerid, -1, "Ai deja o masina inchiriata."); iar la rentcar = CreateVehicle(model, x, y, z, angle, color1, color2, time); poti pune PlayerInfo[playerid][pRentCar] = CreateVehicle(model, x, y, z, angle, color1, color2, time); // e ptr fiecare jucator in parte pe o singura variabila
  13. @IosifR Ti-a explicat el ca la ####, iti e lene sa citesti? Si oricum trebuie marit string-ul la 80-85 ca are 77 de caractere @IosifR Pune mana si uita-te pe tutoriale intai de mysql, nu ca ai facut si iti da eroare sau ca nu primeste update la baza de date
  14. Posibil sa ai restrictie, sa joci doar de pe un cont
  15. Mai ai de învățat, trebuie să ai Microsoft visual c++ instalat, toate versiunile atat x86 cât și x64, nu e neapărat de la ce ai pus tu acolo
  16. iSkull

    problema

    Am uitat sa-ti zic, R41-3 definesti SQL: new MySQL: SQL; MAX_PLAYERS => este definit de pachetul SA:MP MAX_PLAYER_NAME => este definit de pachetul SA:MP P_DATA => e de la enum pInfo/pVariable cum ai definit tu in gamemode, poate ai PlayerInfo/PlayerData stock-ul ti l-am definit in pastebin, mi se pare normal daca tu iei doar partea de mysql
  17. ai probleme la LoginTimer Ex: new login_timer[MAX_PLAYERS]; public OnPlayerConnect(playerid) { login_timer[playerid] = -1; login_timer[playerid] = SetTimerEx("LoginTimer", 30000, false, "i", playerid); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Introdu parola:", "Ok", "Close"); } public OnPlayerDisconnect(playerid, reason) { if(login_timer[playerid] != -1) { KillTimer(login_timer[playerid]); login_timer[playerid] = -1; } } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_LOGIN: { // daca jucatorul s-a logat cu succes KillTimer(login_timer[playerid]); login_timer[playerid] = -1; } } return 1; } forward LoginTimer(playerid) public LoginTimer(playerid) { KillTimer(login_timer[playerid]); login_timer[playerid] = -1; }
  18. iSkull

    problema

    Ai aici un model: https://pastebin.com/yS8KKAYL
  19. iSkull

    Error

    Inlocuieste acea functie cu asta: GetPlayerDistanceFromPoint ex: new float: dist; dist = GetPlayerDistanceFromPoint(playerid, x, y, z);
  20. Nu am vazut " ; ", e greseala mea aici, dar eu ma refeream la linia 28216 pentru ca acolo ii dadea eroarea
  21. sunteti asa de destepti de dati prin gropi, mysql_query e pentru altceva, a folosit bine mysql_tquery, problema e la stocarea numelui sau variabila in baza de date in tabelul respectiv nu exista, data viitoare sa va asigurati ca el are deja anumite lucruri definite, nu toate gm-urile sunt la fel, sau voi va numiti scripteri dupa 3 luni poti pune o varianta de test in urmatorul fel si vei vedea daca functioneaza sau nu stock getName(playerid) { new name[MAX_PLAYER_NAME] = "Unknown"; if(IsPlayerConnected(playerid)) GetPlayerName(playerid, name, MAX_PLAYER_NAME); return name; } CMD:test(playerid, params[]) // daca folosesti ZCMD { new string[100]; mysql_format(SQL, string, sizeof(string), "UPDATE `table` SET `Money` = '%d' WHERE `Name` = '%e'", GetPlayerMoney(playerid), getName(playerid)); mysql_tquery(SQL, string, "", ""); return 1; }
  22. Descarca crashdetect, nu are treaba libraria YSI cu ce patesti tu acolo
  23. e pus bine, mai invata putin, e posibil din cauza primelor warninguri sa ti se returneze si acolo, trebuiesc rezolvate la rand, eroarea de la lini 28216 e inexistenta, e posibil daca ai copiat mai multe coduri din alte gm-uri, deja ultima eroare iti zice ca sunt prea multe erori, deja depaseste limita impusa de pawno, verifica daca acel pAdmin si PlayerInfo exista in gm-ul tau, pentru PlayerInfo sa fie new PlayerInfo[MAX_PLAYERS][pInfo] ar trebui sa fie definit, iar pAdmin in interiorul enumeratorului Nu este prima data cand vad erori pe linii corecte din cauza altora
  24. Crashdetect se pune primul la plugins, posibil sa nu ai anumite Microsoft visual c++ instalate
  25. Nu are treaba un array cu denumirea modului de joc in cazul in care nu stiai Posibil sa nu ai la plugin-uri .so ca si extensie, sau platforma pe care incerci sa urci nu este compatibila cu ceea ce pui tu, daca ei folosesc CENTOS7 tu trebuie sa ai la fel, daca e pe linux trebuie sa ai la fel, aici gasesti ce-ti cer ei(https://github.com/pBlueG/SA-MP-MySQL/releases) ii intrebi ce folosesc ca si sistem si iti descarci versiunea pe care o folosesti la gamemode + sistemul cerut
×
×
  • 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.