Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

[pomoć] Kako napraviti komandu ,/wish

Započeo dane_1
pre 14 godina
887
pregleda
9
postova
dane_1
Shot Caller
pre 14 godina
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
Crime Lord
pre 14 godina
Koristi
 if(IsPlayerInRangeOfPoint(playerid, 20, koordinate))
dane_1
Shot Caller
pre 14 godina
Pitam kako napravit da se moze samo 1,a ovo cu probat kasnije ubacit u komandu
ScHaLe
Shot Caller
pre 14 godina
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
Shot Caller
pre 14 godina
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
Crime Lord
pre 14 godina
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
Made Man
pre 14 godina
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
Crime Lord
pre 14 godina
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
Shot Caller
pre 14 godina
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