[CAMPANIE STAFF]Cautam moderatori si designeri activi!
Welcome to WTFCS Community Forums!
Servere gaming la super-preturi! [HOSTING SERVICE]
-->






[TUTORIAL] Quest System
Author : mihay111, Category : Tutoriale, 0 Replyes, 324 Views
EVALUATE THIS TOPIC
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
1 Guest(s)
Moderator
     
577
POSTS
452
THREADS
190
REPUTATION
Male
Sex

WtfCs Coins: 0.15[w]

Suit Member
11-10-2021, 11:42 AM
#1
Code:
// puneti asta la float-uri
new Float:QuestObjects[20][3] = {
{1666.6095,2254.1096,10.8203},
{1676.3660,1624.0376,10.8203},
{1686.7211,1115.1724,10.7152},
{2086.3630,1318.9218,10.8203},
{2437.3992,1660.2825,15.2361},
{2316.0188,2333.9509,10.8203},
{1476.4000,1921.8619,10.8946},
{1890.8251,1986.9982,13.7848},
{2576.2412,1077.5697,10.6719},
{2162.3022,919.3609,10.8203},
{1492.2125,667.3132,10.9838},
{2300.9333,556.3300,7.7813},
{2805.9348,909.8344,10.7500},
{2800.6467,913.4963,11.5617},
{2829.0735,1279.7488,10.7709},
{2776.4670,2523.5203,10.8203},
{1041.3608,1062.0674,10.1691},
{1386.4358,922.4484,10.8184},
{1082.9188,1685.3890,6.9541},
{914.1532,2035.2485,11.6145}
};
// asta puneti la enum pInfo
pObiecteAdunate, pQuestObjects[20],
// daca aveti public onplayerpickupdynamicpickup puneti asta sub
    for(new i; i < 20; i++) {
            if(pickupid == PlayerInfo[playerid][pQuestObjects][i]) {
                PlayerInfo[playerid][pObiecteAdunate]++;
                SCMf(playerid, COLOR_GREY, "progress quest: (%d/20)", PlayerInfo[playerid][pObiecteAdunate]);
                DestroyDynamicPickup(PlayerInfo[playerid][pQuestObjects][i]);
                RemovePlayerMapIcon(playerid, 70+i);
                verificaquestobiecte(playerid);
            }
        }
        return 1;
    }
daca nu-l aveti,
public OnPlayerPickUpDynamicPickup(playerid, pickupid) {
    for(new i; i < 20; i++) {
        if(pickupid == PlayerInfo[playerid][pQuestObjects][i]) {
            PlayerInfo[playerid][pObiecteAdunate]++;
            SCMf(playerid, COLOR_GREY, "progress quest: (%d/20)", PlayerInfo[playerid][pObiecteAdunate]);
            DestroyDynamicPickup(PlayerInfo[playerid][pQuestObjects][i]);
            RemovePlayerMapIcon(playerid, 70+i);
            verificaquestobiecte(playerid);
        }
    }
    return 1;
}
apoi faceti o functie (verificaquestobiecte)
function verificaquestobiecte(playerid) {
    if(PlayerInfo[playerid][pObiecteAdunate] == 20) {
        new money = 300000 + random(250000);
        new pp = 25 + random(3);
        new rp = 4 + random(3);
        new rob = 5 + random(2);
        SCM(playerid, COLOR_YELLOW2, "Felicitari! Ai terminat quest-ul special si ai primit:");
        SCMf(playerid, -1, "- %s bani", FormatNumber(money));
        SCMf(playerid, -1, "- %d puncte premium", pp);
        SCMf(playerid, -1, "- %d puncte de respect", rp);
        SCMf(playerid, -1, "- %d puncte de rob", rob);
        GivePlayerCash(playerid, money);
        PlayerInfo[playerid][pPremiumPoints] += pp; pUpdateInt(playerid, "PremiumPoints", PlayerInfo[playerid][pPremiumPoints]); // aici modificati voi cum aveti
        PlayerInfo[playerid][pExp] += rp; pUpdateInt(playerid, "Respect", PlayerInfo[playerid][pExp]); // aici modificati voi cum aveti
        PlayerInfo[playerid][pRob] += rob; pUpdateInt(playerid, "Rob", PlayerInfo[playerid][pRob]); // aici modificati voi cum aveti
    }
    return 1;
}
inclusiv comanda [/startquest]
    CMD:startquest(playerid, params[]) {
        if(arecpactiv(playerid)) return true;
        if(!IsPlayerInRangeOfPoint(playerid, 3, 1907.9348,1511.0798,14.0482)) {
          SCM(playerid, COLOR_ERROR, "Nu esti la locatia potrivita, ti-a fost setat un punct pe harta.");
          SetPlayerCheckpointEx(playerid, 1907.9348,1511.0798,14.0482, 3.0);
          CP[playerid] = 43;
          return true;    
        }
        SCMf(playerid, -1, "Ai inceput quest-ul, du-te si aduna cele 25 caiete (progress: %d/20)", PlayerInfo[playerid][pObiecteAdunate]);
        for(new i = 0; i < sizeof(QuestObjects); i++) {
            PlayerInfo[playerid][pQuestObjects][i] = CreateDynamicPickup(2855, 18, QuestObjects[i][0], QuestObjects[i][1], QuestObjects[i][2], -1);
            SetPlayerMapIcon(playerid, 70+i, QuestObjects[i][0], QuestObjects[i][1], QuestObjects[i][2] , 56, -1, MAPICON_GLOBAL);
        }
        return 1;
    }
Autor: Hanako
Mihai nu face flotari, el le cumpara gata facute!
Mihai s-a nascut intr-o cabana construita de el.
Mihai a omorat 50 de teroristi din 2 gloante.Primul a fost de avertizare.
Mihai poate sa isi faca poze cu telefonul fix.
Mihai a raspuns la un apel pierdut.
Singura femeie care si-a permis sa faca glume despre Mihai a fost Elodia, de aia nu mai este.
Cand Mihai iti arata degetul nu o face ca sa te injure... doar iti arata cate secunde mai ai de trait!
You are not allowed to view links. Register or Login to view.


Messages In This Thread
Quest System - by mihay111 - 11-10-2021, 11:42 AM

Forum Jump: