- 0
Am o problema cu un battlepass,de ce nu merge comanda /misiuni cand o scriu,tin sa precizez ca script-ul mi l-a facut chatgpt
-
Similar Content
-
Recently Browsing 0 members
- No registered users viewing this page.
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.
Question
cbnmihaita
#define MAX_MISSIONS 5 // Maximul de misiuni per jucator
new playerBattlepass[MAX_PLAYERS];
new playerLevel[MAX_PLAYERS];
new playerKills[MAX_PLAYERS]; // Numarul de ucideri al fiecarui jucator
new playerMissions[MAX_PLAYERS][MAX_MISSIONS]; // Array pentru misiuni
// Forward declarations pentru functiile publice
public OnPlayerDeath_ham(playerid, killerid, reason);
public cmd_battlepass(playerid, params[]);
public cmd_missions(playerid, params[]);
// Functia de a câ?tiga puncte în Battlepass
stock EarnBattlepassPoints(playerid, points)
{
playerBattlepass[playerid] += points;
UpdatePlayerLevel(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Ai câ?tigat puncte de Battlepass!");
}
// Functia de a actualiza nivelul jucatorului
stock UpdatePlayerLevel(playerid)
{
new level = playerBattlepass[playerid] / 100; // 100 puncte pentru un nivel
if (level > playerLevel[playerid])
{
playerLevel[playerid] = level;
SendClientMessage(playerid, COLOR_GREEN, "Felicitari! Ai urcat la un nou nivel în Battlepass!");
GiveBattlepassReward(playerid, level);
}
}
// Functia de a acorda recompense pe baza nivelului
stock GiveBattlepassReward(playerid, level)
{
switch (level)
{
case 1:
{
GivePlayerMoney(playerid, 1000);
break;
}
case 2:
{
SendClientMessage(playerid, COLOR_YELLOW, "Ai primit un skin exclusiv pentru Battlepass!");
break;
}
case 3:
{
SetPlayerHealth(playerid, 200);
break;
}
// Adauga mai multe nivele ?i recompense dupa necesita?i
default:
{
SendClientMessage(playerid, COLOR_RED, "Nu ai nicio recompensa disponibila pentru acest nivel.");
break;
}
}
}
// Functia de a adauga o misiune
stock AddMission(playerid, missionID)
{
if (missionID < MAX_MISSIONS)
{
playerMissions[playerid][missionID] = 1; // Marcheaza misiunea ca fiind activa
SendClientMessage(playerid, COLOR_BLUE, "Ai o misiune noua pentru Battlepass!");
}
}
// Verifica daca jucatorul a completat o misiune
stock CheckMissionCompletion(playerid, missionID)
{
if (playerMissions[playerid][missionID] == 1)
{
EarnBattlepassPoints(playerid, 50); // Câ?tiga puncte pentru completarea misiunii
playerMissions[playerid][missionID] = 0; // Reseteaza misiunea
SendClientMessage(playerid, COLOR_GREEN, "Misiunea ta a fost completata! Ai câstigat puncte de Battlepass.");
}
}
// Functia de a raspunde la moartea unui jucator
public OnPlayerDeathCustom(playerid, killerid, reason)
{
if (killerid != INVALID_PLAYER_ID)
{
playerKills[killerid]++;
if (playerKills[killerid] >= 10)
{
AddMission(killerid, 1); // Misiunea de ucidere a 10 jucatori este completata
playerKills[killerid] = 0; // Reseteaza contorul de ucideri
}
}
}
// Apelul func?iei OnPlayerDeath
public OnPlayerDeath_ham(playerid, killerid, reason)
{
OnPlayerDeathCustom(playerid, killerid, reason); // Apelam func?ia OnPlayerDeathCustom
}
// Înregistram comenzile folosind OnPlayerCommandText
public OnPlayerCommandText(playerid, cmdtext[])
{
SendClientMessage(playerid, COLOR_YELLOW, "Comanda a fost apelata!");
if (cmdtext[0] == '/')
{
// Comanda pentru Battlepass
if (strcmp(cmdtext, "/battlepass", true) == 0)
{
return cmd_battlepass(playerid, cmdtext);
}
// Comanda pentru Misiuni
else if (strcmp(cmdtext, "/misiuni", true) == 0)
{
return cmd_missions(playerid, cmdtext);
}
}
return 1;
}
// Comanda pentru a verifica progresul Battlepass
public cmd_battlepass(playerid, params[])
{
new message[256];
format(message, sizeof(message), "Ai %d puncte de Battlepass, iar nivelul tau este %d.", playerBattlepass[playerid], playerLevel[playerid]);
SendClientMessage(playerid, COLOR_GREEN, message);
return 1;
}
// Comanda pentru a verifica misiunile
public cmd_missions(playerid, params[])
{
new message[256];
new hasMissions = false;
format(message, sizeof(message), "Misiunile tale active sunt: ");
// Verificam fiecare misiune pentru a o adauga la mesaj
for (new i = 0; i < MAX_MISSIONS; i++)
{
if (playerMissions[playerid][i] == 1)
{
hasMissions = true;
format(message, sizeof(message), "%s\nMisiune %d: Active", message, i+1);
}
}
// Daca nu exista misiuni active, informam jucatorul
if (!hasMissions)
{
SendClientMessage(playerid, COLOR_RED, "Nu ai nicio misiune activa.");
}
else
{
SendClientMessage(playerid, COLOR_GREEN, message);
}
return 1;
}
2 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now