[pomoć] Kako napraviti komandu ,/wish

Započeo dane_1
19. Dec. 2011.
959
pregleda
9
postova
dane_1
4
Shot Caller
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
19. Dec. 2011.
Koristi
 if(IsPlayerInRangeOfPoint(playerid, 20, koordinate))
dane_1
4
Shot Caller
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
19. Dec. 2011.
Pitam kako napravit da se moze samo 1,a ovo cu probat kasnije ubacit u komandu
ScHaLe
4
Shot Caller
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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
Balkan SA:MPBalkan SA:MP
SA-MP DoprinosSA-MP Doprinos
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