Spremanje texta komandom

Započeo Carlsson, Avgust 01, 2010, 19:46:15 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Zanima me kako napraviti da nekom komandom u neki file igrač može nešto dodati/napisati, znam da ne kužite pa ću još objasniti.
Npr. postoji komanda /spremi, igrač napiše /spremi text1 i u određenom fileu u scriptfiles folderu se nadopiše Ime_Prezime: text1 i tako kad slijedeći igrač koristi komandu /spremi text2 da se u taj isti file u novi redak doda Ime_Prezime: text2

Nadam se da ste skužili što želim, pokušavao sam nešto ali uvijek zapnem negdje.
Poslednja Izmena: Avgust 01, 2010, 19:49:37 POSLE PODNE od Carlsson

Na prvom mjestu potreban ti je Dini u dudb .

Primjer ..

             new PlayerFile[31+MAX_PLAYER_NAME]; // ime dog text documenta ce biti igracevo ime ingame
             GetPlayerName(playerid, name, sizeof(name));
             format(PlayerFile, sizeof(PlayerFile), "\\tvojZeljeni\\Direktorij\\%s.sav", name);
             dini_Create(PlayerFile);
             dini_IntSet(PlayerFile, "Red1", 0);
             dini_IntSet(PlayerFile, "Red2", 0);
             dini_IntSet(PlayerFile, "Red3", 0);
             dini_IntSet(PlayerFile, "Red4", 0);
             dini_IntSet(PlayerFile, "Red5", 0);

Primjer kako da postavi IP u jedan red u tom dokumentu

             new IP[17];
             GetPlayerIp(playerid, IP, sizeof(IP));
             dini_Set(PlayerFile, "IPigraca", IP);  // - to ce u dokumentu izgledat ovako       IPigraca : bla.bla.bla:blablabla


Sto se tice tog texta , ista stvar .. ako skontas ovo , skontat ces kako i da se taj text napise .I
Sto se tice unosa nekog texta , neke recenice .. ici ce na ovaj nacin ..

          if(strlen(inputtext) < 33 && strlen(inputtext) > 3)
          {
             new PlayerFile[31+MAX_PLAYER_NAME];
             GetPlayerName(playerid, name, sizeof(name));
             format(PlayerFile, sizeof(PlayerFile), "\\zeljeni\\Direktorij\\%s.sav", name);
             dini_Create(PlayerFile);
             new buf[145];
             WP_Hash(buf, sizeof(buf), inputtext);
             dini_Set(PlayerFile, "Text1", buf);

// dalje znas ..



Nadam se da sam ti pomogao , malo je zapetljano ako si pocetnik .. ali naucit ces .

Nisam uspio :S A i ovo za vsakog igrača creata novi file, a ja želim da od svih igrača ide u isti file.
Poslednja Izmena: Avgust 01, 2010, 21:00:02 POSLE PODNE od Carlsson

ZicMortal

Citat: Carlsson poslato Avgust 01, 2010, 20:59:56 POSLE PODNE
Nisam uspio :S A i ovo za vsakog igrača creata novi file, a ja želim da od svih igrača ide u isti file.

Bolji ti je dini... da ovak spremaš u neki .cfg fajl potrebno ti je max_players mjesta za one koji zele pisat i max_string za gluposti koje napišu.




Imam bolji savjet. Ako radiš u modu... napravi to kao nekakav info (zapravo tri njih - (il kolko oš) koja se sejvaju). I kad se igrac connecta prikaze mu to itd. Takodjer probaj to podesit u te komande /spremi... i moraces koristiti tmp odnosno params ako koristis dcmd/zcmd.

Juce sam dao odgovor ali je forum pao na 15 minuta pa nije post odstampan .
Samo izostavis jedan dio scripte koji kaze da se file zove igracevim imenom .



new PlayerFile; , umjesto new PlayerFile[31+MAX_PLAYER_NAME];


I izostavis ovaj dio scripte koji formatom postavlja ime filea kao igracevo ime
GetPlayerName(playerid, name, sizeof(name));
format(PlayerFile, sizeof(PlayerFile), "\\tvojZeljeni\\Direktorij\\%s.sav", name);