Szerző Téma: File-ba új sor nyitás/sortörés  (Megtekintve 1968 alkalommal)

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Dátum: 2014. augusztus 12. - 00:13:50 »
0 Show voters
Hali az lenne a probléma hogy valameik filekezelõbe pl Y_INI vagy dfile (ameik jobb/egyszerübb) azokba hogyan lehet olyat hogy létrehozok egy filet és abba van
pl 1 ilyen sor név = xy
és új sorba szeretnék egy újat irni
pl név = yx
tehát a fileba igy nézne ki
pl
név = András
név = Eszter
vagy csak igy simán hogy
András
Eszter
ezt meik kóddal/kódsorral lehetne kivitelezni
és még ide tartozik ezeket a sorokat az összeset hogyan lehet lekérdezni nem hogy mennyi van hanem hogy mik vannak
« Utoljára szerkesztve: 2014. augusztus 13. - 01:01:34 írta ROOCK »

File-ba új sor nyitás/sortörés
« Válasz #1 Dátum: 2014. augusztus 12. - 00:34:11 »
0 Show voters
Ha jól értem 2 nevet akarsz tárolni. Azt a 2 file kezelõt nem ismerem viszont a dini új sorban hozza létre õket.
Ami nekem nem tetszett abban, hogy 2 \"név\" nevû dologhoz akarsz írni/lekérni. Szerintem ez összezavarná a dolgaidat és úgy kéne csinálni, hogy \"Nev1\", \"Nev2\".

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #2 Dátum: 2014. augusztus 12. - 00:59:23 »
0 Show voters
tessék...csak az a_samp kell hozzá, meg add meg a fájlod nevét, amit megakarsz nyitni, majd írni bele.
a csatlakozás csak egy példa, mivel nem adtál meg konkrétumot, azt úgy szerkeszted, ahogy akarod.
 

