Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - Dfoglalo
Oldalak: 1 ... 246 247 [248] 249 250 ... 261
3706
« Dátum: 2013. április 17. - 17:33:57 »
Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas :smokin:
enum Informacio { Admin, Pontok, Rendor, Penz, } new Info[MAX_PLAYERS][informacio]; new Betolt[128]; new Ment[128]; public OnPlayerConnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev); if(!dini_Exists(Betolt)) { dini_Create(Betolt); dini_Set(Betolt, \"Penz\", \"0\"); dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]); } else { Info[playerid][Penz] = dini_Int(Betolt,\"Penz\"); } return 1; } public OnPlayerDisconnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev); if(!dini_Exists(Ment)){} else { dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]); } return 1; }[/code] [/quote] (A [ code = pawn ] -ot lehagytad véletlenül, szerintem gyorsan szerkeszd át, mielõtt egy Moderátor rád szólna)
A mappa megvan csinálva! Regisztrációs rendszer van, az jól mûködik! [/quote] Tehát akkor azt írtad, hogy van regisztrációs rendszer. Ez esetben létezik már a fájl, tehát ez a rész itt nem kell.
if(!dini_Exists(Betolt)) { dini_Create(Betolt); dini_Set(Betolt, \"Penz\", \"0\"); dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]); } Átírtam neked a helyes kódra, és elméletileg mûködnie is kéne.
public OnPlayerConnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev); if(dini_Exists(Betolt)) { Info[playerid][Penz] = dini_Int(Betolt,\"Penz\"); } return 1; } public OnPlayerDisconnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev); if(dini_Exists(Ment)) { dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]); } return 1; } Fontos: az alap pénz mutató nem fogja mutatni a pénzt, mivel arra nincs betöltve. Használ saját, akár Forintot író pénz dobozt (TextDraw-al megoldva), vagy pedig simán töltsd be az alap, $-os dobozra a lekérdezett pénzt, a GivePlayerMoney függvény segítségével. Ha az utóbbi megoldást választod, ahhoz itt van a kód is:
public OnPlayerConnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev); if(dini_Exists(Betolt)) { Info[playerid][Penz] = dini_Int(Betolt,\"Penz\"); GivePlayerMoney(playerid, Info[playerid][Penz]); } return 1; } public OnPlayerDisconnect(playerid) { GetPlayerName(playerid, nev, sizeof(nev)); format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev); if(dini_Exists(Ment)) { dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]); } return 1; } Remélem segítettem.
3707
« Dátum: 2013. április 17. - 17:23:21 »
Pedig ugyanazt csinálja, mint amikor feljön a szeróra, és létrehozza a fájlt, csak legalább kicsit biztonságosabb a jelszó miatt  Nem tudják ellopni így a másik cuccait, ennyi. Na mind1, te tudod, én csak ajánlottam. Nyilván ezen már nincs mit vitázni, zárjuk le ezt a beszélgetést a regrõl.
3708
« Dátum: 2013. április 17. - 13:28:41 »
Az egyáltalán nem copy, ha írsz egy dialogos reget. De mivel ugyanazt készítenéd el, mint amit publikáltak a fórumon, könnyebb a dolgod azt átírni. És az is full dini (meg dialog), tehát tanulod vele a szkriptelést, meg a dini használatát is.
3709
« Dátum: 2013. április 16. - 19:48:57 »
if(isnull(params)) return SendClientMessage(playerid, PIROS, \"Használat:/hiba [szöveg]\");
Azt már átírtam
3710
« Dátum: 2013. április 16. - 19:34:58 »
Így? CMD:hiba(playerid,params[]) { if(isnull(params)) return SendClientMessage(playerid, PIROS, \"Használat:/hiba [szöveg]\"); new name[24],fileba[128],varname[64]; GetPlayerName(playerid,name,24); format(fileba,64,\"%s:%s\",name,params); if(!dini_Exists(\"hibak.ini\")) { dini_Create(\"hibak.ini\"); dini_IntSet(\"hibak.ini\",\"összes\",0); format(varname,64,\"line%i\",dini_Int(\"hibak.ini\",\"összes\")); dini_Set(\"hibak.ini\",varname,fileba); dini_IntSet(\"hibak.ini\",\"összes\",dini_Int(\"hibak.ini\",\"összes\")+1); SendClientMessage(playerid, ZOLD, \"Üzenet elküldve!\"); } else { format(varname,64,\"line%i\",dini_Int(\"hibak.ini\",\"összes\")); dini_Set(\"hibak.ini\",varname,fileba); dini_IntSet(\"hibak.ini\",\"összes\",dini_Int(\"hibak.ini\",\"összes\")+1); SendClientMessage(playerid, ZOLD, \"Üzenet elküldve!\"); } return 1; }
3711
« Dátum: 2013. április 16. - 19:11:13 »
Nagyon egyszerû. Berakod, hogy SendClientMessage(playerid, ZOLD, \"Üzenet elküldve!\"); és ennyi. Ha a legutóbbi, kódos kommentedben jó volt a kód, akkor bele tettem neked: CMD:hiba(playerid,params[]) { if(isnull(params)) return SendClientMessage(playerid, -1, \"Használat:/hiba [szöveg]\"); new name[24],fileba[128],varname[64]; GetPlayerName(playerid,name,24); format(fileba,64,\"%s:%s\",name,params); if(!dini_Exists(\"hibak.ini\")) { dini_Create(\"hibak.ini\"); dini_IntSet(\"hibak.ini\",\"összes\",0); format(varname,64,\"line%i\",dini_Int(\"hibak.ini\",\"összes\")); dini_Set(\"hibak.ini\",varname,fileba); dini_IntSet(\"hibak.ini\",\"összes\",dini_Int(\"hibak.ini\",\"összes\")+1); SendClientMessage(playerid, ZOLD, \"Üzenet elküldve!\"); } else { format(varname,64,\"line%i\",dini_Int(\"hibak.ini\",\"összes\")); dini_Set(\"hibak.ini\",varname,fileba); dini_IntSet(\"hibak.ini\",\"összes\",dini_Int(\"hibak.ini\",\"összes\")+1); SendClientMessage(playerid, ZOLD, \"Üzenet elküldve!\"); } return 1; }
3712
« Dátum: 2013. április 16. - 18:53:26 »
Mondom, ha mükszik neki, akkor jó.  Én az alap kérdésbõl kiindulva írtam meg a kódot. Akárhol írom be a parancsot azt írja ki hogy nincs kulcsom hozzá. Holott kikéne nyitnia a kaput ha ottvagyok elötte de mindenhol azt írja hogy nincs kulcs. hol rontottam el?[/quote] Nos erre sok féle kód megoldás lehet, csak egy példa: csak a 9-es frakciójú nyithassa, vagy csak az ne, vagy csak leader és tag együtt, stb. Az alap kérdésben errõl egy szó sem volt, tehát az én kódom is jó. Ha leírta volna, mi kell neki, a szerint írom meg. És pont azért, mert nem írta le, mi is kéne neki, csak azt, hogy mindenhová azt írja, hogy nincs kártyája, logikusnak tartottam, hogy ||-t írok a && helyére, a 9-es frakciónak engedélyezem a parancsot a nem 9-es frakciójú emberek helyett, és a tagadást elveszem az IsPlayerRangeOfPoint függvénybõl.
3713
« Dátum: 2013. április 16. - 18:04:49 »
Természetesen nem fordulhat elõ kétszer. Ez olyan, mint amikor beraksz egy FS-et pár STRCMP-s paranccsal, azok reagálnak, de a módban lévõk már nem - ugyanis ott másodjára szerepel az OnPlayerCommandText. Ez a helyzet itt is, nem szerepelhet kétszer. Csak ha külön van ugye a mód, meg az FS, akkor nincs error. Edit: ha nem írok példát, ZyZu nem elõz be
3714
« Dátum: 2013. április 16. - 17:46:51 »
a helyes kód valahogy így néz ki:
CMD:nyit(playerid) { if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859)) { if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); SetObjectRot(pdajto,0.00, 0.00, 90.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614)) { if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773)) { if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\"); return 1; }
Hááááááááááááááááát, nem^^ Az a jó, amit én írtam. A tiedben mind a három hiba is szerepel: csak akkor teljesül a parancs, ha leader és tag is egyben, ráadásul nem a megadott frakcióhoz tartozik, illetve csak akkor, ha nincs a pont közelében... Gyakorlatilag lemásoltad az alap kódot, és levettél belõle ! jelet, ami kb. 1/10-ed megoldás, úgy, hogy elõtted már rég leírtam, magyarázattal a helyes kódot. A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva. [/quote] Nem akarok rosszat mondani de jót írt le. kell a felkiáltó jel a leader elé. Tehát:
PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9
Mûködik így rendesen. [/quote] Ezek szerint te azt szeretnéd, hogy csak akkor nyíljon a kapu, ha nincs a kapu közelében, leader és member is egyben, illetve nem tartozik a 9-es frakcióhoz, vagy mi?
Ha persze mûködik, akkor örülök veled.
3715
« Dátum: 2013. április 16. - 17:38:37 »
Ezt egy másik fórumon találtam, de az, ami neked kell. http://gtaforum.hu/index.php?topic=14935.0Jah, ez a 2. problémádra a megoldás, a bizonyos távolságon belüli chat. Amúgy a SendClientMessageToAll függvénnyel pont, hogy mindenkinek elküldi az üzenetet a szerver.
3716
« Dátum: 2013. április 16. - 17:35:21 »
a helyes kód valahogy így néz ki:
CMD:nyit(playerid) { if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859)) { if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); SetObjectRot(pdajto,0.00, 0.00, 90.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614)) { if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773)) { if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\"); MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00); cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\"); return 1; } else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\"); return 1; }
Hááááááááááááááááát, nem^^ Az a jó, amit én írtam. A tiedben mind a három hiba is szerepel: csak akkor teljesül a parancs, ha leader és tag is egyben, ráadásul nem a megadott frakcióhoz tartozik, illetve csak akkor, ha nincs a pont közelében... Gyakorlatilag lemásoltad az alap kódot, és levettél belõle ! jelet, ami kb. 1/10-ed megoldás, úgy, hogy elõtted már rég leírtam, magyarázattal a helyes kódot. A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva.
3717
« Dátum: 2013. április 16. - 17:30:35 »
Kedves Témanyitó! Felesleges volt duplaposztolni, ugyanis ha valaki tud segíteni, akkor segít. Én például tudok. Ha jól éltem, a képernyõ alján lévõ TextDraw-ra gondolsz. Egyszerûen. A parancsnál a TextDrawShowForPlayer függvényt alkalmazod, hogy megjelenjen a TextDraw. A TextDrawHideForPlayer függvénnyel pedig törölheted az adott TextDrawot a játékos képernyõjérõl. Wiki http://wiki.sa-mp.com/wiki/TextDrawShowForPlayer http://wiki.sa-mp.com/wiki/TextDrawHideForPlayer TextDraw Editor http://forum.sa-mp.com/showthread.php?t=117851
Nem tudom hogy mit magyarázol... Van a SeeRPG módban az hogy lent van egy ilyen bár és ott vannak az adatok... [/quote] Igen, pont azt magyarázom^^ Csupán válaszoltam neked, ráadásul még + információkat is nyújtottam a számodra. Vagy azt se tudod mi az a TextDraw? Hát így nehéz dolgod lesz :wall: És akkor ez esetben sürgõsen tanulmányozd át az elsõ hozzászólásomban linkelteket!!!
3718
« Dátum: 2013. április 16. - 17:27:44 »
Helló! Van egykis gond az eggyik kis rendszeremmel... Nem menti a pénzt hiába minden jól van.
Pénz
Ha más nem is, de ez biztosan hiba: sose használj ékezetes betûket dinivel (se mással, ahol adatokat kérdezel le, vagy bármi más ami nem magyar)! Írd át Penz-re.
Oldalak: 1 ... 246 247 [248] 249 250 ... 261
|