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:
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... :)
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.
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