Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <YSI\y_hooks>
- #define QUEST_OBJECTS 5
- #define QUEST_MODEL 19054
- #define QUEST_VEHICLE 560
- new
- SpecialQuest[MAX_PLAYERS],
- questObject[MAX_PLAYERS],
- questVehicle[MAX_PLAYERS];
- new Float:quest_locations[][3] = {
- };
- hook OnGameModeInit() {
- CreateDynamic3DTextLabel("{FF0000}Special Quest{FFFFFF}\n Use (/startquest)", -1, 870.2846,-25.2255,63.9659, 10.0);
- new actorid = CreateActor(67, x, y, z, a);
- ApplyActorAnimation(actorid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);
- }
- hook OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
- if(SpecialQuest[playerid]) {
- if(newkeys & KEY_YES) {
- if(IsPlayerInAnyVehicle(playerid))
- return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti colecta din masina!");
- new
- Float: x, Float: y, Float: z;
- GetPlayerObjectPos(playerid, questObject[playerid], x, y, z);
- if(!PlayerToPoint(3.0, playerid, x, y, z))
- return 1;
- PlayerInfo[playerid][quest_objects] ++;
- UpdateVar(playerid, "quest_objects", PlayerInfo[playerid][quest_objects]);
- RemovePlayerMapIcon(playerid, 50);
- DestroyPlayerObject(playerid, questObject[playerid]);
- if(CheckObjects(playerid) == QUEST_OBJECTS) {
- DestroyVehicle(questVehicle[playerid]);
- questVehicle[playerid] = 0;
- SpecialQuest[playerid] = 0;
- new
- rand_money = 20000 + random(10000),
- rand_rp = 3 + random(3),
- rand_pp = 3 + random(3),
- rand_dp = 20 + random(30);
- GivePlayerMoney(playerid, rand_money);
- PlayerInfo[playerid][pExp] += rand_rp;
- PlayerInfo[playerid][pPremiumPoints] += rand_pp;
- PlayerInfo[playerid][pDPoints] += rand_dp;
- Update(playerid, pCashx);
- Update(playerid, pRP);
- Update(playerid, pPremiumPointsx);
- Update(playerid, pDPoints);
- gString[0] = EOS;
- format(gString, sizeof(gString), "Felicitari! (rand_money), rand_rp, rand_pp, rand_dp);
- SCM(playerid, COLOR_YELLOW, gString);
- }
- else set_quest_point(playerid);
- }
- }
- return 1;
- }
- YCMD:resetquest(playerid, params[], help) {
- if(PlayerInfo[playerid][pAdmin] < 6)
- return 1;
- foreach(new i : Player) {
- PlayerInfo[i][quest_objects] = 0;
- UpdateVar(i, "quest_objects", 0);
- }
- return 1;
- }
- YCMD:startquest(playerid, params[], help) {
- if(CheckObjects(playerid) == QUEST_OBJECTS)
- return SCM(playerid, COLOR_LGREEN, "Eroare: Ai terminat deja acest quest!");
- if(!PlayerToPoint(2.0, playerid, 870.2846,-25.2255,63.9659)) {
- if(CP[playerid] != 0) return ShowPlayerDialogEx(playerid, DIALOG_CHECKPOINT, DIALOG_STYLE_MSGBOX, "Checkpoint", "Ai deja un checkpoint activ.\nDoresti sa-l anulezi? Daca da, apasa pe 'Ok'.", "Ok", "Exit");
- SetPlayerCheckpoint(playerid, x, y, z, 2.0);
- CP[playerid] = 43;
- return 1;
- }
- questVehicle[playerid] = CreateVehicleEx(QUEST_VEHICLE, x, y, z, -1, -1, -1, -1);
- PutPlayerInVehicle(playerid, questVehicle[playerid], 0);
- SpecialQuest[playerid] = 1;
- set_quest_point(playerid);
- return 1;
- }
- YCMD:stopquest(playerid, params[], help) {
- if(!SpecialQuest[playerid])
- return SCM(playerid, COLOR_LGREEN, "Eroare: Nu faci Quest-ul Special!");
- RemovePlayerMapIcon(playerid, 50);
- DestroyVehicle(questVehicle[playerid]);
- questVehicle[playerid] = 0;
- SpecialQuest[playerid] = 0;
- gString[0] = EOS;
- format(gString, sizeof(gString), "Quest oprit! Progres: %d/%d", CheckObjects(playerid), QUEST_OBJECTS);
- SCM(playerid, COLOR_YELLOW, gString);
- return 1;
- }
- return true;
- }
- set_quest_point(playerid) {
- new
- rand = random(sizeof(quest_locations));
- SetPlayerMapIcon(playerid, 50, quest_locations[rand][0], quest_locations[rand][1], quest_locations[rand][2], 56, -1, MAPICON_GLOBAL);
- gString[0] = EOS;
- format(gString, sizeof(gString), "Distanta pana la obiect: %0.2fm (progres: %d/%d)", GetPlayerDistanceFromPoint(playerid, quest_locations[rand][0], quest_locations[rand][1], quest_locations[rand][2]), CheckObjects(playerid), QUEST_OBJECTS);
- SCM(playerid, COLOR_YELLOW, gString);
- questObject[playerid] = CreatePlayerObject(playerid, QUEST_MODEL, quest_locations[rand][0], quest_locations[rand][1], quest_locations[rand][2], 0.0, 0.0, 0.0);
- return 1;
- }
- CheckObjects(playerid) return PlayerInfo[playerid][quest_objects];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement