[pomoć] Kako napraviti komandu ,/wish

Započeo dane_1
19. Dec. 2011.
902
pregleda
9
postova
dane_1
4
Shot Caller
19. Dec. 2011.
Skripta koju koristim: LARP
Detaljan opis problema: Ovako ,sto se tice bozica,zelim napraviti komandu /wish,odnosno zelja..Kad je igrac na odredenom mjestu da moze koristit tu komandu..I svi sto to kucaju da se sprema na notepad u gamepanelu..Ako shvacate 😛..
Dio skripte:/
Neke slike/video za lakse dobivanje pomoci(neobavezno):/

Edit again,uspio sam evo komande al kako samo jos tu dodat da igrac samo jednom moze koristit tu komandu
	if(strcmp(cmd, "/wish", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /wish [text-zelja]");
return 1;
}
new y,m,d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] /wish %s: %s",d,m,y,h,mi,s,sendername, (result));
WishLog(string);
}
return 1;
}
Maki187
5
Crime Lord
19. Dec. 2011.
Koristi
 if(IsPlayerInRangeOfPoint(playerid, 20, koordinate))
dane_1
4
Shot Caller
19. Dec. 2011.
Pitam kako napravit da se moze samo 1,a ovo cu probat kasnije ubacit u komandu
ScHaLe
4
Shot Caller
19. Dec. 2011.
Postavi parametar kad koristi komandu da mu postavi recimo na 1, i da nemoze koristit komandu kad mu je taj parametar na 1. Ako zelis da nemoze ni poslje reloga koristit onda stavi da mu se sprema u acc taj parametar
dane_1
4
Shot Caller
19. Dec. 2011.
Quote from December 19, 2011, 8:23 pm:
Postavi parametar kad koristi komandu da mu postavi recimo na 1, i da nemoze koristit komandu kad mu je taj parametar na 1. Ako zelis da nemoze ni poslje reloga koristit onda stavi da mu se sprema u acc taj parametar


Kako ? Zato sam i stavio ovdje -.-'
Maki187
5
Crime Lord
19. Dec. 2011.
aaa, nisam te razumeo dobro... pa gledaj ovako, da bi on samo jednom mogao da iskoristi tu komandu zauvek, onda moras da napravis sejvanje u statstima, larp koristi dini pa bi to islo ovako...
pod enum pinfo stavis sledece

pZelja,

tj evo ti kako to izgleda pocetak

enum pInfo
{
pKey,
pLevel,
pSpawn,
pAdmin,
      pZelja,
dole su ostale stvari...


onda nadjes u skripti pomocu ctrl + f sledece
PlayerInfo = 9999;


to je inace negde izmedju linije 5500 i 5580 , zavisi dal si nesto editovao i sl...

i ispod toga dodas
PlayerInfo = 0;


onda pronadjes ovo u skripti
dini_IntSet(string3, "AdminLevel",PlayerInfo);


to je negde izmedju linije 27300 i 27400

i dodas ispod
dini_IntSet(string3, "Zelja",PlayerInfo);


onda pod public OnPlayerUpdateEx(playerid)

ispod ovoga
dini_IntSet(string3, "AdminLevel",PlayerInfo);


dodas ovo
dini_IntSet(string3, "Zelja",PlayerInfo);


zatim pod public OnPlayerLogin(playerid,password[])

ispod ovoga
PlayerInfo = dini_Int(string2,"AdminLevel");


dodas ovo
PlayerInfo = dini_Int(string2,"Zelja");


zatim onda ovo uradis u svojoj komandi, tj ovo ti je komanda
if(strcmp(cmd, "/wish", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
            if(PlayerInfo == 1)
  {
  SendClientMessage(playerid, COLOR_WHITE, "Vec si pozeleo zelju!");
          return 0;
  }
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /wish [text-zelja]");
return 1;
}
                        PlayerInfo = 1;
new y,m,d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] /wish %s: %s",d,m,y,h,mi,s,sendername, (result));
WishLog(string);
}
return 1;
}


Naravno ti podesi lepo u komandi da mu stavi zlju na 1, tj stavis tamo de mu i upisuje zelju, nemogu sad da trazim lakse je tebi to...
nadam se da si razumeo sta sam ti gore ispisao...  😄
troll3d
4
Made Man
20. Dec. 2011.
Zašto da to dodaje u igračev enum? Bolje da jednostavno
new bool:Wish;

Te jednostavno kad iskoristi komandu

Wish = true;

I onda provjera dali igrač već napravio želju

if(Wish == true) return SCM(playerid,-1,"nemozete koristit vec ste koristili");

I tebi Dane preporučavam da koristiš ycmd i sscanf , skratit ćeš si komandu na 6,7 linija i smanjit ćeš lag i optimizirat skriptu.

Quote from December 19, 2011, 8:23 pm:
Postavi parametar kad koristi komandu da mu postavi recimo na 1, i da nemoze koristit komandu kad mu je taj parametar na 1. Ako zelis da nemoze ni poslje reloga koristit onda stavi da mu se sprema u acc taj parametar


Znaš ti šta znači parametar?

To što si ti rekao je vrijednost varijable a ne parametar.
Maki187
5
Crime Lord
20. Dec. 2011.
20 Dollar Nosebleed wrote on December 19, 2011, 8:23 pm:
Postavi parametar kad koristi komandu da mu postavi recimo na 1, i da nemoze koristit komandu kad mu je taj parametar na 1. Ako zelis da nemoze ni poslje reloga koristit onda stavi da mu se sprema u acc taj parametar


Znaš ti šta znači parametar?

To što si ti rekao je vrijednost varijable a ne parametar.

Pa ako mu nedoda u profil, onda ce pamtiti samo dok on neode offline, a on hoce da i posle logina to ima...
dane_1
4
Shot Caller
20. Dec. 2011.
probat cu na tedr cmd od sada sam daovo rjesim probat cu kad budem na kompu

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha