Jump to content

WopsS

Administrator
  • Posts

    2.202
  • Joined

  • Last visited

  • Days Won

    125

Everything posted by WopsS

  1. Iti apare mesajul asta? "{ee5555}Ti-am pus un checkpoint pe map. Dute la el si da examenul pentru permisul de conducere."
  2. WopsS

    ID bug

    Pune toata comanda pe pastebin.
  3. WopsS

    ID bug

    Si linia?
  4. WopsS

    ID bug

    Sterge [pawn]&& player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel])[/pawn]
  5. Gata, am rezolvat-o. Nu era grea problema, era de atentie. Gireada cand a facut tutorialul a uitat ca atunci cand te dai jos din masina, VehicleID o sa fie 0. Asa ca adauga [pawn]new LastCar[MAX_PLAYERS];[/pawn] undeva la inceput. Dupa la OnPlayerStateChange adauga (la inceput) [pawn]new vehicleid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER) { LastCar[playerid] = GetPlayerVehicleID(playerid); }[/pawn] Acum, sa modificam putin script-ul lui Gireada. Asta [pawn]timerkm[GetPlayerVehicleID(playerid)] = SetTimerEx("km_counter", 1000, 1, "d", GetPlayerVehicleID(playerid));//pornim acel timer care masoara kilometrii parcursi[/pawn] inlocuieste-o cu [pawn]timerkm[vehicleid] = SetTimerEx("km_counter", 1000, 1, "d", vehicleid);//pornim acel timer care masoara kilometrii parcursi[/pawn] Iar aceste linii [pawn]format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi",VehicleKM[vehicleid]);//afisam cati kilometrii are parcursi SendClientMessage(playerid, -1, string); KillTimer(timerkm[GetPlayerVehicleID(playerid)]);//omoram acel timer care masoara kilometrii deoarece nu mai e nici un sofer in ea[/pawn] le inlocuiesti cu [pawn]KillTimer(timerkm[LastCar[playerid]]); format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi", floatround(VehicleKM[LastCar[playerid]], floatround_ceil));//afisam cati kilometrii are parcursi SendClientMessage(playerid, -1, string);[/pawn]
  6. Pai acele mesaje arata ca ai mers putin cu ea si te-ai oprit, asa e?
  7. Sterge tot continutul si fai iar partea aia cu tutorialul te rog.
  8. Te rog mai fa o data testul, dar mergi cu masina. Nu mai sta pe loc.
  9. La MySQL te-ai folosit bine de "%e" pentru a prevenii "escape string". Aici [pawn]GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ;[/pawn] foloseste [pawn]GivePlayerMoney( playerid, P_DATA[ playerid ][ Money ]) ; [/pawn] Pune si aici UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s', `Name`='%e', doar de siguranta. Si daca poti sa faci sa se actualizeze datele atunci cand e nevoie, nu cand chemi tu functia SavePlayerData. De exemplu, jucatorul X a cumparat o masina, atunci sa ii actualizeze si banii in baza de date. In rest imi place cum ai lucrat.
  10. Uite aici [pawn]if(strcmp(cmdtext, "/lock", true )== 0) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"You aren't on a vehicle");//players isn't on a vehicle if(IsPlayerInAnyVehicle(playerid)){ if(Doors[playerid]) { SendClientMessage(playerid, red, "You have turned your doors locked"); } else { SendClientMessage(playerid, red, "You have turned your doors unlocked"); } } return 1; ///safsafasfasfas }[/pawn] trebuia sa stergi doar [pawn]for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false); Doors[playerid]= 1;[/pawn]
  11. Inlocuieste km_counter cu asta si posteaza-mi ce iti arata. [pawn]public km_counter(vehicleid) { //inlocuim valorile noi cu cele vechi printf("#Debug 1: %f %f %f", X1[vehicleid], Y1[vehicleid], Z1[vehicleid]); X1[vehicleid] = X2[vehicleid]; Y1[vehicleid] = Y2[vehicleid]; Z1[vehicleid] = Z2[vehicleid]; printf("#Debug 2: %f %f %f", X2[vehicleid], Y2[vehicleid], Z2[vehicleid]); //stocam noile valori GetVehiclePos(vehicleid, X2[vehicleid], Y2[vehicleid], Z2[vehicleid]); printf("#Debug 3: %f %f %f", X2[vehicleid], Y2[vehicleid], Z2[vehicleid]); //calculam distanta dintre cele doua punce vehciul punct si cel nou X1[vehicleid] -= X2[vehicleid]; Y1[vehicleid] -= Y2[vehicleid]; Z1[vehicleid] -= Z2[vehicleid]; printf("#Debug 4: %f %f %f", X1[vehicleid], Y1[vehicleid], Z1[vehicleid]); //acum il transformam in kilometrii(deoarece distanta este in metrii) impartind la 1000.0 VehicleKM[vehicleid] += floatsqroot((X1[vehicleid]*X1[vehicleid])+(Y1[vehicleid]*Y1[vehicleid])+(Z1[vehicleid]*Z1[vehicleid])) / 1000.0; printf("#Debug 5: %f | %f", VehicleKM[vehicleid], floatsqroot((X1[vehicleid]*X1[vehicleid])+(Y1[vehicleid]*Y1[vehicleid])+(Z1[vehicleid]*Z1[vehicleid])) / 1000.0); }[/pawn]
  12. Fii mai explicit, nu am inteles aproape nimic.
  13. Dupa dialogul de autentificare trebuie sa ii pui un "ShowPlayerDialog".
  14. Atunci fai un timer care sa actioneze functia cand se termina razboiul.
  15. La OnPlayerLogin pune sa ia si admin-ul din baza de date. [pawn]P_DATA[ playerid ][ Admin] = cache_get_field_content_int( 0, "Admin", aHandle ) ;[/pawn] Si la OnPlayerConnect reseteaza variabilele! Adica pune [pawn]P_DATA[playerid ][Level] = 1; P_DATA[playerid ][Admin] = 0;[/pawn] etc.
  16. In server-ul de samp.
  17. Te-ai uitat in mysql_log ce zice?
  18. Aici [pawn]format(string, sizeof(string), "UPDATE players SET Tutorial='%d' WHERE id=%d", PlayerData[pTut], PlayerData[pSQLID]);[/pawn] nu face correct update. Incearca asa [pawn]format(string, sizeof(string), "UPDATE players SET Tutorial='1' WHERE id=%d", PlayerData[pSQLID]);[/pawn]
  19. Nu vad timer-ul acolo. Mai ai ceva ce tine de comanda aia?
  20. Trebuie sa ii pui si positia, de exemplu: X1[0], etc..
  21. WopsS

    ID bug

    Variabila asta [pawn]AccInfo[playerid][LoggedIn][/pawn] unde o folosesti?
  22. [pawn] format(loginstring,sizeof(loginstring),"Welcome back, {5D8CD7}%s{A9C4E4}!nn{A9C4E4}Please enter your password below to login your account.nn{FFFFFF}* Last login: %s *",loginname,laston); ShowPlayerDialog(playerid,DIALOG_LOGIN2,DIALOG_STYLE_PASSWORD,"Login",loginstring,"Login","Quit"); [/pawn] Asta vrei sa traduci?
  23. Uita-te aici. http://wiki.sa-mp.com/wiki/Colors_List#Alpha_values_.28transparency.29 Daca vrei sa faci o coloare mai transparenta modifici ultimele doua litere de la final, de exemplu "FF" in "CC" sau ceva de genul acesta. Aici [pawn]0x0FC4E3A4[/pawn] poti sa pui [pawn]0x0FC4E3CC[/pawn] pentru ceva mai tranasparent. Sursa:
  24. Nu se cer scripturi. Topic inchis!
  25. Posteaza toata functia.
×
×
  • 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.