public OnPlayerConnect(playerid)
{
new File:Lfile, string[128];
format(string, sizeof(string),\"név = %s\\r\\n\",pName(playerid));
Lfile = fopen(\"Catlakozott.txt\",io_append);
fwrite(Lfile,string);
fclose(Lfile);
return 1;
}
stock pName(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #3 Dátum: 2014. augusztus 12. - 01:23:45 »
0 Show voters
Szerintem ez összezavarná a dolgaidat és úgy kéne csinálni, hogy \"Nev1\", \"Nev2\".[/quote]
Ja gondoltam rá hogy ugy kéne de akkor nem tudom hogy hogy kérjem le mert igy a nevek száma véges nem?
mert azt akarom hogy parancsra létrehozzon a playernek a filet amibe eltárol x nevet és ha az a nevü player ir akkor az a \"név\" látszodjon chatbe mert eredetileg csak azt irja mindenkinél hogy anonymus
vagy esetleg még ugy meglehetne oldani Y_INI vel hogy eltárolom a nevét egy udb_hash segítségével INI_WriteInt el
és akkor lekérdezésnél pedig valahogy felbontva kilehet irni valahogy a nevét?
« Utoljára szerkesztve: 2014. augusztus 12. - 01:28:29 írta ROOCK »

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #4 Dátum: 2014. augusztus 12. - 02:01:42 »
0 Show voters
Idézetet írta: ROOCK date=1407799425\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50022\" data-ipsquote-contentclass=\"forums_Topic

Szerintem ez összezavarná a dolgaidat és úgy kéne csinálni, hogy \"Nev1\", \"Nev2\".
Ja gondoltam rá hogy ugy kéne de akkor nem tudom hogy hogy kérjem le mert igy a nevek száma véges nem?
mert azt akarom hogy parancsra létrehozzon a playernek a filet amibe eltárol x nevet és ha az a nevü player ir akkor az a \"név\" látszodjon chatbe mert eredetileg csak azt irja mindenkinél hogy anonymus
vagy esetleg még ugy meglehetne oldani Y_INI vel hogy eltárolom a nevét egy udb_hash segítségével INI_WriteInt el
és akkor lekérdezésnél pedig valahogy felbontva kilehet irni valahogy a nevét?
 
[/quote]
sokkal egyszerûbb lenne ha csak szimplán lekérnéd a játékos id-je alapján a  nevet....

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #5 Dátum: 2014. augusztus 12. - 02:26:03 »
0 Show voters
sokkal egyszerûbb lenne ha csak szimplán lekérnéd a játékos id-je alapján a  nevet....[/quote]
igen de akkor az id-t kell valahogy elmenteni de ahoz meg már mysql kell nem?

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #6 Dátum: 2014. augusztus 12. - 11:14:31 »
0 Show voters
Idézetet írta: ROOCK date=1407803163\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50022\" data-ipsquote-contentclass=\"forums_Topic

sokkal egyszerûbb lenne ha csak szimplán lekérnéd a játékos id-je alapján a  nevet....
igen de akkor az id-t kell valahogy elmenteni de ahoz meg már mysql kell nem?
 
[/quote]
mi a tökömnek mentenéd el az id-t? -.-
egy egyszerû pm parancs.....
 

#include <a_samp>
//#include <sscanf>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(pm,2,cmdtext);
return 0;
}
dcmd_pm(playerid,params[])
{
new Index;
new tmp[256];  tmp  = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /pm [Játékos ID] [Üzenet]\");
new player1 = strval(tmp);
new str[256];
new pname[MAX_PLAYER_NAME];
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
       if(player1 != playerid)
       {
        GetPlayerName(player1, pname, sizeof(pname));
        format(str, sizeof(str), \"[KIMENÕ PM] %s (%d): %s\", pname, player1, params[1+strlen(tmp)]);
        SendClientMessage(playerid, 0xFFFF22AA, str);
        GetPlayerName(playerid, pname, sizeof(pname));
        format(str, sizeof(str), \"[bEJÖVÕ PM] %s (%d): %s\", pname, playerid, params[1+strlen(tmp)]);
        SendClientMessage(player1, 0xFFCC2299, str);
   }
   else return SendClientMessage(playerid, 0xff0000AA, \"Hiba: Magadnak nem küldhetsz üzenetet!\");
     }
else return SendClientMessage(playerid, 0xff0000AA, \"Hiba: Játékos nincs csatlakozva!\");
return 1;
}
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= \' \'))
    {
        index++;
    }
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
« Utoljára szerkesztve: 2014. augusztus 12. - 11:24:55 írta Cube. »

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #7 Dátum: 2014. augusztus 12. - 12:50:48 »
0 Show voters
de ugy akarom hogy neve kiirja a nevét ha beirtad hogy /nev (id) és ha nem mentem le valahogy hogy ez az õ idje (vagy õ neve) akkor szerver restartnál ujra elkell játszani é sha lelép a játékos és utánna felép egy másik megkapja az õ idjét :S

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #8 Dátum: 2014. augusztus 12. - 13:04:48 »
0 Show voters
Idézetet írta: ROOCK date=1407840648\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50022\" data-ipsquote-contentclass=\"forums_Topic
de ugy akarom hogy neve kiirja a nevét ha beirtad hogy /nev (id) és ha nem mentem le valahogy hogy ez az õ idje (vagy õ neve) akkor szerver restartnál ujra elkell játszani é sha lelép a játékos és utánna felép egy másik megkapja az õ idjét :S
 
de mivel a kód az aktuális játékos nevét kéri le, így nem fogja másét kiírni -.-
Spoiler for khm....:
agyfasz.....tiltsátok ki a ....be....

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #9 Dátum: 2014. augusztus 12. - 13:10:17 »
0 Show voters
és szerver resi után?


bocs hogy élek ba**meg ha nem érted mit akarok akkor minek idegesíted magad?

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #10 Dátum: 2014. augusztus 12. - 13:15:40 »
0 Show voters
Idézetet írta: ROOCK date=1407841817\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50022\" data-ipsquote-contentclass=\"forums_Topic
és szerver resi után?


bocs hogy élek ba**meg ha nem érted mit akarok akkor minek idegesíted magad?
 
szerver resi után is, mivel semmi köze a kettõnek egymáshoz.....rég bekellett volna másolnod a kódot, letesztelned, és rájöttél volna, hogy azt csinálja, amit te akarsz.

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #11 Dátum: 2014. augusztus 12. - 13:26:11 »
0 Show voters
de nekem nem ez kell olyan kell hogy alapjáraton azt irja ki hogy valaki mondja: szöveg de ha ismered akkor xy mondja:szöveg ne keljen semilyen id-t beirni vagy valami csak amikor beirod hogy /ismer id ha ez megvan onnantol csak azt irja majd a chatbe hogy xy mondja
de nem konkrétan neked hanem xy mondja ezt csak te látod a többiek meg azt látják hogy valaki mondja

Nem elérhető Cube.

File-ba új sor nyitás/sortörés
« Válasz #12 Dátum: 2014. augusztus 12. - 13:29:54 »
0 Show voters
ahhoz alapjáraton az egész OnPlayerText részt átkell írni, és onnantól kezdve tudsz építkezni, ahol lekéred a játékos nevét, és ha az egyezik a fájlban levõvel, akkor kell cserélni..
de neked ehhez elég csak a neveket lementeni, ahol a fájlod így fog kinézni.
changename=Miki
ROOcK
XYZ
PLAYER
és szimplán belekeresel a fájlba, és ha van egyezés, akkor fogod a text-ben kicserélni a nevét a \"changename\"-re.

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
File-ba új sor nyitás/sortörés
« Válasz #13 Dátum: 2014. augusztus 12. - 13:55:12 »
0 Show voters
igy jó a playertext? hogy lehet lekérni a féjlban lévõ neveket?
[pawn]public OnPlayerText(playerid, text[])
{
    new str[200], pName[100];
    for(new i=0;i<MAX_PLAYERS;i++)
{
    GetPlayerName(playerid, pName, sizeof(pName));
if(pName == /*fileban név*/){
   format(str, sizeof(str), \"%s mondja: %s \", pName, text);
   SendClientMessage(i, 0xFFFFFFAA,str);
   return 0;
}}
     for(new i=0;i<MAX_PLAYERS;i++)
      {
   format(str, sizeof(str), \"Valaki mondja: %s \", text);
   SendClientMessage(i, 0xFFFFFFAA,str);
      }
return 0;
}[/pawn]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal