Jump to content

Question

Posted (edited)

Salut!

Vreau si eu un sistem de quest, nu quest zilnic, un quest cu objecturi, acele objecturi sa fie o palarie de craciun si sa fie 100 de objecturi in Los Santos 50 si in Las Venturas 50.

 

ANUNT! Caut un owner care este si scripter sa ma ajute la server si sa faca update-urile, si sa imi prezinta si proiectele (doar sisteme nu gamemode).

Succes. pm me (am uitat :)) )

Edited by CyborGRO

5 answers to this question

Recommended Posts

  • 0
Posted (edited)

Te pot ajuta cu sisstemul de quest sper sa intelegi cat de cat-..daca nu, imi zici unde si iti explic.
 

Code:
#define MAX_OBIECTE    15 // Cate obiecte vrei sa adaugi
new ObiecteGasiteTotal[MAX_PLAYERS]; // Totalul obiectelor gasite
new Obiecte[MAX_OBIECTE]; // variabila pentru pickups
new ObiecteGasite[MAX_PLAYERS][MAX_OBIECTE]; // variabila pentru jucatori

OnGameModeInit()
 

Code:
Obiecte[0] = AddStaticPickup(....); // Obiectul 1
Obiecte[1] = AddStaticPickup(....); // Obiectul 2
..............................................................
Obiecte[14] = AddStaticPickup(...); // Obiectul 15

OnPlayerConnect & OnPlayerDisconnect
 

Code:
public OnPlayerConnect(playerid)
{
        for(new j=0;j<MAX_OBIECTE;j++)
        {
	      ObiecteGasite[playerid][j]=0;
        }
        ObiecteGasiteTotal[playerid]=0;
	return 1;
}
// Aici le resetezi deoarece, de exemplu, daca cineva care are 3 obiecte gasite iese, si intra altcineva cu acelasi id, va avea si el 3 obiecte gasite, chit ca are mai multe / mai putine.

public OnPlayerDisconnect(playerid, reason)
{
	for(new j=0;j<MAX_OBIECTE;j++)
        {
	      ObiecteGasite[playerid][j]=0;
        }
        ObiecteGasiteTotal[playerid]=0;
	return 1;
}

Atunci cand un jucator intra intr-un obiect:
 

Code:
public OnPlayerPickUpPickup(playerid, pickupid)
{
	new string[128];
	for(new j=0;j<MAX_OBIECTE;++)
	{
	    if(pickupid == Obiecte[j])
	    {
			if(ObiecteGasite[playerid][j] == 0) // Compari daca jucatorul a mai gasit sau nu obiectul inainte.
  			{
                              ObiecteGasiteTotal[playerid]++;
                              ObiecteGasite[playerid][j]=1;
	        	      DestroyPickup(Obiecte[j]);
                              format(string,sizeof(string)," Felicitari! Ai gasit obiectul nr. {FF0000}%d{FFFFFF}! Acum ai {FF0000}%d / %d {FFFFFF}obiecte!",j,ObiecteGasite[playerid],MAX_OBIECTE);
                              SendClientMessage(playerid,-1,string);
                              if(ObiecteGasiteTotal[playerid] == MAX_OBIECTE) // Aici e premiul cand un jucator atinge maximum de obiecte gasite.
                              {
             		               for(new s=0;s<MAX_OBIECTE;s++)
                                       {
	                  	              ObiecteGasite[playerid][s]=0;
                                       }
                                       ObiecteGasiteTotal[playerid]=0; // Le resetam la 0
                                       // Aici pui ce premiu vrei si mesajul pentru intreg server-ul.
                              }
	    	      }
	    	      else
		      {
				format(string,sizeof(string)," Ai mai gasit obiectul cu nr. {FF0000}%d{FFFFFF}!",j);
				SendClientMessage(playerid,-1,string);
		      }
	    	
		}
	}
	return 1;
}

Si pentru comanda...
 

Code:
COMMAND:obiectegasite(playerid,params)
{
	new string[56];
	format(string,sizeof(string)," Ai {FF0000}%d / %d {FFFFFF}obiecte gasite! Mai ai nevoie de {FF0000}%d {FFFFFF}pentru a obtine premiul!",ObiecteGasiteTotal[playerid],MAX_OBIECTE,MAX_OBIECTE-ObiecteGasiteTotal[playerid]);
	SendClientMessage(playerid,-1,string);
	return 1;
}

In legatura cu salvarea, trebuie sa stiu in ce mod salvezi & citesti datele ( dini, Y_ini, MySQL... )

Edited by View404

Bot developer (Discord): https://discordapp.com/oauth2/authorize?client_id=584989992481193989&scope=bot&permissions=8

