Jump to content

Leonard

Administrator
  • Posts

    1,303
  • Joined

  • Last visited

  • Days Won

    53

Everything posted by Leonard

  1. Am vazut ca multi au probleme cu gamemode-ul editat de cosminak47. Iti recomand sa incepi sa lucrezi pe gamemode-ul original Burned, nu pe toate cacaturile.
  2. http://wiki.sa-mp.com/wiki/SetPlayerDrunkLevel
  3. Problema a fost rezolvată. Topicul a fost închis!
  4. @@Kramppers next warn pentru off-topic. @@Stunt3r47 hai sa-ti explic cum poti face o manevra ca sa nu dea [/bonus] in prostie de pe mai multe conturi. Banuiesc ca ai deja o variabila care stocheaza IP-ului unui jucator si dupa il salveaza in baza de date. Bun, pentru inceput, faci o variabila de tip boolean pe care o initializezi pe false. new bool: playerTakeBonus[ MAX_PLAYERS ] = false; La public-ul OnPlayerDisconnect( playerid, reason ), resetezi variabila. playerTakeBonus[ playerid ] = false; Acum, dupa ce ai facut toti pasii de mai sus, te duci la functia care preia din baza de date datele jucatorului, si faci urmatoarea verificare. new playerIP[ 16 ]; GetPlayerIp( playerid, playerID, sizeof playerID ); if( PlayerInfo[ playerid ][ pIP ] == playerIP ) { playerTakeBonus[ playerid ] = true; } else playerTakeBonus[ playerid ] = false; * Ce am facut mai sus? Am stocat IP-ul jucatorului cu care s-a logat folosindu-ma de functia 'GetPlayerIp' intr-o variabila de tip intiger. Dupa aceea am facut o verificare cu ajutorul careia aflam daca IP-ul cu care jucatorul s-a logat in sesiunea curenta este la fel cu IP-ul inserat in baza de date la ultima logare, daca sunt la fel, variabila de tip boolean pe care am creat-o mai sus va fi setata pe 'true' si mai tarziu ai sa vezi la ce ne ajuta asta, iar daca IP-ul inserat in baza de date nu este egal cu IP-ul din sesiunea curenta, sa seteze variabila de tip boolean pe 'false'. Acum, pentru urmatorul pas, trebuie sa facem o verificare pentru comanda de bonus. if( playerTakeBonus[ playerid ] == true ) return SendClientMessage( playerid, -1, "Ai primit deja bonusul pe acest IP." ); * Ce am facut mai exact? Pai, am verificat daca variabila de tip boolean pe care noi am setat-o anterior pe 'true' daca IP-ul inserat in baza de date este la fel ca cel din sesiunea curenta si pe 'false' daca IP-ul inserat in baza de date nu este la fel ca cel din sesiunea curenta. In verificarea de mai sus, am verificat daca variabila mentionata este setata pe 'true' sa returneze un mesaj, "Ai primit deja bonusul pe acest IP." si sa opreasca orice actiune. Iar comanda ta ar trebuii sa arate in felul urmator: CMD:bonus(playerid, params[]) { if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first."); if( playerTakeBonus[ playerid ] == true ) return SendClientMessage( playerid, -1, "Ai primit deja bonusul pe acest IP." ); // verificarea de care ziceam if(IsPlayerConnected(playerid)) { if(BonusActiv > 0) { if(PlayerInfo[playerid][pLevel] <= 2) { GivePlayerCash(playerid, 10000000); PlayerInfo[playerid][pLevel] = 4; PlayerInfo[playerid][pConnectTime] = 3; PlayerInfo[playerid][pCarLic] = 1; PlayerInfo[playerid][pCarLicT] = 10; PlayerInfo[playerid][pFlyLic] = 1; PlayerInfo[playerid][pFlyLicT] = 10; PlayerInfo[playerid][pBoatLic] = 1; PlayerInfo[playerid][pBoatLicT] = 10; PlayerInfo[playerid][pGunLic] = 1; PlayerInfo[playerid][pGunLicT] = 10; PlayerInfo[playerid][pCasesShop] += 1; PlayerInfo[playerid][pKeyShop] += 1; PlayerInfo[playerid][pPremiumPoints] += 80; Update(playerid, pPremiumPointsx); Update(playerid, pLevelx); Update(playerid, pCashx); Update(playerid, pCasesShopx); Update(playerid, pKeyShopx); SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ai primit $10.000.000, toate licentele pentru 10 ore, 80 PP si level 3!"); } else return SendClientMessage(playerid, COLOR_LIGHTRED, "Ai primit deja bonusul de incepator!"); } if(BonusActiv <= 0) { SendClientMessage(playerid, COLOR_LIGHTRED,"Bonusul pentru incepatori nu este activ!"); } } return 1; } Sper ca ai inteles, eventual mai creezi o variabila pe care o initializezi cu 0 si cand foloseste deja comanda [/bonus] o setezi pe 1 ca sa nu se creeze bug-uri.
  5. Problema a fost rezolvată. Topicul a fost închis!
  6. Problema a fost rezolvată. Topicul a fost închis!
  7. CreateObject e o functie din Streamer cu ajutorul careia creezi un obiect, nu stiu ce ai facut tu de iti cere include-ul... acela neexistand. Arata-mi randul in care ai folosit aceasta functie.
  8. Problema a fost rezolvată. Topicul a fost închis!
  9. Introdu 'include'-ul in gamemode direct, dar inainte de asta, verifica codul, poate cand a fost postat pe net, a fost putin buguit sau au sters din coduri ca sa dea crash.
  10. Nu asa atasezi un obiect de o masina Te folosesti de functia AttachObjectToVehicle pentru a face acest lucru. Poftim functia: http://wiki.sa-mp.com/wiki/AttachObjectToVehicle Poftim un tutorial care te poate ajuta: https://www.youtube.com/watch?v=BFsNW_W0je4&t=0s Poftim si un filterscript care te ajuta foarte mult: http://forum.sa-mp.com/showthread.php?t=272552 Poftim tutorial pentru MapEditor: https://www.youtube.com/watch?v=iDf21384FGQ&t=3s NU ERA ASA GREU SA DAI UN SEARCH PE GOOGLE -> 'how to attach object in vehicle samp'.
  11. Daca nu cauti singur, nu vei invata niciodata un limbaj de programare. Cauta in gamemode functia function FactionsSpawns(playerid) Si ai acolo: if(fid == 0) { SetPlayerPosEx(playerid, 1685.9309, -2238.6553, 13.5469); SetPlayerFacingAngle(playerid, 176.9721); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid, 0); InHQ[playerid] = -1; return 1; } Iar la SetPlayerPosEx(playerid, 1685.9309, -2238.6553, 13.5469); x y z Adaugi coordonatele tale. ERA GREU?
  12. "Ma numesc sub pseudonimul de "qRuby""
  13. new.pwn e total gratis si nu are buguri.
  14. Poftim: https://www.youtube.com/watch?v=cWAGC--bJWA
  15. Problema a fost rezolvată. Topicul a fost închis!
  16. Da-mi randurile unde e eroarea, nu comanda.
  17. Problema a fost rezolvată. Topicul a fost închis!
  18. Pai faci exact cum ti-am dat comanda anterioara, numai ca modifci datele. Arata-mi 2-3 randuri din comanca in care ai erorile.
  19. Problema a fost rezolvată. Topicul a fost închis!
  20. Poftim: https://www.youtube.com/watch?v=snFzbPm_RUE
  21. 1.aseara inainte sa editez ceva preturi in /shop - /vipname mi-a mers dar acum nu imi mai merge ce trebuie sa fac. 2.ce trebuie sa fac ca comanda /clothes sa imi mearga? deoarece cand merg in clothes shop si dau /clothes nu se intampla nimic 3.la fel si comanda /glasses si /buyhat 1. Arata-ne comanda [/shop] ca sa vedem exact de unde e problema. 2. Arata-ne comanda [/clothes]. 3. Arata-ne comanda [/glasses] respectiv [/buyhat].
×
×
  • Create New...