new tiki1,....tiki50;
new Picked[MAX_PLAYERS];
tiki1 = CreatePickup(1234, X, Y, Z, -1); etc
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == tiki1)
{
if(!Picked[playerid])
{
SendClientMessage(playerid, COLOR_GREY, "Ai gasit o statueta tiki si ai primit 5RP!");
PlayerInfo[playerid][pExp] += 5;
Picked[playerid] ++;
}
else { }
}
if(pickupid == tiki2)
{
if(!Picked[playerid])
{
SendClientMessage(playerid, COLOR_GREY, "Ai gasit o statueta tiki si ai primit un level up!");
SendClientMessage(playerid, COLOR_GREY, "Felicitari,ai colectat toate tiki-urile si ai mai primit un bonus de 1.5kk!");
PlayerInfo[playerid][pLevel] +=1;
GivePlayerMoney(playerid, 1500000);
Picked[playerid] ++;
}
else { }
}
return 1;
}
new tiki[50]; // You should've make this variable as an array for easier use
new bool:Picked[MAX_PLAYERS][50];
tiki[0] = CreatePickup(1234, X, Y, Z, -1);
// ... until tiki[49] = CreatePickup(...
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i = 0; i < 50; i++) // Loop 50 times to check if pickupid is tiki pickup
{
if(pickupid != tiki[i])
continue;
if(Picked[playerid][i])
return SendClientMessage(playerid, COLOR_GREY, "You picked up this tiki already!");
else
{
OnPlayerPickTiki(playerid, i);
Picked[playerid][i] = true;
return 1;
}
}
return 1;
}
forward OnPlayerPickTiki(playerid, tikiid);
public OnPlayerPickTiki(playerid, tikiid) // This callback is called on player picked up a tiki (tikid = index of tiki)
{
switch(tikiid)
{
case 0: // If player picked up tiki[0]
{
SendClientMessage(playerid, COLOR_GREY, "Ai gasit o statueta tiki si ai primit 5RP!");
PlayerInfo[playerid][pExp] += 5;
}
case 1: // If player picked up tiki[1]
{
SendClientMessage(playerid, COLOR_GREY, "Ai gasit o statueta tiki si ai primit un level up!");
SendClientMessage(playerid, COLOR_GREY, "Felicitari,ai colectat toate tiki-urile si ai mai primit un bonus de 1.5kk!");
PlayerInfo[playerid][pLevel] +=1;
GivePlayerMoney(playerid, 1500000);
}
case 2:
{
// ...
}
}
return 1;
}
IsPlayerPickedUpAllTiki(playerid) // You can use this to check if player picked up all tikis
{
for(new i = 0; i < 50; i++)
if(!Picked[playerid][i])
return false;
return true;
}
|
It works perfectly,but if I restart the server I am able to pick them up. And other question. IsPlayerPickedUpAllTiki(playerid) gave me warning that is never used?
|
|
Okay but let's say that i'm looking for tiki's and first tiki I found is actually the last one. it'll trigger the IsPlayerPickedUpAllTiki?
I mean, I want if players have founded 49 tiki's, no matter what numbers, the 50th tiki will gave the bonus that I will script? |
|
Okay but let's say that i'm looking for tiki's and first tiki I found is actually the last one. it'll trigger the IsPlayerPickedUpAllTiki?
I mean, I want if players have founded 49 tiki's, no matter what numbers, the 50th tiki will gave the bonus that I will script? |
new PlayerPickups[MAX_PLAYERS];
PlayerPickups[playerid] +=1;