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.
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.
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);