Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Chuck:) poslato Jul 04, 2011, 18:26:41 POSLE PODNE

Naslov: [Pomoc] Komanda /prison & /mute
Poruka od: Chuck:) poslato Jul 04, 2011, 18:26:41 POSLE PODNE
Pozdrav,koliko sam ja skužio meni je moderator rekao da ja tu otvorim temu:
Citat: [TG]$--L84S--$ poslato Jul 04, 2011, 11:10:32 PRE PODNE

Nempj vise da to radis ovo ti je vec treci za redom da tu nesto BUMP ako ti netko napraviti onda ce ti napraviti i stavis u temu razgovor u vezi samp skritpana komande /w i /sms i kako napraviti da to sta zelis.

Skripta koju koristim: Street Stories (edit moj)
Detaljan opis problema: Treba mi komanda /mute [Id/dio imena] [Vrijeme] znaci s timerom te /prison [Id/Dio imena] [Vrijeme] [Razlog]
Dio skripte:
/prison:
if(strcmp(cmd, "/prison",true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
         if(PlayerInfo[playerid][pAdmin] < 2 && !IsPlayerAdmin(playerid) && PlayerInfo[playerid][pGameSage] < 4)
        {
            SendClientMessage(playerid, COLOR_GREY, "   [ODBIJENO] Niste autorizovani da bi ste Koristiteli ovu komandu! !");
            return 1;
        }
         tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koristite: /prison [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Smestili ste %s u Fort DeMorgan.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Stavljeni ste u Lošinj Areu od Administratora/GameSagea %s.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
GameTextForPlayer(giveplayerid, "~w~Dobrodosli u ~n~~r~Lošinj Areu", 5000, 3);
WantedPoints[giveplayerid] = 0;
WantedLevel[giveplayerid] = 0;
PlayerInfo[giveplayerid][pJailed] = 2;
PlayerInfo[giveplayerid][pJailTime] = 3600;
            SetPlayerPos(giveplayerid, 2492.4438,2411.7476,1883.8347,359)
        }
}
else
{
    SendClientMessage(playerid, COLOR_GREY, "   Igrac je Offline !");
    return 1;
}
    }
    return 1;
}


/mute:
if(strcmp(cmd, "/mute", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koristite: /mute [playerid/PartOfName]");
return 1;
}
new playa;
playa = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playa][pMuted] == 0)
{
PlayerInfo[playa][pMuted] = 1;
printf("*{F81414}|{FFFFFF}A{F81414}| %s usutkan %s",sendername,  giveplayer);
format(string, sizeof(string), "*{F81414}|{FFFFFF}A{F81414}| %s je usutkan od %s",giveplayer ,sendername);
ABroadCast(COLOR_LIGHTRED,string,1);
}
else
{
PlayerInfo[playa][pMuted] = 0;
printf("[ADMIN]: %s vise nije ucutkan %s",sendername,  giveplayer);
format(string, sizeof(string), "*{F81414}|{FFFFFF}A{F81414}| %s vise nije usutkan od %s",giveplayer ,sendername);
ABroadCast(COLOR_LIGHTRED,string,1);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Niste autorizovani da bi ste Koristiteli ovu komandu!");
}
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): /

Hvala unaprijed,LP
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: MicroSD_ poslato Jul 04, 2011, 18:47:16 POSLE PODNE
evo ti prison

if(strcmp(cmd, "/prison", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /prison [ID Igraca/Dio Imena] [minute] [razlog]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 2)
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "/prison [ID Igraca/Dio Imena] [minute] [razlog]");
return 1;
}
format(string, sizeof(string), "* Stavio si %s u area51.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "*Stavljen si u areu od admina %s.", sendername);
SendClientMessage(playa, COLOR_LIGHTRED, string);
SafeResetPlayerWeapons(playa);
WantedPoints[playa] = 0;
PlayerInfo[playa][pJailed] = 1;
PlayerInfo[playa][pJailTime] = money*60;
SetPlayerInterior(playa, 0);
PlayerInfo[playa][pInt] = 0;
new rand;

            SetPlayerPos(playa, 107.2300,1920.6311,18.5208);
            SetPlayerWorldBounds(giveplayerid, 337.5694,101.5826,1940.9759,1798.7453);
format(string, sizeof(string), "Zatvoreni ste na %d minuta", money);
SendClientMessage(playa, COLOR_YELLOW, string);
format(string, 256, "Admin: %s je zatvoren(Area51) od admina %s, Razlog: %s, vrijeme: %d", giveplayer, sendername, (result), money);
BroadCast(COLOR_NICERED,string);
format(string, sizeof(string), "Admin: %s je zatvoren(Area51) od admina %s, Razlog: %s, vrijeme: %d", giveplayer, sendername, (result), money);
printf("%s",string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Niste ovlasceni da koristite tu komandu!");
}
}
return 1;
}
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: Chuck:) poslato Jul 04, 2011, 18:57:38 POSLE PODNE
(16180) : warning 203: symbol is never used: "rand"


16180:
new rand;

kako da dodam to da mi ne izbacuje error xd
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: MicroSD_ poslato Jul 04, 2011, 19:02:13 POSLE PODNE
if(strcmp(cmd, "/prison", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /prison [ID Igraca/Dio Imena] [minute] [razlog]");
return 1;
}
new playa;
new money;
                        new rand;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 2)
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "/prison [ID Igraca/Dio Imena] [minute] [razlog]");
return 1;
}
format(string, sizeof(string), "* Stavio si %s u area51.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "*Stavljen si u areu od admina %s.", sendername);
SendClientMessage(playa, COLOR_LIGHTRED, string);
SafeResetPlayerWeapons(playa);
WantedPoints[playa] = 0;
PlayerInfo[playa][pJailed] = 1;
PlayerInfo[playa][pJailTime] = money*60;
SetPlayerInterior(playa, 0);
PlayerInfo[playa][pInt] = 0;
new rand;

            SetPlayerPos(playa, 107.2300,1920.6311,18.5208);
            SetPlayerWorldBounds(giveplayerid, 337.5694,101.5826,1940.9759,1798.7453);
format(string, sizeof(string), "Zatvoreni ste na %d minuta", money);
SendClientMessage(playa, COLOR_YELLOW, string);
format(string, 256, "Admin: %s je zatvoren(Area51) od admina %s, Razlog: %s, vrijeme: %d", giveplayer, sendername, (result), money);
BroadCast(COLOR_NICERED,string);
format(string, sizeof(string), "Admin: %s je zatvoren(Area51) od admina %s, Razlog: %s, vrijeme: %d", giveplayer, sendername, (result), money);
printf("%s",string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Niste ovlasceni da koristite tu komandu!");
}
}
return 1;


probaj tako ili obrisi to, snadji se :D
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: Chuck:) poslato Jul 04, 2011, 22:36:40 POSLE PODNE
Komanda radi,ali izbacuje errore,no nema veze :D
Hvala ti.

Može netko /mute? xD
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: [A]hidroKrilac poslato Jul 04, 2011, 22:38:30 POSLE PODNE
Citat: pHon poslato Jul 04, 2011, 22:36:40 POSLE PODNE
Komanda radi,ali izbacuje errore,no nema veze :D
Hvala ti.

Može netko /mute? xD

Koje Errore?
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: dragan12 poslato Jul 04, 2011, 22:46:14 POSLE PODNE
Citat: pHon poslato Jul 04, 2011, 22:36:40 POSLE PODNE
Komanda radi,ali izbacuje errore,no nema veze :D
Hvala ti.

Može netko /mute? xD
Komanda:
if(strcmp(cmd, "/mute", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /mute [ID Igraca/Dio Imena] [vrijeme] [razlog]");
return 1;
}
new playa;
new time;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
time = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGm] >= 1)
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /mute [ID Igraca/Dio Imena] [vreme] [razlog]");
return 1;
}
if(PlayerInfo[playa][pMuted] == 0)
{
PlayerInfo[playa][pMuted] = 1;
PlayerInfo[playa][pMuteTime] = time*60;
printf("AdmCmd: %s silenced %s",sendername,  giveplayer);
format(string, sizeof(string), "[Info] | {FFFFFF}%s {F81414}je ucutkan od {FFFFFF}%s {F81414}na {FFFFFF}%d {F81414}minuta(s) | Razlog: {FFFFFF}%s",giveplayer ,sendername,time,(result));
ABroadCast(COLOR_RED,string,1);
format(string, sizeof(string), "* [Admin] | {FFFFFF}%s {00C0FF}ti je oduzeo pravo govora na {FFFFFF}%d {00C0FF}minuta | Razlog: {FFFFFF}%s",sendername,time,(result));
    SendClientMessage(playerid, COLOR_BLUE, string);
}
else
{
PlayerInfo[playa][pMuted] = 0;
PlayerInfo[playa][pMuteTime] = 0;
printf("AdmCmd: %s unsilenced %s",sendername,  giveplayer);
format(string, sizeof(string), "[Info] | {FFFFFF}%s je {F81414}dato pravo govora od {FFFFFF}%s!",giveplayer ,sendername);
ABroadCast(COLOR_RED,string,1);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}[{F81414}[Greska]{FFFFFF}] {C3C3C3}Samo Admini i GameMasteri!");
}
}
return 1;
}



Ovo dodajes pod ongamemodeinit:
unmutetimer = SetTimer("SetPlayerUnMute", 1000, 1)


Ovo pod forward:
forward SetPlayerUnMute();


Ovo pod new:
new unmutetimer;


Evo public dodaj ga pred kraj negde kod ostalih:
public SetPlayerUnMute()
{
    foreach(Player, i)
    {
        if(IsPlayerConnected(i))
        {
              if(PlayerInfo[i][pMuted] > 0)
            {
                if(PlayerInfo[i][pMuteTime] > 0)
                {
                    PlayerInfo[i][pMuteTime]--;
                }
                if(PlayerInfo[i][pMuteTime] <= 0)
                {
                    PlayerInfo[i][pMuteTime] = 0;
                    if(PlayerInfo[i][pMuted] == 1)
                    {
                        PlayerInfo[i][pMuted] = 0;
                    }
                    PlayerInfo[i][pMuted] = 0;
                    SendClientMessage(i,COLOR_GREY,"({F81414}Obavestenje!{C3C3C3}) Vase vreme ucutkanosti je isteklo, ubuduce pazite sta radite!");
                }
            }
          }
       }
}

Ovo dodaj pod GameModeExitFunc
KillTimer(unmutetimer);
I mislim da je to sve probaj ;)
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: Chuck:) poslato Jul 05, 2011, 17:33:01 POSLE PODNE

(31789) : error 017: undefined symbol "pMuteTime"
(31799) : error 017: undefined symbol "pMuteTime"
(43996) : error 017: undefined symbol "pMuteTime"
(43998) : error 017: undefined symbol "pMuteTime"
(44000) : error 017: undefined symbol "pMuteTime"
(44002) : error 017: undefined symbol "pMuteTime"


et errori
Naslov: Odg: [Pomoc] Komanda /prison & /mute
Poruka od: System32 poslato Jul 05, 2011, 17:37:25 POSLE PODNE
pMuteTime dodaj u enum pInfo