S.Valentin (Hurdock) Posted April 5, 2016 Report Share Posted April 5, 2016 Am întalnit multe persoane care pentru a putea activa/dezactiva un eveniment simplu ca Gift Box au nevoie să dea restart la server așa că astăzi vă fac un exemplu de tutorial cum să faci un eveniment simplu precum Gift Box care să fie activat printr-o comandă simplă. Să incepem munca. Adăugăm înainte de toate: new GiftBoxEvent = 0; //variabila necesară new GiftBox1; //cutia new Text3D: Gift3D; //textul 3d Acum trebuie să facem două comenzi simple. * Puteți folosi orice procesor de comenzi doriți eu doar vă fac un exemplu simplu. public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/activaregift", true)) // <-- Activare & Dezactivare Eveniment { if(GiftBoxEvent == 0) { SendClientMessage(playerid, -1, "SERVER: Eveniment Gift Box Activat!"); //mesaj informativ GiftBoxEvent = 1; // Setam variabila pe 'Activat' GiftBox1 = CreateObject(19055, 1813.72327, -1863.24927, 13.07130, 0.00000, 0.00000, 0.00000); //Am creat obiectul Gift3D = Create3DTextLabel("{8dd37c}Gift Box\n( Tasteazã /getgift lângã cadou )", -1,1813.72327, -1863.24927, 13.07130 + 0.95,5.0,0,0); // Am creat textul 3D return 1; } if(GiftBoxEvent == 1) { SendClientMessage(playerid, -1, "SERVER: Eveniment Gift Box Dezactivat!"); //mesaj informativ GiftBoxEvent = 0; // Setam variabila pe 'Dezactivat' DestroyObject(GiftBox1); //Stergem obiectul 'Cutie' Delete3DTextLabel(Gift3D); //Stergem Textul 3D return 1; } } if(!strcmp(cmdtext, "/deschidecadou", true)) // Comanda pentru jucatori cu care deschid un cadou. { if(GiftBoxEvent == 1) // Daca Evenimentul este pornit { if(PlayerToPoint(10.0, playerid,1813.72327, -1863.24927, 13.07130)) //Sa mearga comanda doar daca sta langa Cadou { GivePlayerMoney(playerid, 5000); SendClientMessage(playerid, -1, "Ai deschis un cadou cu 5.000$"); return 1; } } else return SendClientMessage(playerid, -1, "Evenimentul este oprit din pacate!"); } return 0; } Acum să răspundem la intrebări. Cum schimb locația acestui cadou? Simplu și frumos inloc de 1813.72327, -1863.24927, 13.07130 coordonatele preferate de tine. Unde este cadoul prezentat de tine in codul exemplu de mai sus ? In gara orașului Los Santos. Cum pot face rezultate random? Gen să dea 1.000$ până la 50.000$ ? Simplu astfel: new SumaDorita = Minim + random(O-Suma); Exemplu: new SumaDorita = 5000 + random(50000); Astfel jucatorul o sa poata castiga 5.000$ - 55.000$ Acest tutorial a fost doar un exemplu va rog sa nu lasati comentari gen 'De ce toti jucatori pot activa, Cum fac sa mearga odata la 5 ore etc' Aceste chestii se rezolva simplu cu variabile & timere din gamemode-ul dvs. Sper ca a fost de ajutor pentru cei care sunt incepatori si doresc sa invete cum pot face chestii 'dinamice' . 2 Quote Link to comment Share on other sites More sharing options...
Uzzi25 Posted April 8, 2016 Report Share Posted April 8, 2016 Playerul poate acesa doar odata comanda /deschidecadou ? Quote Link to comment Share on other sites More sharing options...
S.Valentin (Hurdock) Posted April 8, 2016 Author Report Share Posted April 8, 2016 2 hours ago, Uzzi25 said: Playerul poate acesa doar odata comanda /deschidecadou ? Este doar un model cel dat de mine, trebuie sa faci o variabila si un timer sa scada din orele ramase pentru cea ce vrei tu. Quote Link to comment Share on other sites More sharing options...
Uzzi25 Posted April 8, 2016 Report Share Posted April 8, 2016 Acum 10 ore, S.Valentin (Hurdock) a spus: Este doar un model cel dat de mine, trebuie sa faci o variabila si un timer sa scada din orele ramase pentru cea ce vrei tu. Este doar o intrebare dispun de un asemnea sistem stimate +1 !! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.