[Pomoc] 4 Errora | [Pitanje] Dal bi ovo radilo?


Započeo ATL, Novembar 10, 2012, 22:25:27 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

ATL

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.

ATL

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