Skripta koju koristim: iStunt
Detaljan opis problema: Imam komandu /chat, i zelim napraviti da mora admin kucati /chat 0 da ugasi chat i /chat 1 da ga upali ali neznam kako, vidio samu drugim modovima ali to je nekako u DCMD, sve drugacije :S
Dio skripte:
CMD:chat(playerid,params[])
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdminLevel] >= 3)
{
if (sscanf(params, "i")) SendClientMessage(playerid, COLOR_WHITE, "Koristenje: /chat [0-1]");
new pName[24], string[128];
GetPlayerName(playerid,pName,24);
if (IsChatOnOrOff[playerid] == false)
{
for(new i; i< MAX_PLAYERS; i++)
{
IsChatOnOrOff[i] = true;
format(string,128,"Administrator %s je iskljucio chat!", pName);
SendClientMessage(i, COLOR_LIGHTBLUE,string);
}
}
else if(IsChatOnOrOff[playerid] == true)
{
for(new i; i< MAX_PLAYERS; i++)
{
IsChatOnOrOff[i] = false;
format(string,128,"Administrator %s je ukljucio chat!", pName);
SendClientMessage(i, COLOR_LIGHTBLUE,string);
}
}
}
else SendClientMessage(playerid, COLOR_KRED, "Niste autorizirani za koristenje ove komande");
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
CMD:chat(playerid, params[])
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdminLevel] >= 3)
{
new
chatOnOff;
if(sscanf(params, "i", chatOnOff)) return SendClientMessage(playerid, COLOR_WHITE, "Koristenje: /chat [0-1]");
else
{
new
pName[MAX_PLAYER_NAME],
string[54];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
switch(chatOnOff)
{
case 0:
{
IsChatOnOrOff = 0;
format(string, sizeof(string), "Administrator %s je iskljucio chat!", pName);
SendClientMessage(i, COLOR_LIGHTBLUE,string);
}
case 1:
{
IsChatOnOrOff = 1;
format(string, sizeof(string), "Administrator %s je ukljucio chat!", pName);
SendClientMessage(i, COLOR_LIGHTBLUE, string);
}
}
}
}
else SendClientMessage(playerid, COLOR_KRED, "Niste autorizirani za koristenje ove komande");
return 1;
}
To bi trebalo biti to.
Samo si na vrh skripte umjesto new IsChatOnOrOff[MAX_PLAYERS]; stavi new IsChatOnOrOff;
D:\Private\Server\gamemodes\iStunt.pwn(796) : error 028: invalid subscript (not an array or too many subscripts): "IsChatOnOrOff"
D:\Private\Server\gamemodes\iStunt.pwn(796) : warning 215: expression has no effect
D:\Private\Server\gamemodes\iStunt.pwn(796) : error 001: expected token: ";", but found "]"
D:\Private\Server\gamemodes\iStunt.pwn(796) : error 029: invalid expression, assumed zero
D:\Private\Server\gamemodes\iStunt.pwn(796) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
if(IsChatOnOrOff[playerid] == true)
ZaÅ¡to nisi koristio toÄno ovo moje gore iznad?
nego st osam koristio? PA mora i ovo biti pod OnPlayerText inace ne radi evo sve od OnPlayerText za ovo cmd
if(IsChatOnOrOff[playerid] == true)
{
SendClientMessage(playerid, COLOR_YELLOW, "Chat je ugasen!");
return 0;
}
Ako si koristio moje onda ovako mora biti pod OnPlayerText() callbacku:
if(IsChatOnOrOff == 0) return SendClientMessage(playerid, COLOR_YELLOW, "Chat je ugasen!");
CMD:chat(playerid, params[])
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdminLevel] >= 3)
{
new chatOnOff;
if(sscanf(params, "i", chatOnOff)) return SendClientMessage(playerid, COLOR_WHITE, "Koristenje: /chat [0-1]");
else
{
new
pName[MAX_PLAYER_NAME],
string[54];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
switch(chatOnOff)
{
case 0:
{
IsChatOnOrOff = 0;
format(string, sizeof(string), "Administrator %s je iskljucio chat!", pName);
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
}
case 1:
{
IsChatOnOrOff = 1;
format(string, sizeof(string), "Administrator %s je ukljucio chat!", pName);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
}
}
}
}
else SendClientMessage(playerid, COLOR_KRED, "Niste autorizirani za koristenje ove komande");
return 1;
}
eto tako sam napravio, i ono gore sto si mentuo ali kad ugasim chat opet more pisat -.-
Stavi umjesto onog gore ovo u OnPlayerText() callback:
if(IsChatOnOrOff == 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Chat je ugasen!");
return 0;
}
aaaaaaaaa napokon :D Tnx, lock sto bi ja bez tebe