Szerző Téma: Saját script gondok  (Megtekintve 808 alkalommal)

Saját script gondok
« Dátum: 2012. Október 27. - 16:40:08 »
0 Show voters
Hello mindenki.Egy újabb scriptemet csinálom, viszont elakadtam.Nem tudom hogyan tudnám azt megcsinálni hogy jó legyen(Nem gondolkodtam eleget ezen).A lényeg az hogy egy gang systememhez kéne segítség.Ha valaki csinál egy ganget magának, azt mentse le file ba tagokkal nevével, vezetõvel együtt.A tagok elmentésében van gond.Nem tudom még el képzelni hogy hogyan kéne ezt megcsinálni.Persze ha elmondaná valaki a tippjét, akkor jobb lenne.
Akkor térjünk a tárgyra:
Eddig meg van csinálba:
Ha beírom gang és ha nincs gangem csinálhatok.Ha csinálni akarom a ganget, akkor be kell írjam a gang nevét.A scriptfiles-ba van egy olyan mappa hogy gangek, ahol van egy olyan file hogy Gang.cfg.Itt írja hogy hány gang van a szerveren és e szerint vannak listázva a gangek.


Gang1 = Név, Gang2 = Név2 ...
 
Ezen kívül mindig létrejön egy file, aminek a neve a gang neve és ebben írja a Tulaj nevét(Owner), a tagok számát, illetve itt kéne lelegyen listázva a tagok neve.Valahogy így képzeltem el:


Tag1 = Jancsi, Tag2 = Joska ...
 
A gond az lenne, hogy ha tegyük fel tag2 kilép a gangbõl, az a hely üres lessz és megint bonyolítja a helyzetet.
A végsõ kérdésem az lenne, hogy hogyan lehetne ezt megoldani egyszerûen hosszú sorok nélkül.Köszönöm elõre.


Más hasonló scriptre nincs szükségem, mert ezt akarom bõvíteni dolgokkal, és ez a modomba van benne.


Elõre köszönöm válaszaitokat  ;D

Saját script gondok
« Válasz #1 Dátum: 2012. Október 27. - 21:00:02 »
0 Show voters
Itt jön képbe a bevett hülye szokás ami elterjedt az egész san andreas multiplayerben, mert valaki egyszer így csinálta azt azóta megmaradt ez a baromság.
Amik pirossal kivannak emelve azok minek amúgy?
 

Tag1 = Jancsi, Tag2 = Joska ...[/quote]
Valaki megfogja nyitogatni ezeket a fájlokat és szerkeszteni fogja és tudja hogy mi mire való?
Ha kihagynád ezeket a teljesen felesleges dolgokat, maximum a szkriptben ami igazán fontos kommenteled mi mire való, hogy a késõbbiekben tudd mit készítettél, nem hogy egyszerûbb lenne a dolgod de még gyorsabb is lenne a játékmód futása, ha a lényeges adatokat egy elválasztó jellel egy sorba írnád a fájlba.
 
owner|gangname|Jancsi,Béla,Jóska[/quote]
Nem okozna gondot ha kettõ tag kilép, a következõ mentésnél egyszerûen kimaradna a két tag neve és máris nem kell agyalni mi legyen az ilyen megüresedett hellyekkel tag2=?, tag4=? mert egyszerûen nem lenne ilyen.  :D

Saját script gondok
« Válasz #2 Dátum: 2012. Október 28. - 14:31:37 »
0 Show voters
Am ezt nem más scriptekböl szedtem ki szóval én agyaltam ki ezt.
Viszont ha egy sorba van mind hogy olvsom ki a fileból, hogy kik a tagok?

Saját script gondok
« Válasz #3 Dátum: 2012. Október 28. - 14:49:16 »
0 Show voters
banda létrehozása
 
for(new i = 0; i < 100; i++) {
format(var, sizeof(var), \"gang%d\", i);
if(!dini_Isset(\"gang.cfg\", var)) {
    format(string, sizeof(string), \"%s|%s|%s|%s|%s|%s|%s\", gangname, ownername, tag1, tag2, tag3, tag4, tag5);
    dini_Set(\"gang.cfg\", var, string);
    break;
}
}

 
illetve lekérdezésnél, hogy melyik banda ez
 
new data[7][32];
for(new i = 0; i < 100; i++) {
    format(var, sizeof(var), \"gang%d\", i);
if(dini_Isset(\"gang.cfg\", var)) {
if(!sscanf(dini_Get(\"gang.cfg\", var), \"p<|>sssssss\", data[0], data[1], data[2], data[3], data[4], data[5], data[6])) {
    if(!strcmp(data[1], playername, false)) {
        format(string, sizeof(string), \"Te a %s banda fõnöke vagy, a neved %s\", data[0], data[1]);
        format(string, sizeof(string), \"Bandatagok: %s %s %s %s %s\", data[2], data[3], data[4], data[5], data[6]);
   }
}
}
}

 
ennél egyszerûbb módszer nem jutott eszembe zsolesz példája alapján.


EDIT: az sscanf ilyen formában (tömb változó) nem tud normálisan karakterláncot darabolni (milyen meglepõ), ezért én inkább split() függvényt használnék.
« Utoljára szerkesztve: 2012. Október 28. - 15:02:47 írta TengeriMalac »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal