- 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
-
Am o problema cu un special quest de iarna,sunt la inceput cu scripting-ul si am o problema,cand intru in raza de checkpoint nu se intampla absolut nimic,stie cineva de ce?
By cbnmihaita,
- 2 answers
- 313 views
-
Salut,imi apare asta cand pornesc serverul,dar eu am bagat acolo in server.cfg ce e nevoie,imi puteti spune va rog problema ?
By leoo671,
- 0 replies
- 794 views
-
Am si eu o problema cand intru pe un server imi spune ca am dat afar chiar daca intru cu un alt cont.
By nutu112,
- 1 answer
- 522 views
-
- 7 answers
- 832 views
-
- 6 answers
- 548 views
-
-
Recently Browsing 0 members
- No registered users viewing this page.
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.