[Pomoc] /ticket komanda errori


Započeo CkusaColeCM, Mart 30, 2013, 13:43:22 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: BE
Detaljan opis problema: Imao sam bug sa /ticket kad si napisao /ticket izbaci ti "Nisi policajac" i sad sam promjenio komandu sad imam puno errora.
Dio skripte:
Errori
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36862) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36862) : error 017: undefined symbol "cmdtext"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36863) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36868) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36869) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36869) : error 017: undefined symbol "cmdtext"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36870) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36875) : error 017: undefined symbol "tmp"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36883) : error 017: undefined symbol "giveplayer"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36883) : error 017: undefined symbol "giveplayer"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36883) : error 029: invalid expression, assumed zero
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36883) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


12 Errors.

Commanda
COMMAND:ticket(playerid, params[])
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gTeam[playerid] != 2)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Niste policajac!");
			    return 1;
			}
	        if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Niste na Duznosti!");
			    return 1;
			}
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /kazna [ID Igraca/Dio Imena] [cijena] [razlog]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /ticket [ID Igraca/Dio Imena] [cijena] [razlog]");
				return 1;
			}
			moneys = strval(tmp);
			if(moneys < 1 || moneys > 2001) { SendClientMessage(playerid, COLOR_GREY, "   Cijena kazne ne moze biti ispod 1 ni preko 2000 !"); return 1; }
			if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
			        if (ProxDetectorS(8.0, playerid, giveplayerid))
					{
					    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, "Koriscenje: /ticket [ID Igraca/Dio Imena] [cijena] [razlog]");
							return 1;
						}
						if (GetPlayerMoney(giveplayerid) < moneys)
						{
							SendClientMessage(playerid, COLOR_WHITE, "* Taj igrac nema dovoljno novca da plati kaznu.");
							return 1;
						}
						format(string, sizeof(string), "* Napisali ste %s-u kaznu od $%d, razlog: %s", giveplayer, moneys, (result));
						SendClientMessage(playerid, COLOR_WHITE, string);
						format(string, sizeof(string), "* Policajac %s vam je napisao kaznu od $%d, razlog: %s", sendername, moneys, (result));
						SendClientMessage(giveplayerid, COLOR_WHITE, string);
						SendClientMessage(giveplayerid, COLOR_WHITE, "* Kucajte /prihvati ticket, da je prihvatite.");
						SendClientMessage(giveplayerid, COLOR_WHITE, "* Ako ne prihvatite kaznu, ici cete u zatvor!");
						TicketOffer[giveplayerid] = playerid;
						TicketMoney[giveplayerid] = moneys;
						return 1;
					}
					else
					{
						SendClientMessage(playerid, COLOR_GREY, "   Taj igrac nije blizu vas !");
						return 1;
					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Igrac je offline !");
			    return 1;
			}
		}
		return 1;
	}

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

Kraden avatar bloomeru :*

Ne možeš koristiti strcmp dijelove i zcmd komandi,gluposti :)

Ovak:


Daj komandu di prihvacas jer tamo moras koristit varijablu KaznaPoslana ..

Vrh:


new KaznaPoslana[MAX_PLAYERS];


OnPlayerConnect:

KaznaPoslana[playerid] = -1;


Komanda:

CMD:tiket(playerid, params[])
{
 	if(PlayerInfo[playerid][pClan] != 1) return SCM(playerid, 0xFFFFFFAA, "Niste PD"); // ( Prilagodi varijablu pClan )
	new id, Cijena, razlog[32], hIme[3][MAX_PLAYER_NAME], Float:Poz[3]; // Definiras varijable koje koristis u cmd
	if(sscanf(params, "uis[32]", id, Cijena, razlog)) return SCM(playerid, 0xFFFFFFAA, " /kazna [playerid] [cijena] [Razlog]");
	if(!IsPlayerConnected(id)) return SCM(playerid, 0xFFFFFFAA, "Taj igrac je offline!"); // Provjerava id igraca
	if(id == playerid) return SCM(playerid, 0xFFFFFFAA, "Ne mozete sami sebi naplatiti kaznu!"); // Da ne mozes sam sebi naplatiuti
	if(Cijena < 1 || Cijena > 2000) return SCM(playerid, 0xFFFFFFAA, "Cijena moze biti najmanje $1, a najvise $2000!"); // Vrijednost cijene
	GetPlayerPos(id, Poz[0], Poz[1], Poz[2]); // Uzimas poziciju od igrac kome naplacujes
	if(!IsPlayerInRangeOfPoint(playerid, 5.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, 0xFFFFFFAA, "Predaleko ste!"); // ako igrac nije blizu tebe
	RPIme(playerid, hIme[1]); // Uzimas svoje ime
	RPIme(id, hIme[2]); // UZimas ime od igraca kome naplacujes
	KaznaPoslana[id] = playerid; // Naplacujes mu kaznu
	CijenaKazne[id] = Cijena; // Uzimas cijenu koju si upisao
	SCMF(id, 0xFFFFFFAA, "Policajac %s vam je napisao kaznu u iznosu od $%d. kazna: {FFFFFF}%s.", hIme[1], Cijena, razlog); // salje igracu poruku
	SCM(id, 0xFFFFFFAA,  "  Da prihvatite upisite /prihvatu kazna."); // salje igracu poruku
	SCMF(playerid, 0xFFFFFFAA, "Napisali ste kaznu igracu %s u iznosu od $%d. kazna: {FFFFFF}%s.", hIme[2], Cijena, razlog); // salje tebi poruku
	return 1;
}



Dva stocka:

stock RPIme(playerid, Ime[MAX_PLAYER_NAME])
{
    GetPlayerName(playerid, Ime, sizeof(Ime));
    for(new x = 0; x < sizeof(Ime); x++) { if(Ime[x] == '_') Ime[x] = ' '; }
    return 1;
}

stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
   new n=(numargs()-3)*4;
   if(n)
   {
      new message[128],arg_start,arg_end;
      #emit CONST.alt                fstring
      #emit LCTRL                    5
      #emit ADD
      #emit STOR.S.pri               arg_start
      #emit LOAD.S.alt               n
      #emit ADD
      #emit STOR.S.pri               arg_end
      do
	  {
         #emit LOAD.I
         #emit PUSH.pri
         arg_end-=4;
         #emit LOAD.S.pri           arg_end
      }
      while(arg_end>arg_start);
      #emit PUSH.S                   fstring
      #emit PUSH.C                   255
      #emit PUSH.ADR                 message
      n+=4*3;
      #emit PUSH.S                   n
      #emit SYSREQ.C                 format
      n+=4;
      #emit LCTRL                    4
      #emit LOAD.S.alt               n
      #emit ADD
      #emit SCTRL                    4
      return SCM(playerid,color,message);
   }
   else return SCM(playerid,color,fstring);
}
BIG RESPEKT: Blaeks,  [CRP] Joey_, David (Sabljak) A.k.A SABO(T), joXy_, Dimi, Sexserghy ♥, TerminuS, H1TM4N

Evo tu je za prihvatit ima vise djelova jer komanda /prihvati sastoji se od vise elemenata pa ima ono else if... else if... :D
else if(strcmp(x_job,"ticket",true) == 0)
			{
			    if(TicketOffer[playerid] < 999)
			    {
			        if(IsPlayerConnected(TicketOffer[playerid]))
			        {
			            if (ProxDetectorS(5.0, playerid, TicketOffer[playerid]))
						{
				           	GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							format(string, sizeof(string), "* Platio si kaznu u iznosu $%d! Sluzbenik: %s.", TicketMoney[playerid], giveplayer);
							SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
							format(string, sizeof(string), "* %s je platio tvoju kaznu u iznosu od $%d.", sendername, TicketMoney[playerid]);
							SendClientMessage(TicketOffer[playerid], COLOR_LIGHTBLUE, string);
							GivePlayerCash(playerid, - TicketMoney[playerid]);
							GivePlayerCash(TicketOffer[playerid], TicketMoney[playerid]);
							TicketOffer[playerid] = 999;
							TicketMoney[playerid] = 0;
							return 1;
						}
						else
						{
						    SendClientMessage(playerid, COLOR_GREY, "   Sluzbenik nije u tvojoj blizini !");
						    return 1;
						}
			        }
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, "   Niko ti nije naplatio kaznu !");
				    return 1;
				}
			}

Kraden avatar bloomeru :*

Ovak:

Na vrh skripte:

new CenaKazne[BROJ_SLOTOVA];


OnPlayerConnect:

