Üzenetek megjelenítése

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 - Zsolesszka

Oldalak: 1 ... 99 100 [101] 102 103 ... 136
1501
Segítségkérés / Speed Óra.
« Dátum: 2011. október 08. - 11:00:11 »
Elárulnád hogy hol találtad?

1502
SA-MP: Szerverfejlesztés / AFK Rendszer
« Dátum: 2011. október 07. - 16:46:08 »
Idézetet írta: 0xC01DFACE date=1317963585\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12278\" data-ipsquote-contentclass=\"forums_Topic


7 sorból megvan egy egyszerû AFK script:
 
#include a_samp
#include zcmd
new bool:afk[MAX_PLAYERS];
CMD:afk(playerid) {
if(afk[playerid] == false) afk[playerid] = true, TogglePlayerControllable(playerid, false);
else if(afk[playerid] == true) afk[playerid] = false, TogglePlayerControllable(playerid, true);
return 1; }

 

Esetleg visszatérést? Elég gyakori a lekérdezési bugok.
Ha most használnám a /afk parancsot, akkor az afk[ playerid ] boolean logikai értéke megváltozik true-ra ( int params 1 ), amit a következõ lekérdésre ( if ( afk [ playerid ] == true ) ) is felhasználja és kikapcsolja az afk rendszert.
 
[/quote]
Ezért nem kell if feltétel vizsgálat/ok egy ilyen egyszerû dologhoz.
http://sampforum.hu/index.php?topic=12470.msg143772#msg143772

1503
A Fórum / Bug / Hiba / Probléma Jelentés!
« Dátum: 2011. október 06. - 22:04:18 »
http://sampforum.hu/index.php?page=servercheck
Nekem egyetlen egy szerver adatait se jelenítette meg, de lehet rosszul tudok beírni egy IP címet kettõspont után egy portszámot megadva.  :D

1506
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.  :D

1507
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

1508
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ó?

1509
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
[/quote]
Mielõtt kérdeznél test_cmds.pwn-be próbáltam tenni.
Épp akartam egy szkripttel bizonyítani valamit, amit észre vettem az egészben, de ha még alkalmazni se lehet hiba nélkül nehéz lesz.
Majd nézem a fórumot és ha lesz újabb verzió, megpróbálkozok vele újra.
Mivel én csak alap ötletet írtam össze hirtelen és nem egy teljes dolgot, így találni benne kifogást hogy most nincs a PVar nullázva a második hozzá szólásban közöltem mikor kell törölni.
Native funkciót nem szokás _ALS hook dologgal megírni lásd Ryder`GetVehicleColor.inc
Ne is lovagolj rajt mivel hiba nélkül használni se lehet.  :D :D
 
Nem érdekes a visszatérési érték.[/quote]
Miért is? Épp írtad a szkriptben ha return 0; akkor kerül meghívásra a többi szkriptben a többi OnDialogResponse ha return 1; akkor nem kerül meghívásra a többi.
Akkor most ez hogy is van, most meg nem érdekes?

1510
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]
Egy ShowPlayerDialog után természetes hogy megváltozik a PVar értéke hiszen a kicserélt ShowPlayerDialogEx alias(SA_ADH_SPD) kerül meghívásra ahol újból tárolásra kerül PVar-ban a dialogid.
Abban amit írtam nincs semmi hook dolog ami plusz CallLocalFunction-t igényelne ezt az _ALS megoldást csak public funkcióknál szokás alkalmazni native funkcióknál nem.
Egyszerûen arról van szó hogy a definició
[pawn]#define ShowPlayerDialog ShowPlayerDialogEx   //A szkript lefordításakor (compile) az összes ShowPlayerDialog kicserélésre kerül erre ShowPlayerDialogEx[/pawn]
kicseréli az összes ShowPlayerDialog szöveget ShowPlayerDialogEx-re.
Ha egy dialog meg lett jelenítve majd OnDialogResponse alatt végrehajtásra is került ott szerepel egy return 1; ami lehetne a PVar értékének törlése/nullázása is, a visszatérési érték 1 lesz.
[pawn]return SetPVarInt(playerid, antidialog_id, 0);[/pawn]
Természetesen a dialogid-kre figyelni kell szkriptek terén pl:
0-2000-ig gamemod,
2001-3000 filterscript 1,
3001-4000 filterscript 2,
és így tovább.
 
Mivel sok értelmetlen dolgot hordtál itt össze-vissza, ezért úgy gondolom, válaszolok mindegyikre külön.[/quote]
Nem kerültem ellentmondásba magammal itt te vagy megkeveredve pöttyet és nincs semmi értelmetlen abban amit írtam mivel ezt a késõbbi válaszaidban is megerõsíted.
Ez vicc:
 
Az if (SA_ADH_DR) ellenõrzi, hogy a jelenlegi scriptben van e OnDialogResponse callback.[/quote]
Ha eleve betette az .inc fájlt akkor már van OnDialogResponse akkor minek ellenõrzi pluszba minden meghívásnál van-e, (jó a global változóban tárolt adatot ellenõrzi new bool:SA_ADH_DR; ), de minek?
 
+ Egy építõ jellegû javaslat: hosszabb PVar nevû értékek használata több számítási idõt igényel.[/quote]
Nem használok túl sok Pvart talán van 10 összesen, így teljesen mindegy milyen hosszú nevet adok neki, és fõleg nem használom loop funkciókban sem, így felesleges ez a tanács.
 
Erre inkább nem válaszolnék. Ajánlom az if (SA_ADH_ODR_dialogid... sort áttanulmányozni.[/quote]
Áttanulmányoztam le is írtam még az este, olvasd el újra ha gondolod.
Hirtelen ennyi fért bele, de lehet írok még.

1511
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

1512
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.

1513
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)

1514
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


http://wiki.sa-mp.com/wiki/Create3DTextLabel
 
Én ebböl nem értek semmit azért köszi...
[/quote]
Pedig ez nagyon egyszerû ha már tudsz teleportot készíteni akkor elsõ lépésként /save parancsal mentesz teleportot (azért írom én is ezt mert ez alap parancs másképp is lehet pozíciós adatot menteni).
Majd a savedpositions.txt fájlból kiszeded az x y z koordináta adatokat és beilleszted ebbe a függvénybe Create3DTextLabel.
Beírod a szöveget beteszed az OnGameModeInit alá és kész.
[pawn]
public OnGameModeInit()
{
    Create3DTextLabel(\"Ez a szöveg fog megjelenni a megadott koordináta ponton.\",0x008080FF,30.0,40.0,50.0,40.0,0);
    return 1;
}
[/pawn]
Elsõ rész a megjelenítendõ szöveg,
második a szöveg színe (persze itt is használható a szöveg színezés {3344ff},
utána jön a 3 koordináta pont x y z,
láthatóság távolsága (milyen közel kell lenned hogy láthasd a szöveget),
virtualworld,
testLos (állítólag nem látszódik a trágyakon keresztül a szöveg ha 1 az értéke) nem teszteltem még ezt a részt.

1515
Segítségkérés / Táblára írás
« Dátum: 2011. október 01. - 14:52:51 »

Oldalak: 1 ... 99 100 [101] 102 103 ... 136
SimplePortal 2.3.7 © 2008-2024, SimplePortal