Jump to content

Recommended Posts

Posted

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' .

  • Upvote 2
Posted

Playerul poate acesa doar odata comanda /deschidecadou ?

2c4AJX1.png

Posted
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.

 

Posted
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 !!

2c4AJX1.png

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.