Web Developer (Disponibil pentru proiecte noi, experienta de 3 ani in php, mysql si web design)

Scripter SA:MP (Am reinceput sa lucrez in domeniul acesta pentru a sustine comunitatea de samp dupa o pauza de 2 ani)

  • 0
Posted (edited)
Acum 1 oră, View404 a spus:

Te pot ajuta cu sisstemul de quest sper sa intelegi cat de cat-..daca nu, imi zici unde si iti explic.
 

Code:

#define MAX_OBIECTE    15 // Cate obiecte vrei sa adaugi
new ObiecteGasiteTotal[MAX_PLAYERS]; // Totalul obiectelor gasite
new Obiecte[MAX_OBIECTE]; // variabila pentru pickups
new ObiecteGasite[MAX_PLAYERS][MAX_OBIECTE]; // variabila pentru jucatori

OnGameModeInit()
 

Code:

Obiecte[0] = AddStaticPickup(....); // Obiectul 1
Obiecte[1] = AddStaticPickup(....); // Obiectul 2
..............................................................
Obiecte[14] = AddStaticPickup(...); // Obiectul 15

OnPlayerConnect & OnPlayerDisconnect
 

Code:

public OnPlayerConnect(playerid)
{
        for(new j=0;j<MAX_OBIECTE;j++)
        {
	      ObiecteGasite[playerid][j]=0;
        }
        ObiecteGasiteTotal[playerid]=0;
	return 1;
}
// Aici le resetezi deoarece, de exemplu, daca cineva care are 3 obiecte gasite iese, si intra altcineva cu acelasi id, va avea si el 3 obiecte gasite, chit ca are mai multe / mai putine.

public OnPlayerDisconnect(playerid, reason)
{
	for(new j=0;j<MAX_OBIECTE;j++)
        {
	      ObiecteGasite[playerid][j]=0;
        }
        ObiecteGasiteTotal[playerid]=0;
	return 1;
}

Atunci cand un jucator intra intr-un obiect:
 

Code:

public OnPlayerPickUpPickup(playerid, pickupid)
{
	new string[128];
	for(new j=0;j<MAX_OBIECTE;++)
	{
	    if(pickupid == Obiecte[j])
	    {
			if(ObiecteGasite[playerid][j] == 0) // Compari daca jucatorul a mai gasit sau nu obiectul inainte.
  			{
                              ObiecteGasiteTotal[playerid]++;
                              ObiecteGasite[playerid][j]=1;
	        	      DestroyPickup(Obiecte[j]);
                              format(string,sizeof(string)," Felicitari! Ai gasit obiectul nr. {FF0000}%d{FFFFFF}! Acum ai {FF0000}%d / %d {FFFFFF}obiecte!",j,ObiecteGasite[playerid],MAX_OBIECTE);
                              SendClientMessage(playerid,-1,string);
                              if(ObiecteGasiteTotal[playerid] == MAX_OBIECTE) // Aici e premiul cand un jucator atinge maximum de obiecte gasite.
                              {
             		               for(new s=0;s<MAX_OBIECTE;s++)
                                       {
	                  	              ObiecteGasite[playerid][s]=0;
                                       }
                                       ObiecteGasiteTotal[playerid]=0; // Le resetam la 0
                                       // Aici pui ce premiu vrei si mesajul pentru intreg server-ul.
                              }
	    	      }
	    	      else
		      {
				format(string,sizeof(string)," Ai mai gasit obiectul cu nr. {FF0000}%d{FFFFFF}!",j);
				SendClientMessage(playerid,-1,string);
		      }
	    	
		}
	}
	return 1;
}

Si pentru comanda...
 

Code:

COMMAND:obiectegasite(playerid,params)
{
	new string[56];
	format(string,sizeof(string)," Ai {FF0000}%d / %d {FFFFFF}obiecte gasite! Mai ai nevoie de {FF0000}%d {FFFFFF}pentru a obtine premiul!",ObiecteGasiteTotal[playerid],MAX_OBIECTE,MAX_OBIECTE-ObiecteGasiteTotal[playerid]);
	SendClientMessage(playerid,-1,string);
	return 1;
}

In legatura cu salvarea, trebuie sa stiu in ce mod salvezi & citesti datele ( dini, Y_ini, MySQL... )

In legatura cu salvarea nu stiu chestii din astea cu MySQL, daca vrei sa ma ajuti si PM me

 

Edited by CyborGRO
  • 0
Posted
1 hour ago, CyborGRO said:

Sa stii ca nu merge imi da 7 errori

Invata mai intai chestiile de baza la mysql si functii etc; si dupa o sa vezi ca nu e asa greu

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.