|
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. 1501
Archívum / Segítõkészek« Dátum: 2011. október 05. - 21:08:10 »
Köszönöm szépen, és a gratulációkat is.
1502
Segítségkérés / További törölt / tiltott funkciók 0.3c alatt.« Dátum: 2011. október 05. - 17:25:42 »
AttachPlayerObjectToPlayer
SetDisabledWeapons 1503
Fórum Archívum (Témák/Fórumok) / Anti-Dialog Hack 0.0.5« Dátum: 2011. október 03. - 19:05:32 »
Jó akkor íme a kísérleti filterscript:
[pawn]#include <a_samp> #include <anti_dialog_by_koczka> public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(\"/show\", cmdtext, true) == 0) { SendClientMessage(playerid, -1, \"Use Command /show\"); ShowPlayerDialog(playerid, 8765, print(\"Called ShowPlayerDialog dialogid 8765\") - 1, \"Anti teszt\", \"info\", \"ok\", \"mégse\"); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new str[128]; format(str, sizeof(str), \"Called OnDialogResponse dialogid: /d\", dialogid); SendClientMessage(playerid, -1, str); print(str); switch(dialogid) { case 8765: { SendClientMessage(playerid, -1, \"Called OnDialogResponse dialogid 8765\"); if(response) { SendClientMessage(playerid, -1, \"select ok\"); print(\"select ok\"); } else { SendClientMessage(playerid, -1, \"select mégse\"); print(\"select mégse\"); } return 1; // Sikeres végrehajtás } } return 0; }[/pawn] A dialog megjelenik nem kérdéses de az utána lévõ dolgokból nem kerül semmi végrehajtásra! Ezt az üzenetet kellene látnom \"Called OnDialogResponse dialogid: /d\" miután valamelyik gombra kattintottam vagy enter vagy esc de semmi. Következõ verzió? 1504
Fórum Archívum (Témák/Fórumok) / Anti-Dialog Hack 0.0.5« Dátum: 2011. október 03. - 18:22:19 »
Hát írok is végre megpróbáltam betenni ezt az egészet egy szkriptbe a következõ hiba üzenetet kaptam:
(52): warning 225: unreachable code 1505
Fórum Archívum (Témák/Fórumok) / Anti-Dialog Hack 0.0.5« Dátum: 2011. október 03. - 17:43:17 »Ezzel csak annyi a baj, hogy ha a PVar értéke egy ShowPlayerDialog után megváltozik, utána a spammelt dialogok mind azt a dialogid-t kapják meg. Így gyakorlatilag ott vagyunk ahol a part szakad: az utoljára megjelenített dialog még mindig meghívásra kerülhet akárhányszor.[/quote] 1506
Fórum Archívum (Témák/Fórumok) / Anti-Dialog Hack 0.0.5« Dátum: 2011. október 02. - 21:14:55 »
Hát ez a baj látod hogy csak azokra gondol a készítõ hogy talán ennyit megtesznek de aki meg ért hozzá az nem fog plusz inc fájlt használni, ezért kellene azokra is gondolni.
Amúgy nekem meg teljesen mindegy, és egy kicsit túl is van bonyolítva. Az alap elv abból indul ki mikor ShowPlayerDialog kerül meghívásra akkor tároljuk PVarban a dialogid-t és ezt az értéket is ellenõrizni kell OnDialogResponse alatt, hogy a ténylegesen megjelenített dialog funkciói kerüljenek alkalmazásra a továbbiakban. EDIT: Minél többet nézem annál biztosabb vagyok benne hogy ez nagyon túl van bonyolítva és nem kicsit és nem értem mi kerül meghamisításra, meg hogyan lehet kicselezni, mivel sok helyen akár regisztráció akár login vannak külön funkciók amik bizonyos dolgoknál tovább lépnek, például ha valaki már be van jelentkezve akkor csak egy üzenetet fog vissza kapni hogy õ már bejelentkezett felhasználó, és ha mondjuk van egy fegyver lekérõ dialog ami csak adminoknak van akkor oda meg elég lenne pluszba beírni hogy újból ellenõrzésre kerüljön admin joggal rendelkezik-e az illetõ, ezért OnDialogResponse alatt nem csak a dialogid-k vannak ellenõrizve hanem sok egyéb más dolog is, ami igencsak megnehezíti a hamis dialogid dolgot. Így az én javaslatom ha olyan eljárás van OnDialogResponse alatt ami adminoknak szól, akkor pluszba írjunk oda egy admin szint ellenõrzést is, mintsem egy plussz .inc-t alkalmazzunk. Igaz többet tudnék mondani én is ha elõ tudnám idézni az ilyen dolgokat, de még nem találkoztam ilyesmivel. Még egy edit: Van ez a rész mit is ellenõriz pontosan? [pawn] new SA_ADH_ODR_dialogid = GetPVarInt(playerid, \"dId1\"); if (SA_ADH_ODR_dialogid < 1 || SA_ADH_ODR_dialogid > 32767) return 1; /* illegal dialog ids */ if (SA_ADH_DR) { if (SA_ADH_cODR(playerid, SA_ADH_ODR_dialogid, response, listitem, inputtext) == 1) /* the current script handled the dialog */ { {[/pawn] Hogy a ShowPlayerDialog meghívásakor eltárolt dialogid kisebb-e mint 0 vagy nagyobb-e mint 32767 és létezik-e az OnDialogResponse alias (SA_ADH_DR) majd tovább lépve újabb OnDialogResponse létezik-e alias (SA_ADH_cODR to CalllocalFunction OnDialogResponse)? Ezt nem tudom hogy véd a hamis dialogid ellen de mindegy. Ennyi erõvel: [pawn] #define antidialog_id \"gtjkkktgdsatui\" stock ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[]) { SetPVarInt(playerid, antidialog_id, dialogid); // Dialogid mentés játékosonként ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2); } #define ShowPlayerDialog ShowPlayerDialogEx //A szkript lefordításakor (compile) az összes ShowPlayerDialog kicserélésre kerül erre ShowPlayerDialogEx [/pawn] Majd az OnDialogResponse alatt: [pawn] public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { // switch(dialogid) // ez helyet használjuk az eltárolt dialogid-t switch(GetPVarInt(playerid, antidialog_id)) { case 1: {} // Ebben az esetben egy megjegyzés: ne használjunk 0 val jelölt dialogid-t mivel ha nincs adat megadva PVar-nak akkor alap értéke nulla. case 2: {} case 3: {} case 4: {} case 5: {} } return 1; } [/pawn] Még egy edit: Közben találtam egyet ajánlom áttanulmányozásra: http://pastebin.com/kUgfNiLs http://forum.sa-mp.com/showthread.php?t=283790&highlight=Anti-Dialog+Hack 1507
Fórum Archívum (Témák/Fórumok) / Anti-Dialog Hack 0.0.5« Dátum: 2011. október 02. - 20:53:09 »
Nem rossz, amúgy lehetne olyan kiadás is ami nem használ hook systemet mivel mostanában kiderült hogy eléggé túlzásba van véve a dolog és a CallLocalFunction bekerült a legsûrûbben meghívott eljárások sorába. Lásd Zeex profiler plugin eredményeit.
Ezért lehetne egy olyan kiadott változata amit csak be kell másolni az egyes visszahívások alá. Természetesen ezt mindegyik filterscriptben és módban alkalmazni kellene. 1508
Segítségkérés / Táblára írás« Dátum: 2011. október 01. - 18:03:51 »
Azokat írd oda és kész 40.0,0
Amúgy a pirosan jelölt adatok: Create3DTextLabel(text[], color, Float:X, Float:Y, Float:Z, Float:DrawDistance, virtualworld, testLOS) 1509
Segítségkérés / Táblára írás« Dátum: 2011. október 01. - 15:05:21 »Idézetet írta: Gumimaci date=1317473645\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12116\" data-ipsquote-contentclass=\"forums_Topic Én ebböl nem értek semmit azért köszi... 1511
SA-MP: verziók / SA-MP 0.3d R2 client/server (now released)« Dátum: 2011. október 01. - 11:39:23 »
Kinek mi a fontos én örülök az újabb funkciónak és annak hogy stabilizálva van az object szörfözés (ha mozog az object nem esel le róla).
Ezt nyugodtan ki lehet próbálni a mellékelt 3 példa szkripttel. Sõt az object mozgatás is egyszerûsödött, egy funkcióba lett téve, és mostantól objecthez is lehet csatolni objectet (AttachObjectToObject) és így a fõ object mozgatásával együtt mozogni fog a rácsatolt object/ek is. 1512
SA-MP: verziók / SA-MP 0.3d R2 client/server (now released)« Dátum: 2011. október 01. - 11:17:45 »
De jó hogy ennyi topic van nyitva 0.3d-nek.
Samp 0.3d RC3 kiadva. 1513
Fórum Archívum (Témák/Fórumok) / SA-MP 0.3d RC Teszt verziók« Dátum: 2011. október 01. - 11:15:10 »1514
Segítségkérés / Pickuppickup« Dátum: 2011. szeptember 30. - 22:38:15 »Idézetet írta: Roni date=1317414033\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12090\" data-ipsquote-contentclass=\"forums_Topic Mert én nem ezt írtam. 1515
Fórum Archívum (Témák/Fórumok) / [TUT]Interorba menés!« Dátum: 2011. szeptember 30. - 22:18:53 »
Kicsit túl szellõsre sikeredett ez a tut.
Amúgy ez mi PlayerToPointStripped? Nem találom az alap samp funkciók közt ezért nem ártana publikálni ezt a kódot is, elvileg a leírás azért készül hogy bárki végre tudja hajtani, de ha olyan eljárásokat írsz ki amit nem talál sehol meg lesz a véleménye. Ja igen, a hejesírás ugye helyesírás? |

\