CenaKazne[playerid] = 0;


Dio za prihvatiti:

         
else if(strcmp(x_job,"ticket",true) == 0)
	{
		new Float:Poz[3];
		GetPlayerPos(KaznaPoslana[playerid], Poz[0], Poz[1], Poz[2]);
		if(!IsPlayerInRangeOfPoint(playerid, 5.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, 0xFFFFFFAA, "Predaleko ste od drugog igraca");
	    if(KaznaPoslana[playerid] == -1) return SCM(playerid, 0xFFFFFFAA, "Nemate aktivnu kaznu");
	    if(PlayerInfo[playerid][pNovac] <= 0 ) return SCM(playerid, 0xFFFFFFAA, "Nemate dovoljno novca da platite kaznu");
		else if(PlayerInfo[playerid][pNovac] < CenaKazne[playerid] && PlayerInfo[playerid][pBanka] >= CenaKazne[playerid])
		{
		    new name[MAX_PLAYER_NAME];
		    RPIme(playerid, name);
		    SCMF(playerid, 0xFFFFFFAA, "Platili ste kaznu u iznosu od $%d.", CenaKazne[playerid]);
		    SCMF(KaznaPoslana[playerid], 0xFFFFFFAA, " %s je platio kaznu u iznosu od $%d.", name, CenaKazne[playerid]);
		    CenaKazne[playerid] = 0;
		    KaznaPoslana[playerid] = -1;
		}
		else if(PlayerInfo[playerid][pNovac] >= CenaKazne[playerid])
		{
		    new name[MAX_PLAYER_NAME];
		    RPIme(playerid, name);
		    SCMF(playerid, 0xFFFFFFAA, "Platili ste kaznu u iznosu od $%d.", CenaKazne[playerid]);
		    SCMF(KaznaPoslana[playerid], 0xFFFFFFAA, " %s je platio kaznu u iznosu od $%d.", name, CenaKazne[playerid]);
		    CenaKazne[playerid] = 0;
		    KaznaPoslana[playerid] = -1;
		}
		else return SCM(playerid, 0xFFFFFFAA, "Nemate dovoljno novca da platite kaznu");
	}

   
BIG RESPEKT: Blaeks,  [CRP] Joey_, David (Sabljak) A.k.A SABO(T), joXy_, Dimi, Sexserghy ♥, TerminuS, H1TM4N

Ljepo ti to radis al mislim da je ovaj gm [CENZURA] xd

C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(331) : error 017: undefined symbol "BROJ_SLOTOVA"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(331) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34156) : error 017: undefined symbol "pNovac"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34157) : error 017: undefined symbol "pNovac"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34160) : error 017: undefined symbol "RPIme"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34161) : error 017: undefined symbol "SCMF"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34162) : error 017: undefined symbol "SCMF"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34166) : error 017: undefined symbol "pNovac"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34169) : error 017: undefined symbol "RPIme"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34170) : error 017: undefined symbol "SCMF"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(34171) : error 017: undefined symbol "SCMF"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36848) : error 017: undefined symbol "pClan"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36849) : warning 219: local variable "Cijena" shadows a variable at a preceding level
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36853) : warning 213: tag mismatch
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36853) : warning 213: tag mismatch
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36853) : warning 205: redundant code: constant expression is zero
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36856) : error 017: undefined symbol "RPIme"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36857) : error 017: undefined symbol "RPIme"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36859) : error 017: undefined symbol "CijenaKazne"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36859) : warning 215: expression has no effect
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36859) : error 001: expected token: ";", but found "]"
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36859) : error 029: invalid expression, assumed zero
C:\Users\Korisnik\Desktop\CroMafia Test Folder\Cro Mafia [GM]\gamemodes\BN.pwn(36859) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase

E sad ak ja trebam nesto mjenjati reci mi tocnije redove :D

Kraden avatar bloomeru :*

SCMF,RpIme stock sve sam ti stavio i napisao da zamijeniš varijable samo ti trebaš sada znat kako.
BIG RESPEKT: Blaeks,  [CRP] Joey_, David (Sabljak) A.k.A SABO(T), joXy_, Dimi, Sexserghy ♥, TerminuS, H1TM4N

Okee onda se odoh igrat s tim D:

Kraden avatar bloomeru :*

I da hvala na pomoci ;))

Kraden avatar bloomeru :*