Hát, ez kicsit sem ritka dolog... A válasz pedig egyszeru rá. Valamilyen plugin hiányzik a plugins mappából, vagy a server.cfg-bol.
dnS\': Még akkora jöhet szóba, ha hiányzik a main függvény.
Epsilon: Még akkor jöhet szóba ha a módban nem lett alkalmazva a SetGameModeText függvény.
[/quote]
Epsilon további kiegészítése:
Az Unkown mód nem feltétlen a a plugin hibáját jelzi, hanem egy a pluginhoz tartozó fájl hiányát.
Vagy valami más ok miatt van, ami miatt nem tudott a plugin betöltõdni.
Scripteljünk PAWN nyelven!
Mindenekelõtt ,Spatrik írt egy szép leírást,ami mindenképpen hasznos:
[Leírás]Gyakori figyelmetlenségek
Eszközeink (Fontos!)
Régen ugye az strtok volt a menõ ha parncsoknak akartunk paramétereket adni,meg senkit nem érdekelt egy 256-os karakterlánc,egy pazarló ciklus stb...Ez volt a szokás,viszont ez már nagyon nem így van,a részleteket le írja Spatrik a fentebb linkelt leírásban,én megemlíteném a mostani szerverek legjobb eszközeit.
Szóval,a ma létezõ legjobb eszközök:
MySql plugin - Ebbõl 3 is van,és G-Stylezzzz pluginját használom személy szerint.
Ezt adatok tárolására használjuk.pl. regisztrált tagok,kocsik,objectek,server konfig stb. szóval bármit.Sokkal könnyebb a kezelése mint a fájloké.Sokan mondják,hogy nehezebb,de ez nem igaz!Csak azért mondják mert nem ismerik,majd írok egy külön SQL leírást is.
A linkek minõségi sorrendben vannak!
Link 1: http://forum.sa-mp.com/showthread.php?t=122983&highlight=MySql
Link 2: http://forum.sa-mp.com/showthread.php?t=56564&highlight=G-stylez+Mysql
Link 3: http://forum.sa-mp.com/showthread.php?t=7106&highlight=MySql
sscanf2 - Ezt használjuk már az strtok helyett,mivel:Egyzserûbb,gyorsabb,sokoldalúbb.FOntos,hogy a plugin és NE a kód verziót használjuk!
Link: http://forum.sa-mp.com/showthread.php?t=120356&highlight=sscanf2+plugin
zcmd - Parancskezelõ.Így nem OnPlayerCommandText eljárást kell használni,hanem minden parancsnak létre kell hozni egy külön eljárást.El mondom mért jobb: Gyorsabb,egyszerûbb,könnyebb.
sscanf2-vel párosítva a legjobb.Elmondom mért gyorsabb:Az OnPlayerCommandtext végignézi az összes parancsot majd összehasonlítja õket a beírt parancsal,EGYENKÉNT.Ezzel szemben a zcmd eljárásként azonnal meghívja a parancsot.Szóval ha már nem kevés parancsunk van,akkor érzõdik a hatás...
Link: http://forum.sa-mp.com/showthread.php?t=91354&highlight=zcmd
foreach - Ez az ügyes kis függvénykönyvtár helyetesíti a többi ciklust,ugyanis sokkal gyorsabb és profeszionálisabb mint azok,és NEM PAZAROL = GYORSABB!Ez nagyon fontos ha pl. nagyobb férõhelyû szervernél a játékosokon akarunk végigmenni...
Link: http://forum.sa-mp.com/showthread.php?t=92679&highlight=foreach
Streamer Plugin v2.5.2 - Ez lesz az objektumkezelõnk.Akárki akármit mond,ez a legjobb...
Link: http://forum.sa-mp.com/showthread.php?t=102865&highlight=Streamer+plugin
Whirpool - Nos,ez egy jelszó titkosító plugin.Nem csak jelszavak titkosítására alkalmas,viszont (egyenlõre) nem lehet visszafejteni,ezért ez a legjobb.
Link: http://forum.sa-mp.com/showthread.php?t=65290&highlight=Whirpool
Hirtelen ezek jutnak eszembe mint alapok,ha ezekre építünk,biztosak lehetünk benne,hogy a szerverünk gyors és naprakész és biztonságos lesz,illetve nem utolsó esetben nagyban megkönnyítik a scriptelést is!
Eljárások/Függvények
Eljárás = Minden eljárás függvény,de nem minden függvény eljárás.Eljárásnak nevezzük azokat a függvényeket,amik public kulcsszóval kezdõdnek és általában egy értéket adnak vissza,feladatot látnak el.A beépített fügvények a megfelelõ alkalmakkor lépnek mûködésbe.Pl. OnPlayerText ha a játékos ír a chatbe,stb...
Mi is létrehozhatunk eljárásokat,a forward kulcsszóval.Prototípus:
forward fuggveny_neve(parameter1,parameter2,....);
Konkrét példa:
forward Message(playerid,uzenet[]);
Így létrehoztunk egy Message nevû eljárást,ami 2 paramétert fogad,egy int (integer,egész szám) típusú értéket (Itt egy játékos azonosítót) és egy karakterlánc típusú értéket.Tehát erre a következõképpen hivatkozhatunk:
Message(5,\"HAHA!\");
Természetesen a paraméterek lehetnek változók is:
new str[128] = \"HAHA!\";
Message(playerid,str);
Ez a z eljárás nem jó semmire.Ezen változtatnunk kell!
public Message(playerid,uzenet[]) //Itt nem forward,hanem public kulcsszó kell és nem kell pontosvesszõ a sor végére!
{ //Blokkot nyitunk
SendClientMessage(playerid,0xFFFA,uzenet);
return 1;
}
Így az eljárásunk elküld egy üzenetet a megfelelõ azonosítójú játékosnak.Ezt megoldhattuk volna függvényben is,viszont így idõzítõt indíthatunk!
Prototípus:
SetTimer(funcname[], interval, repeating);
Konkrét példa:
SetTimer(\"Message\", 3000, 0);
Így elindítjuk az idõzítõt ami meghívja a Message függvényt 3 másodperc mulva.Az utolsó paraméter ha 0 vagy false,akkor csak egyszer fut le az idõzítõ,ha 1 vagy true,ismétlõdik kilövésig.
Timer leálítása:
KillTimer(timerid);
Hogy legyen egy timerid-nk,(idõzítõ azonosítónk) kicsit másképpen kell idõzítõt indítani.
new Timer = SetTimer(\"Message\", 3000, 0);
Majd valahol:
KillTimer(Timer);
Ez azért lehetséges,mert a SetTimer függvény visszatérési értéke az azonosítója,mi meg a visszatérési értéket beleraktuk a Timer változóba.Ez viszont több okból is helytelen példa:
1,A mi idõzítõnk paramétereket fogad,viszont ezt nem adhattuk meg a SetTimer függvénnyel!
2,a Timer változót jobb globálisan dekralálni,hogy máshol is használhassuk ne csak függvényen belül!
Tehát:
new Timer; //Mód elején
Timer = SetTimer(\"Message\", 3000, 0); //Ahol a timert indítjuk
KillTimer(Timer); //Ahol kilõjjük
Az idõzítõket célszerû a script leállásakor kilõni.
Ha paramétereket akarunk átadni az idõzítõnknek,használjuk a SetTimerEx függvényt.
SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
Konkrétan:
SetTimerEx(\"Message\", 3000, 0,\"is\",5,\"HAHA!\");
Természetesen itt is használhatunk változókat a paraméterekhez.
A 4. paraméter úgy kell megadni,hogy a megfelelõ típus jelõlését kell beírni oda.
i = integer,egész szám
s = string,karakterlánc
d = Lásd: i
a = array,Tömb,a következõ paraméter egy szám kell legyen,az a tömb mérete.
b = bolean,tehát csak igaz/hamis érték lehet
f = float,valós,lebegõpontos szám.(Tört,pl. 0.23)
Az utána következõ paraméterek a megfelelõ értékek.
Függvények - Valamilyen értéket visszadó,vagy feladatot ellátó kód.
Egyszerûen létrehozhatjuk õket kulcsszavak nélkül:
Fuggvenyem()
{
return 1;
}
Konkrétabb példa:
Name(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof pname);
return pname;
}
Ez a kód visszaadja egy adott azonosítójú játékos nevét.Azért hasznos,mert ezekután elég meghívni ezt a kódot,nem kell újra leírni 100X.
Használat:
new str[128];
format(str,128,\"Neved: %s\",Name(playerid));
És megformáztuk a játékos nevét egy karakterláncban!Ezt elküldhetjük majd üzenetként stb...
Ha a függvényeket létrehozzuk,de nem használjuk õket sehol,hibát kapunk.Használjuk a stock kulcsszót!
stock Name(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof pname);
return pname;
}
Így nem kell használni a függvényt és nem kapunk hibát.
Még nem írtam le mindent!Még sok dolog van amirõl tudni kellene ezzel kapcsolatban,folytatni fogom,ha rosszul fogalmaztam/pontatlan voltam szóljatok!
Scriptek készítése - Hogyan?
Hamarosan....
Folytatása következik....
Várom a véleményeket!Írjátok le ha valamit rosszul írtam/elirtam,szoljatok,írjatok szerintetek hasznos linkeket stb.- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: InAceX - 2010. december 31. - 21:18:46- Szép részletes leírás.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2010. december 31. - 21:28:39 Idézetet írta: InAceX date=1293826726\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicSzép részletes leírás.Még nagyon nincs kész,csak gondoltam postolom az elsõ részét.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Iceaac - 2011. január 01. - 03:37:41- Átfutottam, ami eddig készen van, szépen megírtad. :) Am a scripteléssel kapcsolatban, szerintem nem lenne értelme megírnod, ott van krisk tutorialja.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Epsilon - 2011. január 01. - 10:40:27- Jó lesz ez :)
Ahelyett, hogy a szerverberles.hu-ról idézel, használhatnád a fórumon belüli leírásokat például úgy,hogy belinkeled õket. (kompaktabb leírás) (pl. GameStar rcon parancsos témája vagy az én konfigos témám)
Az idézeteket nem a szerverberles.hu írta, hanem én.- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. január 01. - 12:54:02 Idézetet írta: Epsilon date=1293874827\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicJó lesz ez :)Át fogom linkelni azokra a témákra amiket említettél,csak elsõre nem találtam meg õket. :)
Ahelyett, hogy a szerverberles.hu-ról idézel, használhatnád a fórumon belüli leírásokat például úgy,hogy belinkeled õket. (kompaktabb leírás) (pl. GameStar rcon parancsos témája vagy az én konfigos témám)
Az idézeteket nem a szerverberles.hu írta, hanem én.
Scriptelést azért írok bele,mert én olyan dolgokat fogok belerakni ami nincs krisk tutorialjában.
E:
Kicsit kiegészítettem a végét illetve belinkeltem Eps leírását.
E2:
Kiemeltem a témát,lecseréli Mambo régi témájának helyét,mivel ez részletesebb.- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Epsilon - 2011. január 01. - 13:31:55- Az Unkown mód nem feltétlen a a plugin hibáját jelzi, hanem egy a pluginhoz tartozó fájl hiányát.
Vagy valami más ok miatt van, ami miatt nem tudott a plugin betöltõdni.
E: http://sampforum.hu/index.php?topic=8939.0- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. január 01. - 14:06:44- Módosítottam,és a tartalomjegyzéket linkesítettem.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ZeRo - 2011. január 04. - 21:00:13- Tetszik az ötlet, és a kivitelezés is, fõleg az, hogy már megírt leírásokat linkelsz be. :)
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. január 04. - 21:23:47 Idézetet írta: ZeRo date=1294171213\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicTetszik az ötlet, és a kivitelezés is, fõleg az, hogy már megírt leírásokat linkelsz be. :)Köszönöm,de ezt nagyszabású leírásnak tervezem,még asokat kell dolgozzak vele. :)
Kibõvítve!- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Popec16 - 2011. január 06. - 15:55:39- Nagyon szép kis tut az összes !! :D
De te ennyire ráérsz am ? xD- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. január 06. - 18:32:24- Ezeket pici kis részletekben írom szabadidõmben,aztán összerakom és tádá :D
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Niko - 2011. január 07. - 22:51:06- Eddig nagyon szépen haladsz, csak gratulálni tudok! :)
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: kurta999 - 2011. január 09. - 16:01:44- Szép leírás.
Majd odaírhatnád, hogy ha nagy tömböket akarunk kezelni ( Pl Házrendszer ), akkor célszerûbb a GVar plugint használni.- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. január 09. - 18:52:50 Idézetet írta: kurta999 date=1294585304\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicSzép leírás.Mindent le fogok írni amit csak tudok,csak kevés az idõm.
Majd odaírhatnád, hogy ha nagy tömböket akarunk kezelni ( Pl Házrendszer ), akkor célszerûbb a GVar plugint használni.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Vampesz - 2011. február 28. - 13:34:47- Bocsi Chuck.. ez a téma még él?:$ vagy már befuccsolt?
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. február 28. - 14:19:37- Bocsi srácok,mostanában a szabadidõm = 0 , szóval ez elhúzódik ::|
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Vampesz - 2011. február 28. - 20:20:40- Segáz ^^ a való élet az elsõdleges minden más másodlagos ;) :)
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: IPhoneman96 - 2011. december 02. - 22:02:41- Üdv
Nagyon jó lett a TuT én agyon sok dolgot megértettem amit eddig nem, de látom nincs folytatás amit nagyon sajnálok, látom hogy kiirtad hogy leálltál a scripteléssel, akkor ezt is befejezted?- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2011. december 03. - 01:13:46- A leírás írást semmiképpen, csak közben elfelejtõdött a dolog, de jó hogy most eszembe juttattad, még ki fogom egészíteni pár fontosabb dologgal.
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: szjoco96 - 2012. március 24. - 21:16:38- Helo!
Mikorjön a folytatás? mert szeretnék scriptelni tanulni és ennyibõl nemtudok:/- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: ChuckNorris - 2012. március 25. - 13:06:39 Idézetet írta: szjoco96 date=1332620198\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicHelo!Nézd át ezt: http://sampforum.hu/index.php?topic=4745.0
Mikorjön a folytatás? mert szeretnék scriptelni tanulni és ennyibõl nemtudok:/
Illetve ezt az egész fórumot: http://sampforum.hu/index.php?board=143.0
Onnan sokat lehet tanulni, nem azt mondom hogy ennek nem lesz folytatása, mert akarok írni, de az még odébb van.- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: xSkillZ7x - 2012. december 04. - 21:39:16 Idézetet írta: ChuckNorris date=1293826187\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5060\" data-ipsquote-contentclass=\"forums_TopicSokan mondják,hogy nehezebb,de ez nem igaz!Csak azért mondják mert nem ismerik,majd írok egy külön SQL leírást is.Mikorra várható ez a leírás.A gond az hogy itt fórumon nem nagyon találok részletes leírást teljes mysql rõl.(Ha tévedek, és mégis van, akkor elnézést kérek).
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: Amf - 2012. december 05. - 16:29:25- Unkown mód akkor is lehet, hogyha az include és a plugin vezió nem egyezik.
Nálam ez volt nem egyszer..- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: szabojoci96 - 2012. december 29. - 23:12:05- Hali!
Én a forearchot nem bírom letölteni nem engedi mindent próbáltam ott.... tudnátok segíteni? :)- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: [LOL]Adam_HUN - 2014. április 24. - 21:32:46- Helo, szép kis leírás! :) Én biztos, hogy nem fogok scriptelni, mert nekem kicsit magas :mistrust:
- Cím: Szerver készítés: alapok | Config, Scripting, Tanácsok
Írta: [LOL]Adam_HUN - 2014. április 24. - 21:32:46- Helo, szép kis leírás! :) Én biztos, hogy nem fogok scriptelni, mert nekem kicsit magas :mistrust: