Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ATL poslato Novembar 10, 2012, 22:25:27 POSLE PODNE

Naslov: [Pomoc] 4 Errora | [Pitanje] Dal bi ovo radilo?
Poruka od: ATL poslato Novembar 10, 2012, 22:25:27 POSLE PODNE
Skripta koju koristim: C-RP(od 0)
Detaljan opis problema: 4 Errora
Dio skripte:
playername[MAX_PLAYER_NAME],
cmd[256],
tmp[256],
giveplayerid,
idx;

cmd = strtok(cmdtext, idx);

//Komande

//Davanje Admina i GMa
if(strcmp(cmd, "/makeadmin", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /makeadmin [Playerid/DioImena] [level(1-4)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strvalEx(tmp);
if (PlayerInfo[playerid][pAdmin] == 1338)
{
    if(IsPlayerConnected(para1))
    {
        if(para1 != INVALID_PLAYER_ID)
        {
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
printf("AdmCmd: %s je postavio %s na level %d admina.", sendername, giveplayer, level);
format(string, sizeof(string), "Postavili ste na level %d admina od strane %s", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Postavio si %s na level %d admina.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "Niste ovlasteni za koristenje ove komande!");
}
return 1;
}
if(strcmp(cmd, "/makegm", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "KORISTENJE: /makegm [Playerid/DioImena] [level(1-4)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strvalEx(tmp);
if (PlayerInfo[playerid][pAdmin] == 1338)
{
    if(IsPlayerConnected(para1))
    {
        if(para1 != INVALID_PLAYER_ID)
        {
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pGameMaster] = level;
printf("AdmCmd: %s je postavio %s na level %d Game Mastera.", sendername, giveplayer, level);
format(string, sizeof(string), "  Postavljeni ste na level %d Game Mastera od strane %s", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "  Postavili ste %s na level %d Game Mastera.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "   Niste ovlasteni za koristenje ove komande!");
}
return 1;
}
//Admin/GameMaster Komande:
if(strcmp(cmd, "/disease", true) == 0)
{
    if(PlayerInfo[playerid][pAdmin] != 1338) return SCM(playerid, COLOR_RED, "Nisi ovlasten za /disease komandu!");
    if(DiseaseEnbale == 0)
    {
SCM(playerid, COLOR_YELLOW, "Upalio si bolesti na Serveru.");
DiseaseEnbale = 1;
}
  if(DiseaseEnbale == 1)
  {
  SCM(playerid, COLOR_YELLOW, "Ugasio si bolesti na Serveru.");
  DiseaseEnbale = 0;
  }
return 1;
}
if(strcmp(cmd, "/ban", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /ban [Playerid/DioImena] [reason]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 2)
{
    if(IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
    GetPlayerName(giveplayerid, 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, "KORISTENJE: /ban [Playerid/DioImena] [razlog]");
return 1;
}
if (!GetPVarInt(giveplayerid, "gPlayerLogged"))
{
    SendClientMessage(playerid, COLOR_RED, "Taj igrac nije logiran.");
return 1;
}
                        new playersip[128];
new year, month, day;
new hours, minutes, seconds;
GetPlayerIp(giveplayerid,playersip,sizeof(playersip));
getdate(year, month, day);
gettime(hours, minutes, seconds);
format(string, sizeof(string), "AdmCmd: %s [IP: %s] je dobio ban od admina %s, razlog: %s (%d-%d-%d)", giveplayer, playersip, sendername, (result),day,month,year);
BanLog(string);
format(string, sizeof(string), "AdmCmd: %s je dobio ban od admina %s, razlog: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
                        ClearChatBox(giveplayerid);
                        SendClientMessage(giveplayerid, COLOR_RED,"SERVER: Dobili ste ban.");
                        format(string, sizeof(string), " - Admin koji vas je banao: %s", sendername);
                        SendClientMessage(giveplayerid, COLOR_WHITE, string);
                        format(string, sizeof(string), " - Razlog: %s", (result));
                        SendClientMessage(giveplayerid, COLOR_WHITE, string);
            format(string, sizeof(string), " - Vasa IP adresa: %s", playersip);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
            format(string, sizeof(string), " - Datum: %d/%d/%d | %d:%d:%d", day,month,year,hours,minutes,seconds);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                SendClientMessage(giveplayerid, COLOR_RED,"SERVER: Ako mislite da niste zasluzili ban molimo vas da nam se obratite na www.Uskoro.info");
PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pLevel];
PlayerInfo[giveplayerid][pLevel] = -999;
Ban(giveplayerid);
return 1;
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "Taj igrac nije online!");
}
return 1;
}
if(strcmp(cmd, "/banip", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /banip [Playerid/DioImena] [razlog]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameMaster] >= 1)
{
    if(IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
    GetPlayerName(giveplayerid, 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, "KORISTENJE: /banip [Playerid/DioImena] [reason]");
return 1;
}
                        new playersip[128];
GetPlayerIp(giveplayerid,playersip,sizeof(playersip));
format(string, sizeof(string), "AdmCmd: %s je dobio ban od admina %s, razlog: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
                        ClearChatBox(giveplayerid);
                        SendClientMessage(giveplayerid, COLOR_RED,"SERVER: Dobili ste IP ban.");
                        format(string, sizeof(string), " - Admin koji vas je banao: %s", sendername);
                        SendClientMessage(giveplayerid, COLOR_WHITE, string);
                        format(string, sizeof(string), " - Razlog: %s", (result));
                        SendClientMessage(giveplayerid, COLOR_WHITE, string);
Ban(giveplayerid);
return 1;
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "Taj igrac nije online!");
}
return 1;
}
    if(strcmp(cmd, "/kick", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /kick [Playerid/DioImena] [razlog]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameMaster] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, 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, "KORISTENJE: /kick [Playerid/DioImena] [razlog]");
return 1;
}
new year, month,day;
getdate(year, month, day);


if(PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "AdmCmd: %s je dobio kick od Admina %s, razlog: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "AdmCmd: %s je dobio kick od Admina %s, razlog: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
Kick(giveplayerid);
return 1;
}
else
{
    format(string, sizeof(string), "AdmCmd: %s je dobio kick od GameMastera %s, razlog: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "AdmCmd: %s je dobio kick od GameMastera %s, razlog: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
Kick(giveplayerid);
return 1;
}
}
}
}
else
{
format(string, sizeof(string), "   %d nije online.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/charge", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /charge [Playerid/DioImena] [iznos] [razlog]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strvalEx(tmp);
if(money < 1 || money > 99999)
{
    SendClientMessage(playerid, COLOR_GREY, "Cijena kazne nemoze biti manja od $1 i veca od $99999!");
    return 1;
}
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, "KORISTENJE: /charge [Playerid/DioImena] [iznos] [razlog]");
return 1;
}
    if(IsPlayerConnected(playerid))
{
    SendClientMessage(playerid, COLOR_RED, "Taj igrac nije logiran.");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s je novcano kaznio igraca %s sa %d$, razlog: %s (%d-%d-%d)", sendername, giveplayer, money, (result) ,month, day, year);
ChargeLog(string);
format(string, sizeof(string), "AdmCmd: %s je novcano kaznio igraca %s sa %d$, razlog: %s", sendername, giveplayer, money, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
GivePlayerMoney(playa, -money);
return 1;
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "Taj igrac nije online!");
}
return 1;
}
if(strcmp(cmd, "/makeleader", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /makeleader [Playerid/DioImena] [ID(1-14)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strvalEx(tmp);
if(level > 14 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Nemoj ici ispod 0, ili iznad broja 14!"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
    if(IsPlayerConnected(para1))
    {
        if(para1 != INVALID_PLAYER_ID)
        {
            if(PlayerInfo[para1][pTeam] > 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Taj igrac je u organizaciji!");
                return 1;
            }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLider] = level;
format(string, sizeof(string), "Dobio si kontrolu nad zatrazenom organizacijom od strane Admina %s", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Dao si %s kontrolu da vodi organizaciju broj %d.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
if(level == 0) { PlayerInfo[para1][pSkin] = 0; }
else if(level == 1) { PlayerInfo[para1][pSkin] = 59; PlayerInfo[para1][pTeam] = 2; PlayerInfo[para1][pRank] = 10; gTeam[para1] = 2;} //Policija
else if(level == 2) { PlayerInfo[para1][pSkin] = 17; PlayerInfo[para1][pTeam] = 2; PlayerInfo[para1][pRank] = 6; gTeam[para1] = 2;} //FBI
else if(level == 3) { PlayerInfo[para1][pSkin] = 295; PlayerInfo[para1][pTeam] = 1; PlayerInfo[para1][pRank] = 6; gTeam[para1] = 1;} //EMS
else if(level == 4) { PlayerInfo[para1][pSkin] = 57; } //CNN
else if(level == 5) { PlayerInfo[para1][pSkin] = 186; } //Mayor
else if(level == 6) { PlayerInfo[para1][pSkin] = 299; } //Street Racer
else if(level == 7) { PlayerInfo[para1][pSkin] = 21; } //CBB
else if(level == 8) { PlayerInfo[para1][pSkin] = 270; } //GSF
else if(level == 9) { PlayerInfo[para1][pSkin] = 125; } //RM
else if(level == 10) { PlayerInfo[para1][pSkin] = 292; } //Crips
    gTeam[para1] = 17;
    PlayerInfo[para1][pTeam] = 17;
    if(PlayerInfo[para1][pSkin] == 0) { SetPlayerSkin(para1, 299); }
                    else { SetPlayerSkin(para1, PlayerInfo[para1][pSkin]); }
                    }
}
}
}
else
SendClientMessage(playerid, COLOR_RED, "Niste ovlasteni za koristenje /makeleader komande!");
return 1;
}
//Lider komande:
if(strcmp(cmd, "/invite", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISTENJE: /invite [Playerid/DioImena]");
return 1;

Neke slike/video za lakse dobivanje pomoci(neobavezno):
E:\Silvio - Podaci\Silvio\Podaci\California RolePlay - Podaci\Server - California Role Play\California GameMod\gamemodes\CRP.pwn(3978 -- 4404) : error 010: invalid function or declaration
E:\Silvio - Podaci\Silvio\Podaci\California RolePlay - Podaci\Server - California Role Play\California GameMod\gamemodes\CRP.pwn(3978 -- 4407) : error 010: invalid function or declaration
E:\Silvio - Podaci\Silvio\Podaci\California RolePlay - Podaci\Server - California Role Play\California GameMod\gamemodes\CRP.pwn(3978 -- 4410) : error 010: invalid function or declaration
E:\Silvio - Podaci\Silvio\Podaci\California RolePlay - Podaci\Server - California Role Play\California GameMod\gamemodes\CRP.pwn(3978 -- 4410) : fatal error 107: too many error messages on one line






O kakvom savjetu se radi: //
Detaljan opis savjeta:
Dakle trebam neku osobu koja se vise razumije u Pawn. Mozel mi netko reci dal ce ovo funkcionirati.
Znaci, jedan Timer sal Loopao za sve, i stavio Random Timer

new disease=(random(25200000-10800000)+10800000);
SetTimerEx("bolest", disease, false, "i", i);
foreach(Player,i)


I sad neznam dal ce taj Timer postaviti jednoj osobu bolest, ili svim igracima istu bolest.

public bolest(playerid)
{
       //Koda ce ici(nije dovrseno)
return 1;
}

Komentar:
Naslov: Odg: [Pomoc] 4 Errora | [Pitanje] Dal bi ovo radilo?
Poruka od: --Lood-- poslato Novembar 10, 2012, 23:19:12 POSLE PODNE
Ovo za timer
nezz sad jel ti to cmd il sta

ugl ako si koristio
foreach(Player, i)
{
pa SetTimerEx(...i ovde stavio i)
}

Onda ovo public ce vaziti samo za sve konektovane igrace, za svakog igraca koji udje posle toga nece vaziti... :)
Naslov: Odg: [Pomoc] 4 Errora | [Pitanje] Dal bi ovo radilo?
Poruka od: Spartacus poslato Novembar 11, 2012, 10:20:34 PRE PODNE
Pa tu bi ti bio prevelik tajmer. Koristi ovo. #define Sec(%0) (( %0 ) * ( 1000 ))
#define Min(%0)  (( %0 ) * ( 1000*60 ))
#define Hours(%0) (( %0 ) * ( 1000*60*60 ))
I onda u publicu bolest koristi foreach. A za komande preporučujem ZCMD i YCMD, javi se na PM ako ti treba objašnjenje.
Naslov: Odg: [Pomoc] 4 Errora | [Pitanje] Dal bi ovo radilo?
Poruka od: ATL poslato Novembar 11, 2012, 10:52:50 PRE PODNE
Citat: Mr.Cisco poslato Novembar 11, 2012, 10:20:34 PRE PODNE
Pa tu bi ti bio prevelik tajmer. Koristi ovo. #define Sec(%0) (( %0 ) * ( 1000 ))
#define Min(%0)  (( %0 ) * ( 1000*60 ))
#define Hours(%0) (( %0 ) * ( 1000*60*60 ))
I onda u publicu bolest koristi foreach. A za komande preporučujem ZCMD i YCMD, javi se na PM ako ti treba objašnjenje.

Nisi me skuzio, ja zelim da jedan timer radi za sve, i da onda Server odabere igrace koje ce dobit odredjenu bolest