Jump to content
  • 0

Problema quest de craciun


NaturaL

Question

Salut.Am o problema cu questu de craciun si anume ca cadourile(scuzati cacofonia) pot fi adunate doar in ordinea in care sunt puse locatiile lor in gm. De exemplu eu vreau sa iau Cadoul cu numarul 7, dar nu este posibil deoarece nu am luat primele cadouri dinaintea acestui numar. Am incercat sa scot eu niste lini de acolo care credeam ca duce la acest lucru dar degeaba..

Aici este codul cu locatiile cadourilor:

new QuestEventState = 1; // Quest
#define QuestName "Christmas Quest" //Denumirea acestui eveniment.
#define QuestSingleName "cadouri" //Cum se numesc acestea (x din x cadouri)
new QuestObject = 19056; //Object pentru Pickup.
new Float:QuestPositions[][4] = {
    {2071.8901,-948.7933,50.4882},
    {1416.8466,-807.2762,85.1519},
    {1214.0465,-985.5582,43.5543},
    {1197.8796,-752.5742,92.3998},
    {712.4207,-1549.6532,3.1352},
    {587.8170,-1540.2173,15.5063},
    {559.9663,-1358.9471,15.3194},
    {728.8685,-1275.6370,17.7685},
    {874.3939,-1165.2053,17.1586},
    {1106.7720,-1239.0353,16.0369},
    {1526.8868,-1380.4821,14.0890},
    {1829.7864,-1816.7222,4.1388},
	{307.1967,-1431.9117,23.7126},
	{382.1430,-1881.9504,2.8321},
	{986.1062,-2149.3225,13.3129},
	{1177.4075,-2296.0149,22.7584},
	{1381.4700,-2542.8628,17.4556},
	{1802.2002,-2704.5098,13.9591},
	{682.7130,-444.1653,16.4982},
    {1930.7529,-1362.2373,16.2042}
};
new QuestPickups[sizeof(QuestPositions)]; //pickup-ul.
new Text3D: QuestText[sizeof(QuestPositions)]; //text-ul 3d.

Si aici se afla restul:

if(QuestEventState == 1)  // xmas quest
    {
        new str[256];
        if(PlayerInfo[playerid][pLastGift] == sizeof(QuestPositions) && PlayerInfo[playerid][pLastGift] == 999) return SCM(playerid, -1, "Ai gasit deja toate cadourile!");
        if(pickupid == QuestPickups[PlayerInfo[playerid][pLastGift]])
        {
               // PlayerInfo[playerid][pLastGift] ++;
			IncreasePlayerGift(playerid);
			if(PlayerInfo[playerid][pLastGift] != sizeof(QuestPositions))
			{
				format(str,sizeof(str), "%d din %d %s gasite!", PlayerInfo[playerid][pLastGift], sizeof(QuestPositions), QuestSingleName);
				GameTextForPlayer(playerid, str, 3000, 3);
			}
			else
			{
				new name[MAX_PLAYERS], string[256];
				format(str,sizeof(str), "Toate %s au fost gasite!", QuestSingleName); //Cadourile gasite, mesaj. + premiul.
				GameTextForPlayer(playerid, str, 3000, 3);
				GivePlayerCash(playerid, 2500000);
				Update(playerid, pCashx);
				PlayerInfo[playerid][pRespect] += 15;
				Update(playerid, pRespectx);
				PlayerInfo[playerid][pGold] += 2000;
				Update(playerid, pGoldx);
				PlayerInfo[playerid][pRob] += 20;
				Update(playerid, pRobx);
				PlayerInfo[playerid][pLastGift] = 999;
				SCM(playerid, COLOR_YELLOW, "Felicitari! Ai gasit toate cadourile.");
				SCM(playerid, COLOR_YELLOW, "Pentru asta staff-ul EvoSKILL te premiaza cu urmatoarele:");
				SCM(playerid, COLOR_YELLOW, "2.500.000$, 15 Respect Points, 20 Rob Points si 2000 Gold. Sarbatori Fericite!");
				GetPlayerName(playerid, name, sizeof(name));
				format(string, sizeof(string), "%s a terminat quest-ul de craciun! Felicitari si Sarbatori fericite!", name);
				SendClientMessageToAll(-1, string);
			}
		}
		else
		{
			format(str,sizeof(str), "(%s) {FFFFFF}Ai gasit deja acest cadou. Cadouri gasite: %d/20.", QuestName, PlayerInfo[playerid][pLastGift]); //Nu e inima corecta.
			SCM(playerid, COLOR_LIGHTRED, str);
		}
    }

Nu astept o intreaga rezolvare, doar un mic start de unde sa incep. Multumesc anticipat!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Iti dau eu un sistem de quest:

#define pQuestMapx             115

#define DIALOG_QUESTMAP             615

La   enum pInfo

pQuestMap,

LA public Update(playerid, type)

case pQuestMapx:
                {
                    mysql_format(SQL, var, sizeof(var), "UPDATE `users` SET `QuestMap`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pQuestMap], PlayerInfo[playerid][pNormalName]);
                    mysql_tquery(SQL,var,"","");
                }

 

La variabile pui astea

 QuestP[50],

QuestWait[MAX_PLAYERS],

QuestWait[playerid] = 0; 

Asta o pui tot la VARIABILE sub tazer[playerid] = 0;

QuestWait[playerid] = 0; 

Astea sunt pickup=urile

http://pastebin.com/zxiRVSpW

La  public OnPlayerLogin(playerid,password[])  pui asta

PlayerInfo[playerid][pQuestMap]                    = cache_get_field_content_int(0, "QuestMap");

si asta 

        {
            new strb[30];
            format(strb, sizeof(strb),"Quest%d",ev);
            QEvent[playerid][ev]                         = cache_get_field_content_int(0, strb);
        }

La public OnPlayerPickUpPickup(playerid, pickupid)

http://pastebin.com/QWPrJPs7

/quest  http://pastebin.com/mzMRstP2

/questmap http://pastebin.com/UTt6e7k3

La public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

http://pastebin.com/vXEgHQhk

 

Edited by stefanpuica
  • Upvote 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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.