Skripta koju koristim:South Europe
Detaljan opis problema:Namestio sam kada igras stavi masko da mu na tabu pise (masked),ali kad skine masku ostane mu masked.Da li zna neko kako da namestim da mu se vrati ime kada skine masku?
Dio skripte:dacu ako treba
Neke slike/video za lakse dobivanje pomoci(neobavezno):/
Cuvanje imena u komandi za stavljanje, kasnije kada skidas samo mu ucitas to ime.
ovo sam stavio da kad kucam /maskon
SetPlayerName(playerid, "(MASKED)");
e sad nzm kako to da uradim za /maskoff
new MaskaIme[MAX_PLAYERS][24];
i kada kucas /maskon pre menjanja imena stavis:
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid,Ime,sizeof(Ime));
format(MaskaIme[playerid],24,"%s",Ime);
i u /maskoff stavis:
SetPlayerName(playerid,MaskaIme[playerid]);
I pod onplayerdisconnect za svaki slucaj, da ti nebi pravio novi acc:
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid,Ime,sizeof(Ime));
if(!strcmp(Ime,"(MASKED)",false)) SetPlayerName(playerid,MaskaIme[playerid]);
Samo jos moras paziti ako imas cuvanje tokom igre da ako je maskiran da cuva sa MaskaIme, da ne uzima ovo ime jer napravice novi acc..
Ne kapiram bas nesto za /maskoff
ae postavicu komandu pa ti vidi dal sam dobro odradio
if(strcmp(cmd, "/maskon", true) == 0) // by Ellis
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMask] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nemate masku");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste u mogucnosti da je koristite.");
return 1;
}
foreach (Player, i)
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
}
PlayerInfo[playerid][pMaskuse] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Stavili ste vasu masku [/maskoff da je skinete].");
SetPlayerAttachedObject(playerid, 5, 18912, 2,0.078534, 0.041857, -0.001727, 268.970458, 1.533374, 269.223754 ); // HockeyMask1 - 3
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerName(playerid, "(MASKED)");
format(string, sizeof(string), "* %s stavlja masku.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
if(strcmp(cmd, "/maskoff", true) == 0) // by Ellis
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMask] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nemate masku");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste u mogucnosti da je koristite.");
return 1;
}
foreach (Player, i)
{
ShowPlayerNameTagForPlayer(i, playerid, 1);
}
PlayerInfo[playerid][pMaskuse] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Skinuli ste masku [/maskon da je opet stavite].");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s skida masku.", sendername);
RemovePlayerAttachedObject(playerid,5);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
Nije mi jasno sto me nisi slusao...
Uvedi ovu novu promenljivu tamo gore je definises:
new MaskaIme[MAX_PLAYERS][24];
Komande:
if(strcmp(cmd, "/maskon", true) == 0) // by Ellis
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMask] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nemate masku");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste u mogucnosti da je koristite.");
return 1;
}
foreach (Player, i)
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
}
PlayerInfo[playerid][pMaskuse] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Stavili ste vasu masku [/maskoff da je skinete].");
SetPlayerAttachedObject(playerid, 5, 18912, 2,0.078534, 0.041857, -0.001727, 268.970458, 1.533374, 269.223754 ); // HockeyMask1 - 3
GetPlayerName(playerid, sendername, sizeof(sendername));
format(MaskaIme[playerid],24,"%s",sendername);
SetPlayerName(playerid, "(MASKED)");
format(string, sizeof(string), "* %s stavlja masku.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
if(strcmp(cmd, "/maskoff", true) == 0) // by Ellis
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMask] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nemate masku");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste u mogucnosti da je koristite.");
return 1;
}
foreach (Player, i)
{
ShowPlayerNameTagForPlayer(i, playerid, 1);
}
PlayerInfo[playerid][pMaskuse] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Skinuli ste masku [/maskon da je opet stavite].");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s skida masku.", sendername);
SetPlayerName(playerid,MaskaIme[playerid]);
RemovePlayerAttachedObject(playerid,5);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
OnPlayerDisconnect:
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid,Ime,sizeof(Ime));
if(!strcmp(Ime,"(MASKED)",false)) SetPlayerName(playerid,MaskaIme[playerid]);
I jos citiracu samog sebe sta sam napisao na sta da pazis:
CitatSamo jos moras paziti ako imas cuvanje tokom igre da ako je maskiran da cuva sa MaskaIme, da ne uzima ovo ime jer napravice novi acc..
Pravi mi novi acc kad stavim masku
Reseno,moze lock