GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ZyZu. - 2013. április 10. - 11:09:19

Cím: Lekédrezések, dinivel.
Írta: ZyZu. - 2013. április 10. - 11:09:19
Üdözletem! Elgondolkoztam már azon, hogy meg -e lehetne csinálni a toplistet dininél arra jutottam, hogy nem. :D Mivel már rájöttem, hogy lehet dininél lekérdezni azt, hogy egy mappában hány játékos van.. :D Szóval meg lehet csinálni, hogy minden adott mappát megnyítni ahány játékos van és lekérdezni a pontját és a pénzit egy dialogban? Ha igen, hogyan?  :shurg:
Cím: Lekédrezések, dinivel.
Írta: Zsolesszka - 2013. április 10. - 12:09:43
Meg lehet.
És ha egyébként csak logikusan gondolkoznál nem is kellene megnyitni egyszerre az összes fájlt.
Csak egy apró példa:
Létrehozol egy fájlt melyben tárolod a top 10 játékost.
A módban is létrehozol két különbözõ változót egyet a játékosnévnek és egyet a pontnak mindezt 10 tömbben (mivel top 10).
Majd játékos kilépésnél és esetleg mikor kiíratod a top 10 -et csak egy 10 es for ciklust kell lefuttatnod minden játékossal aki online (ez max 30-40, (foreach)) és ellenõrzõd hogy a pontjai meghaladták-e valamelyik rekordot, ha igen akkor frissíted és mented a fájlba.
Ha sikerül létrehoznod lesz egy automatikusan frissülõ top 10-et tartalmazó fájlod, melyet könnyedén kitudsz íratni bárhova.
Van másik módszer mely idõigényesebb, kell egy fájl mely tartalmazza a regisztrációs fájlok neveit annak segítségével megnyitod a fájlokat, és elkészíted a top 10-et.
Persze használhatsz fájl kezelõ plugint is akkor nem kell külön fájl a regisztrációs fájlok neveivel mivel az képes beolvasni egy adott mappában lévõ fájlok neveit.
Ui.: Legjobb ha felejted a dini-t, állj át mysql-re vagy jobb fájlkezelõre.
Cím: Lekédrezések, dinivel.
Írta: ZyZu. - 2013. április 10. - 15:30:30
mysql -on meg tudom csinálni már meg is van de dinivel vagyok problémában esetleg nem tudsz írni egy példát kérlek, az mysqlt nem szeretem mivel még nekem elégé magas színten van az hagyom még ..  :)
Cím: Lekédrezések, dinivel.
Írta: Zsolesszka - 2013. április 11. - 20:40:23
OK.
Total commandert feltelepíted.
Elnavigálsz az egyik ablakban a regisztrációs fájlokhoz, kijelölöd mindent.
Majd felül a menüsorban Kijelölés (katt) megkeresed a Kijelölés mentése fájlba részt (klikk) beírsz valami nevet majd mented.
Ezt a fájlt bemásolod a samp szervered scriptfiles mappájába.
És megírod az eljárást hozzá.
 
blabla()
{
new
File:readaccountlist,
str[256],
valami,
umpala;
readaccountlist = fopen(\"az_elmentett_file_neve.kiterjesztes\", io_read);
if(readaccountlist)
{
while(fread(readaccountlist, str))
{
   valami = dini_Get(str, \"umpala\");
   if(valami > umpala) umpala = valami;
}
fclose(readaccountlist);
printf(\"a legnagyobb umpala: %d\", umpala);
}
}

 
Edit: javítva.
Cím: Lekédrezések, dinivel.
Írta: ZyZu. - 2013. április 11. - 21:01:22
Köszi szépen sikerült!!! :)