[POMOC] strmid spremi prazan string

Započeo Ermin.
27. Okt. 2013. Zaključano
419
pregleda
7
postova
ermin.a
5
Underboss
27. Okt. 2013.
Skripta koju koristim: 0
Detaljan opis problema: pa ovako, napravio sam /setlook, /password, i /email, naravno, treba mi da odma promjeni IG, tj da preko strmid postavi string u varijablu, da ne moram relog,
ali kad odem npr,
/setlook bi izgledao kao crnac,17 godina,bijele nike patike crveni duks, kacket L.A.
ili
/email moj_email@hotmail.com
ili
/password 123abcdefgh


bilo sta od toga, spremi mi Prazan string, ako me razumijete


onda kad idem /showyourself, returna mi  "Ime_Prezime ." umjesto "Ime_Prezime bi izgledao kao crnac,17 godina,bijele nike patike crveni duks, kacket L.A.", ITD isto sa i Emailom na /check..


Dio skripte:
enum pInfo
{
    pKey,
      pEmail,
  pIzgled
}

public LoadUser_data(playerid,name[],value[])
{
    INI_String("Password",PlayerInfo, 128);
    INI_String("Email",PlayerInfo, 128);
    INI_String("Izgled",PlayerInfo, 128);
    return 1;
}

YCMD:email(playerid, params[], help)
{
  #pragma unused help
  new email, emailstring, string;
  if(sscanf(params, "s", email))
      return SCM(playerid, SIVA, "Koristi: /email [vas novi email]");
  format(emailstring, sizeof(emailstring), "%s", email);
  strmid(PlayerInfo, emailstring, 0, strlen(emailstring));
  format(string, sizeof(string), "Uspjesno ste promjenili e-mail adresu, vas novi email je: %s", email);
  SCM(playerid, ZUTA, string);
  return 1;
}

YCMD:password(playerid, params[], help)
{
  #pragma unused help
  new password[32+2], pwstring[32+2], string;
  if(sscanf(params, "s", password))
      return SCM(playerid, SIVA, "Koristi: /password [vas novi password]");
  else if(strlen(password) < 6 || strlen(password) > 32)
      return SCM(playerid, SIVA, "*Vas password ne smije imati ispod 6 ili preko 32 znaka!");
  format(pwstring, sizeof(pwstring), "%s", password);
  strmid(PlayerInfo, pwstring, 0, strlen(pwstring));
  format(string, sizeof(string), "Uspjesno ste promjenili password, vas novi password je: %s", password);
  SCM(playerid, ZUTA, string);
  return 1;
}

YCMD:setlook(playerid, params[], help)
{
  #pragma unused help
  new string, text, lookstring;
  if(sscanf(params, "s", text))
      return SCM(playerid, SIVA, "Koristi: /setlook [vas novi izgled]");
  format(lookstring, sizeof(lookstring), "%s", text);
  strmid(PlayerInfo, lookstring, 0, 128);
  SCM(playerid, SPLAVA, "Uspjesno ste postavili novi izgled svog lika, sada glasi:");
  format(string, sizeof(string), "%s "bijela"%s", PlayerName(playerid), text);
  SCM(playerid, SPLAVA, string);
  return 1;
}

YCMD:showyourself(playerid, params[], help)
{
  #pragma unused help
  new string;
  format(string, sizeof(string), "**%s %s.", PlayerName(playerid), PlayerInfo);
  ProxDetector(30.0, playerid, string, SPLAVA, SPLAVA, SPLAVA, SPLAVA, SPLAVA);
  return 1;
}

stock SacuvajIgraca(playerid)
{
new INI:File = INI_Open(UserPath(playerid));

  INI_WriteString(File,"Password",PlayerInfo);
            INI_WriteString(File,"Email",PlayerInfo);
  INI_WriteString(File,"Izgled",PlayerInfo);
INI_Close(File);
}


Neke slike/video za lakse dobivanje pomoci(neobavezno):
ermin.a
5
Underboss
28. Okt. 2013.
David (Sabljak) A.k.A SABO(T) wrote on October 28, 2013, 8:31 am:
Odma u komandi postavi funckiju sa kojom spremas account


Pa nebitno al hajd postavit cu, "SacuvajIgraca" funkcija, otvara fajl, zapisuje i zatvara, i sta cu postic sa time

kod /myemail, /showyourself ne otvara fajl,nego formatira string sa varijablom
MadDog
5
Crime Lord
28. Okt. 2013.
Ermin wrote on October 28, 2013, 8:31 am:
Odma u komandi postavi funckiju sa kojom spremas account


Pa nebitno al hajd postavit cu, "SacuvajIgraca" funkcija, otvara fajl, zapisuje i zatvara, i sta cu postic sa time

kod /myemail, /showyourself ne otvara fajl,nego formatira string sa varijablom

sam si dao odgovor na svoje pitanje zapisuje i zatvara
tebi ne zapisuje tako da....napredujes 😄
ermin.a
5
Underboss
28. Okt. 2013.
jebote jel treba crtat, NISTA necu postic sa time ako OTVORIM FAJL, ZAPISEM, I ZATVORIM!

jer

kad neko ide /setlook [novi izgled], njemu nece u VARIJABLU sacuvat to nego direktno u fajl,
a kod komande:

/showyourself, ne otvaram fajl, nego u string postavljam pIzgled varijablu,
i nije fazon da idem relog nonstop, treba mi da cim idem /setlook da odma kod /showyourself pokaze novi izgled
MadDog
5
Crime Lord
28. Okt. 2013.
Vidis li da /showyourself cita varijablu pIzgled?

Odakle cita? Cita iz fajla.

Pri loginu i registraciji sta ja znam postavljas varijablu pIzgleda na 0, kako je menjas fajl se updejtuje i komanda cita iz fajla.

Neces ici non stop relog, postoje stvari tip dinamicna spremanja da ih tako nazovem gdje kreiras stock za cuvanje statsa (isti sto bude kao i pod OnPlayerDisconect) pa ubacis to u komandu

To bi ovako izgledalo:
stock SacuvajRacun(playerid)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt("Password",PlayerInfo);
    INI_WriteInt("Email",PlayerInfo);
    INI_WriteInt("Izgled",PlayerInfo);
    INI_Close(File);
    return 1;
}


i onda samo u komandu koju zelis da osiguras da odmah updejtujes fajlove koristis u komandi:
SacuvajRacun(i);


Sada ne znam nikada nisam koristio YCMD proces komandi ali bi ovo trebao imati u komandi (to je sto se tice sifre ako i za ostalo):
new racun;
new INI:iniFile = INI_Open(racun);
INI_WriteInt(iniFile,"Password",password);
INI_Close(iniFile);
SacuvajRacun(i);


i varijablom SacuvajRacun(i); igrac cim ukuca tu komandu odmah ce mu se update fajl...jer to funkcionise kao OnPlayerDisconect...samo naravno nece ga diskonektovati a pod onplayerdisconect obrisi sve to oko cuvanja i samo dodaj SacuvajRacun(i);
ermin.a
5
Underboss
28. Okt. 2013.
pa gledaj, mogu ja kod svake komande koja treba da spremi string/int/float sta bilo, stavit
SacuvajIgrac(param);

ali igracu mi se LOADAJU statsi samo kad se konektuje na srw,
trebo bi kod /setlook postavit da se Sacuvaju tj Zapisu (SacuvajIgrac),
a kod /showyourself da otvara Fajl, cita i postavlja u var?
MadDog
5
Crime Lord
28. Okt. 2013.
Ermin wrote on October 28, 2013, 9:04 pm:
pa gledaj, mogu ja kod svake komande koja treba da spremi string/int/float sta bilo, stavit
SacuvajIgrac(param);

ali igracu mi se LOADAJU statsi samo kad se konektuje na srw,
trebo bi kod /setlook postavit da se Sacuvaju tj Zapisu (SacuvajIgrac),
a kod /showyourself da otvara Fajl, cita i postavlja u var?


Pokusaj tako. Malo sam zbunjen nisam nikada radio nesto na tu foru.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha