shape1
shape2
shape3
shape4
shape7
shape8

Система квестов на новый год by Legendarepa


Legendarepa671

Новичок
Пользователь
11.11.2022
2
0
0
Скриптер
Всем общий сегодня солью вам систему квестов

Код;

new Float: task_toy[10][3] = {
{-294.7074,927.1121,12.1494},
{589.2205,448.4823,12.0319},
{-182.6522,413.6392,12.2973},
{-684.1694,903.7727,13.3100},
{212.7782,409.5174,11.1346},
{363.9737,9.2343,12.0009},
{-51.0457,599.3436,12.0728},
{-335.3129,988.4617,16.0297},
{-411.8189,1029.6244,12.1092},
{-23.5884,1464.8894,18.2019}
};
new taskToy_Pickup[10];
new Text3D: taskToy_Label[10];
new bool: taskToy_Status[10];


public OnGameModeInit() {

taskToyInit();

#if defined task_OnGameModeInit
return task_OnGameModeInit();
#else
return 1;
#endif
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit task_OnGameModeInit
#if defined task_OnGameModeInit
forward task_OnGameModeInit();
#endif




stock taskToyInit() {
for(new i; i < 10; i++) {
//CreateObject(1703, flapInfo[flap_X], flapInfo[flap_Y], flapInfo[flap_Z], 0.0, 0.0, flapInfo[flap_RZ]);
new pickup_rand = random(3), pickup_id;
if(pickup_rand == 1) pickup_id = 19061;
else if(pickup_rand == 2) pickup_id = 19063;
else pickup_id = 19062;
taskToy_Status = true;
taskToy_Pickup = CreatePickup(pickup_id, 23, task_toy[0], task_toy[1], task_toy[2], -1);
taskToy_Label = CreateDynamic3DTextLabel("[Игрушка]\nДля поднятия используйте l.alt", 0x9999ECFF, task_toy[0], task_toy[1], task_toy[2] + 0.2, 10.0, INVALID_PLAYER_ID, INVALID_PLAYER_ID, 0, -1, -1, 0);
}
return 1;
}

stock removeTaskToyPickup(pickupId) {
DestroyDynamic3DTextLabel(taskToy_Label[pickupId]);
DestroyPickup(taskToy_Pickup[pickupId]);

SetTimerEx("createTaskToyPickup", 1_800_000, false, "i", pickupId);
return 1;
}

forward createTaskToyPickup(pickupId);
public createTaskToyPickup(pickupId) {
new pickup_rand = random(3), pickup_id;
if(pickup_rand == 1) pickup_id = 19061;
else if(pickup_rand == 2) pickup_id = 19063;
else pickup_id = 19062;
taskToy_Status[pickupId] = true;
taskToy_Pickup[pickupId] = CreatePickup(pickup_id, 23, task_toy[pickupId][0], task_toy[pickupId][1], task_toy[pickupId][2], -1);
//taskToy_Label[pickupId] = CreateDynamic3DTextLabel("Игрушка для елки\n{FFFFFF}забрать: ALT", 0x66CC33FF, task_toy[pickupId][0], task_toy[pickupId][1], task_toy[pickupId][2] + 0.2, 10.0, INVALID_PLAYER_ID, INVALID_PLAYER_ID, 0, -1, -1, 0);
taskToy_Label[pickupId] = CreateDynamic3DTextLabel("[Игрушка]", 0x9999ECFF, task_toy[pickupId][0], task_toy[pickupId][1], task_toy[pickupId][2], 10.0, INVALID_PLAYER_ID, INVALID_PLAYER_ID, 0, -1, -1, 0);
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == 1024) {
for(new i; i < 10; i ++) {
if(IsPlayerInRangeOfPoint(playerid, 3.0, task_toy[0], task_toy[1], task_toy[2])) {
if(!taskToy_Status) return 1;
if(AcceptQuest[playerid][2]!=0 && QuestProgress[playerid][2]!=5)
{
if(QuestProgress[playerid][2]<5 && AcceptQuest[playerid][2]!=0)
{
QuestProgress[playerid][2]++;
new format_text[90];
format(format_text, 90, "Вы забрали игрушку для елки, осталось найти %d игрушки.", 5 - QuestProgress[playerid][2]);
SendClientMessage(playerid, 0xAFAFAFFF, format_text);
}
if(QuestProgress[playerid][2]==5 && AcceptQuest[playerid][2]!=0)
{
ShowDialog(playerid,0,0," ","{FFFFFF}Вы успешно собрали 5 подарков.\nВозращайтесь обратно, чтобы получить награду за выполненое задание.","Принять","");
NextStapQI(playerid,2);
}
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 2, 0, 0, 0, 0, 0);
removeTaskToyPickup(i);
taskToy_Status = false;
}
}
}
}
#if defined ac_OnPlayerKeyStateChange
return ac_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
#else
return 1;
#endif
}
#if defined _ALS_OnPlayerKeyStateChange
#undef OnPlayerKeyStateChange
#else
#define _ALS_OnPlayerKeyStateChange
#endif
#define OnPlayerKeyStateChange ac_OnPlayerKeyStateChange
#if defined ac_OnPlayerKeyStateChange
forward ac_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
#endif

Думаю разберетесь если что пишите помогу с установкой, всем спасибо, удачи. :)