GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Dfoglalo - 2013. Október 05. - 19:23:45

Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 19:23:45
Sziasztok!
Eddig nem nagyon volt szükségem nagyobb globális blokkokra (így tudom a legjobban megfogalmazni), de most szükségem lesz rá. Mondom is miért. Nem akarom a dolgokat 100 helyen átírni, vagy hozzáadni, hanem csak egy helyen, amely mindenhol érvényes lesz. Próbálkoztam pár dolgokkal, de nem igen ment. Egy kicsit konkretizálva a dolgot, hogy esetleg meg is értsétek: egy paranccsal meghívnék egy véletlenszerû számot, amely az adott blokkból kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.
 
new Szam;
/parancs
{
      Szam = random(5);
      Blokk();
}

 
Ha a kapott szám 3, akkor esetleg így:
 

Blokk
{
      // .....
      case 3:
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\");
      }
      case 4:
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\");
      }
      case 5:
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\");
      }
}

 
Vagy így:
 

Blokk
{
      // ...
      if(Szam == 2)
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 2-es szám.\");
      }
      if(Szam == 3)
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\");
      }
      if(Szam == 4)
      {
            SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\");
      }
      // ...
}

 
Aztán ami benne van - a példában egy Client Message - lefut. Lehet, hogy nagyon egyszerûen megoldható az egész, sõt, szinte biztos vagyok benne, de az is lehet, hogy nem, amire nem igazán számítok. Az egyszerûsége ellenére én még nagyon kezdõ vagyok ezen a téren, mivel nem volt szükségem rá, ezért hozzátok fordultam. Ritkán írok ide, de aki többször olvasta a kérdéseimet, észrevehette, hogy olyan téren kérdezek, ahol még kezdõ vagyok. És ezen zöldfülûségemet le is írtam minden témában, ahogy itt is :D Na szóval számítok a segítségetekre! Remélem gyors választ (akár ma) kapok.
Üdvözlettel: Dfoglalo
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 19:47:56
Nem akarom a dolgokat 100 helyen átírni, vagy hozzáadni, hanem csak egy helyen, amely mindenhol érvényes lesz[/quote]
mire gondolsz?
 
Eddig nem nagyon volt szükségem nagyobb globális tömbökre (így tudom a legjobban megfogalmazni)[/quote]
 
Egy kicsit konkretizálva a dolgot, hogy esetleg meg is értsétek: egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote]
 
    Tomb
    {
          // .....
          case 3:
          {
                SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\");
          }
          case 4:
          {
                SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\");
          }
          case 5:
          {
                SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\");
          }
    }
[/quote]
Szerintem te nem a tömbre gondoltál hanem a függvényre de még mindig nem értem mire szeretnéd ezt használni, ha publikus akkor bõvebben kifejthetnéd mire kellene neked ez. Tömbben adatot tárolunk.
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 19:53:06
#include <a_samp>
new
szoveg[][] =
{
{ \"null\" },
{ \"egy\" },
{ \"kettõ\" },
{ \"három\" },
{ \"négy\" },
{ \"öt\" }
};
public OnFilterScriptInit()
{
for(new i; i < 10; i++) // Teszt for ciklus.
{
printf(\"A véletlen kapott szám : %s\", szoveg[ random(sizeof(szoveg)) ]);
}
return 1;
}
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 19:57:30
Idézetet írta: ɐʞzssǝlosz date=1380995586\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic

#include <a_samp>
new
szoveg[][] =
{
{ \"null\" },
{ \"egy\" },
{ \"kettõ\" },
{ \"három\" },
{ \"négy\" },
{ \"öt\" }
};
public OnFilterScriptInit()
{
for(new i; i < 10; i++) // Teszt for ciklus.
{
printf(\"A véletlen kapott szám : %s\", szoveg[ random(sizeof(szoveg)) ]);
}
return 1;
}

 

szerintem nem erre gondolt :)
 
egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote]
 
Aztán ami benne van - a példában egy Client Message - lefut.[/quote]
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 20:01:43
Válaszom Kovacs_Richard hozzászólására
Bocsánat, blokk. Nem tömb. Az már csak jó :D És nem függvény kéne, azokból már írtam eleget, és azok mûködtek is. Itt arról van szó, hogy van egy parancs, ami a Szam változó értékét beállítja egy random számra. És ha például a 3-as jön ki, akkor kiírja hogy a 3-as szám jött ki. Ezt könnyen meg lehet oldani parancson belül. Azonban én ezt úgy szeretném megoldani, hogy valahol a módban létrehozok egy blokkot, amelyben leírom ezeket a lehetõségeket, hogy mi történjen 1-nél, 2-nál, 3-nál, stb. És ha pl. a random(10)-nél 3 jön ki, akkor a 3-asnál lévõ dolgokat hajtsa végre. Vagy ha 2-es jön ki, akkora 2-es dolgait - csak hogy ne mindig a 3-as szám példájával éljek. Egyébként kijelölne egy CP-t, ahová el kell menni, meg kiírna pár szöveget. De ezt helyettesíthetem a példámban egy sima kis Client Messageval, vagy ha úgy tetszik, egy még egyszerûbb print-el is. Lényegtelen mire kell, csak sikerüljön egy ilyen külsõ, mindenhol, nem csak egy adott parancsnál használható -> globális adathalmazt létrehoznom. Ez kicsit olyan, mintha egy adatbázisból kérdeznénk le egy tábla adott sorát, és az ott lévõ rekordok adatait írnánk ki. Csak itt pawn nyelven, egy játékmódban. Remélem így már érthetõ. :)


Válaszom zsolesszka hozzászólására
Na valami ilyesmire gondoltam. Ilyet már használtam egy egyszerû kis véletlenszerû CP-ket kidobó úttisztító munkánál, azonban itt nem csak ennyirõl van szó. Legelõször egyébként erre gondoltam, de nem tudtam, hogyan oldható meg ezzel, hogy kiírjon 6 db Client Messaget, lerakjon egy CP-t, átállítsa két változó értékét, stb.


Válaszom Kovacs_Richard hozzászólására
Közben megint írtál. Nincs idõm elküldeni a választ, és már ír is valaki :D Hát tényleg nem pont arra gondoltam (lásd feljebb) de arra már gondoltam. És szerintem azzal nem nagyon megoldható. És én ezt a \"véletlenszerû számnál lévõ dolog végrehajtása\" elvemet szeretném mindenképpen alkalmazni, lehetõleg egy egyszerû kis if-el. Amely egyszerû megoldás lenne, és meg is oldható. Fõleg parancson belül, az fél perc alatt megvan. Csak ugye ezt mindenhol szeretném használni a módon belül, és nem szeretném mindenhol egyesével átírni a dolgokat (pl. valamit még hozzá kell adnom a 4-es számnál lévõ dolgokhoz, és akkor egy néhány száz helyen hozzá kéne adnom a szükséges dolgokat).
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 20:09:05
valami ilyesmire gondoltál?
 
public GlobalisFunkcio(playerid,functionid)
{
switch(functionid)
{
    case 0:
    {
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SetPlayerSkin(playerid,0);
    }
    case 1:
    {
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SetPlayerSkin(playerid,0);
    }
    case 2:
    {
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SetPlayerColor(playerid,COLOR);
    }
    case 3:
    {
        SendClientMessage(playerid,COLOR,\"Valami Üzenet\");
        SetPlayerColor(playerid,COLOR);
        SetPlayerSkin(playerid,3);
    }
    // ...
}
return 1;
}

 

GlobalisFunkcio(playerid,random(4));
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 20:11:16
Igen. Próbálkoztam publical is, de ahhoz meg pláne nem értek. Függvényt még tudok létrehozni, de blokkot már nem. És mi alkotna blokkot? Egy public Valami. Csak nem tudom, hogyan kell létrehozni, és használni.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 20:14:52
ez a példa egy függvény
ott a példa az alapján megtudod csinálni
csak erre még szükséged lesz a mód / script elején:
 
forward GlobalisFunkcio(playerid,functionid);

 
am az aláírásomban vannak wikis linkek amik elmagyarázzák az alapokat...ajánlom figyelmedbe ha elég hozzá az angol tudásod
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 20:20:40
És csak most döbbenek rá. Már rengetegszer gyártottam ilyet: a timereknél. Angol tudásom pedig van bõven, amúgy rendszeresen a wikit böngészem. Onnan tanultam meg az egészet. Már amennyit tudok. És ezek szerint blokkot is csináltam már, a timereknél, amelyekre az imént döbbentem rá :D Amit írtál, az egyszerû, és logikus, valamint az alapján el is tudok indulni, ráadásul olyan, amilyet én is szerettem volna létrehozni. A témát még NEM zárom le, mert még ezzel kapcsolatban szükségem lehet a segítségetekre, valamint aki még szeretne bármiféle megoldást adni a dologra, azt szeretettel várom - a segítségével együtt.
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 20:38:42
Nincs kedvem végig olvasni az egészet, de a fenti példát ki lehet egészíteni több adattal is.
És nem feltétlen szükség public funkció, hacsak nem SetTimer-rel akarod meghívni.
Mivel nem tudom mit szeretnél létrehozni ezért írtam egy újabb változatot hátha valami ilyesmire gondoltál:
 
#include <a_samp>
enum
blabla
{
str1[128],
str2[128],
str3[128],
str4[128],
cp,
Float:akarmi
};
 
new
sokvalami [] [blabla] =
{
{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },
{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },
{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }
};
new
data = 3;   // Sajnos enum típusú adat tömbnél pawn-ban nem mûködik megfelelõen a sizeof így meg kell adni egy változóba az adatsorok számát.
 
stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.
teszt(dat)
{
printf(\"%s\", sokvalami[dat][str1]);
printf(\"%s\", sokvalami[dat][str2]);
printf(\"%s\", sokvalami[dat][str3]);
printf(\"%s\", sokvalami[dat][str4]);
printf(\"%d\", sokvalami[dat][cp]);
printf(\"%f\", sokvalami[dat][akarmi]);
}
public OnFilterScriptInit()
{
for(new i; i < 10; i++) // Teszt for ciklus.
{
teszt(random(data));
}
return 1;
}
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 20:47:32
Zsolesszka, a Te megoldásod sem rossz, csakhogy feleslegesen túlbonyolított. Inkább néhány koordinátára, vagy pár adatra jó a te megoldásod, nem pedig arra, amit én szeretnék. És nem Timerrel akarom meghívni a dolgokat, de attól még a public-os, és case-es megoldás tökéletesen bevált. Köszönöm szépen a te segítségedet is zsolesszka, habár most nem használom fel :)
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 20:50:55
sokvalami [3] [blabla]

 
így már visszaadja a sizeof a 3 értéket :)
 
És nem feltétlen szükség public funkció, hacsak nem SetTimer-rel akarod meghívni.[/quote]
igaz :) én mondjuk csak publicot használok mivel én küldõ scriptekben is meghívom a függvényeimet :)
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 20:58:07
Épp ez az hogy nem tudni hogy te mit szeretnél létrehozni és emiatt nem lehet írni megfelelõt, egyébként ennél egyszerûbben nem tudod megírni mint ahogy leírtam.
A for ciklus az egészben csak teszt jelleggel szerepel.
A lényege a következõ:
Van egy adattömb melyet kedvedre lehet bõvíteni adattal.
Van egy eljárás mely végre hajtja ez esetben kiírja az adattömb adatait külön sorban.
És persze egyetlen egy sorral a for ciklusban meghívásra kerül az egész.
adat tömb: sokvalami[][blabla]
eljárás : stock teszt(adatsorszam)
és a használat:  teszt(2); 
Ennél egyszerûbben nem lehet létrehozni. :D
@Kovacs_Richard
Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. :D
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 21:02:50
Idézetet írta: ɐʞzssǝlosz date=1380999487\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic
Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. :D
 

new data = 3;

 
hogy is van ez? :D :P
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 21:10:59
Idézetet írta: Kovacs_Richard date=1380999770\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic


Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. :D
 

new data = 3;

 
hogy is van ez? :D :P
 
[/quote]
Ja köss bele persze, én a több száz soros adatsorokra gondoltam nem egy pár soros példára. :D
@Dfoglalo
Átírtam a példát kicsit érthetõbbre számodra hátha látod benne azt amit szeretnél:
 
#include <a_samp>
enum
blabla
{
str1[128],
str2[128],
str3[128],
str4[128],
money,
Float:health
};
new
sokvalami[3][blabla] =
{
{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },
{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },
{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }
};
new
adatsorokszama = sizeof(sokvalami);
stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.
teszt(playerid, adatsorszam)
{
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str1]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str2]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str3]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str4]);
GivePlayerMoney(playerid, sokvalami[adatsorszam][money]);
SetPlayerHealth(playerid, sokvalami[adatsorszam][health]);
}
public OnPlayerSpawn(playerid)
{
teszt(playerid, random(adatsorokszama)); // Egyetlen egy sorral meghívhatod bárhol, az adatokat meg kedvedre bõvítheted az adattömbben és nem kell átírni sehol semmilyen más adatot.
return 1;
}
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 05. - 21:13:48
Eddig is láttam, de Kovacs_Richard megoldása súrolja a tökéletest abból a szempontból, amit én szerettem volna használni.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 21:18:10
Idézetet írta: ɐʞzssǝlosz date=1381000259\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic
Ja köss bele persze, én a több száz soros adatsorokra gondoltam nem egy pár soros példára. :D
 
:D
 
new
        adatsorokszama = sizeof(sokvalami);

 

random(adatsorokszama)

 
ezt direkt vagy megint lustulsz és nem törölted ki az elõzõ példa miatt? (csak bõvítetted) :D
 
 

 

random(sizeof(sokvalami))
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 21:19:38
Direkt van. :D


Ez természetes dolog ha te egy véletlenszerû szám hatására más és mást szeretnél hogy történjen csakis a \"switch\" vagy az \"if, else if\" használata jöhet szóba, de még mindig nem tudom mit szeretnél létrehozni mivel a különbözõ dolgokra az elsõ posztban már írtál dolgokat hogyan próbáltad, hát úgy lehet és nincs egyszerûbb megoldás rá. :D
Edit2:
Mint ahogy a téma címe is adja Globalis tömb, egy globalis tömbben egy elõre meghatározott adat típusok mintáját követve lehet adatokat elhelyezni, mint mysql adatbázisban.
Ezeket persze lehet bõvíteni illetve törölni, de egy alap sablont adnak aminek mintáját követve új adatsort tudsz bennük elhelyezni.
Persze vannak trükkök, mert lehet ellenõrizni egyáltalán van-e adat benne és ha nincs akkor másképp cselekedjen a kód. De ez lenne már a túlbonyolítás ahogy említetted korábban. :D
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 05. - 21:24:23
Idézetet írta: ɐʞzssǝlosz date=1381000778\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic
Direkt van. :D


Ez természetes dolog ha te egy véletlenszerû szám hatására más és mást szeretnél hogy történjen csakis a \"switch\" vagy az \"if, else if\" használata jöhet szóba, de még mindig nem tudom mit szeretnél létrehozni mivel a különbözõ dolgokra az elsõ posztban már írtál dolgokat hogyan próbáltad, hát úgy lehet és nincs egyszerûbb megoldás rá. :D
 
lehet még õ sem tudja pontosan, kód írás közben jönnek az új ötletek lehet már rég nem is ezt csinálja :D
Cím: Globális blokk létrehozása
Írta: Zsolesszka - 2013. Október 05. - 21:30:29
Nincs kizárva, minden esetre várom hátha kitalálja mit is szeretne, de szerintem nem én leszek aki tudni fog neki segíteni még ma, mert lassan elteszem magam holnapra. :D
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 08:37:28
Én már eltettem magamat holnapra, vagyis mára. Ma fogok ezzel a public-os blokkal varázsolni. És látom már hol akadtál fel zsolesszka: korábban eszméltem rá, hogy összekevertem a tömböt és a blokkot. Hozzászólásaim során már blokkokról beszéltem, de a témában még nem. A címet át is javítom gyorsan. Szóval ma fogok elkezdeni vele foglalkozni - egyébként munkákhoz kellenek. Letennék a CP-t, néhány szöveget, esetleg beállítanák pár változó értékét. Majd mikor ma belekezdtek, kiderül, pontosan hogy is lesz. De az biztos, hogy public-al, és switch-el, egy blokk keretein belül. Ha tudtok jobb megoldást ezzel kapcsolatban, szívesen elolvasom azt, de én valahogy arra jutottam, hogy a véletlenszerû munkákat egy switch-es lista segítségével és egy random szám segítségével választom ki.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 09:26:25
szerintem még mindig nem megfelelõ a kifejezés...
blokk = 1 pár { } között levõ rész...
neked egy olyan függvényre [public] ( vagy eljárásra [stock] /ha nincs visszatérési értéke/ ) van szükséged aminek átadsz 1 játékosid-t és 1 számot és lefuttat bizonyos mûvelete(ke)t
szóval a legjobb téma név kb ez lenne: Egy függvény létrehozása
vagy ez: ( ami kicsit furán hangzik :D ): Paraméter függõ lefutás
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 09:48:21
globális blokkokra (így tudom a legjobban megfogalmazni)[/quote]
Hát így sikerült megfogalmaznom. :D Igazából egy függvény is { } között van, ha úgy vesszük, meg ez a public-os dolog is. És azon belül a swich, meg a case-ek is. Meg minden... Függvénynek csak azért nem nevezném, mert ez hasonlítható egy adatbázishoz (ez a public Valami például), habár az adatbázis lekérdezéséhez függvény(ek)re van szükségünk. Vehetjük ezt mindennek, csak éppenséggel tömbnek nem, amit az elején tévesen leírtam, csak hogy elnevezzem valaminek. Azonban még mindig nem kezdtem bele a dologban, mert minden munkát rendesen ki szeretnék dolgozni. Most éppen mapolom az elsõ munka pontjait - és aztán még jön egy szerver által vezetett fuvarozó cég elkészítése is. Majd egy ilyen véletlenszerûen kiválasztott munka több közül.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 09:53:52
te tudod :D mondjuk a végeredmény számít inkább, nem a neve :D
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 09:58:56
Nem hát. És én ezzel a public-os megoldással megtaláltam azt, amit kerestem. Hiába dolgoztam már vele sok ezerszer a timereknél, mégsem jutott eszembe ez a megoldás. Pedig ennyi lett volna az egész. Amúgy ugyanez stock-al sikerült volna? Mert ott egyáltalán nem ment sehogy sem... :( Pedig van pár rövidke kis saját függvényem a módomban.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 10:39:48
igen ment volna stock-al is.
én is írtam már pár ezer függvényt :D
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 12:03:22
A kettõ között mi a funkcionális különbség? Amúgy a public jobban néz ki :D
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 12:47:01
hát idõzíteni csak a publicot tudod ugye a SetTimer(Ex) függvénnyel
meg én pl csak publicot használok mert azt tudom meghívni külsõ scriptbõl
publicnak kell adni visszatérési értéket a stock-nak nem kötelezõ ( return x; )
de neked itt mind1 melyiket használod ebben az esetben
itt inkább az if / switch a kérdés hogy melyik a legjobb neked ha csak a számot figyeled akkor elég a switch de ha már többet akarsz akkor inkább if, de megteheted hogy a switch-en belül használod az if-et
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 13:18:54
Nos nekem az elõzõ hozzászólásodból csak az a poén tûnt fel, hogy nem írtam visszatérési értéket egyik public-nál sem, sem false-ot, sem true-t, sem pedig egy végrehajtandó feladatot - mégis tökéletesen mûködik az egész, ugyanis túljutottam ez elsõ teszten. Külsõ szkriptet pedig régebben használtam, mert PPC módon futott a szerverem (még most is, csak ugye készül ez a mód), és azt nem igazán lehetett szépen és könnyedén szerkeszteni. És mivel letöltött mód volt, nem ártott neki néhány letöltött szkript sem. Itt viszont minden teljesen egyedi lesz - egyedül egy sebesség lekérõ magyarázatot használtam fel, amelyet krisk írt. Meg persze ezt a segítségkérést :D
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 13:34:22
most teszteltem nem problémázott nekem sem, pedig úgy emlékszem hogy írta régebben a pawno a figyelmeztetést hogy KELL visszatérési érték
én a külsõ scriptes dolgot úgy értettem van a módban egy CreateHouse függvény mondjuk és te a scriptbõl hívod meg...
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 13:46:10
Azt hittem FS-re érted. De igazából ez ez egész dolog, hogy a parancsnál meghívom ezt a case-es cuccot ami kellett nekem, az lényegében az amit írtál, ez a \"külsõ szkriptes dolog\", jól értem? :D Mondjuk ez most elég furcsán lett megfogalmazva, de hátha megérted :P Ha az ezen témáról szóló dolgot végre elkészítem egy darab munkával (már csak egy jó kis rakodás TextDraw-on dolgozom), akkor készítsek róla videót? Elõbb vagy utóbb fogok róla, hiszen mindenrõl kell majd videó a módomról, de kifejezetten errõl, ebbe a témába. Mert hamarosan készülõ szerverekhez nem akarok neki témát nyitni, hiszen már megy a szerver, csak PPC-vel. Fõleg, ha egyszer már ennyit beszéltünk róla... És kérdezgettétek, pontosan mit is akarok. Már párszor említettem, hogy munkát, de most akkor pontosan látnátok is. Úgyis szeretek videózni :D


Azonban még csak egy munka van félkész állapotban, és mire készen lesz teljesen, legalább 2-3 munkával, akkor fog kiderülni, minden mûködik e. Addig még lehet, hogy kérdezni fogok errõl a dologról, hátha valami hiba lép fel.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 13:48:50
én értem nagyjából mit akarsz...CP-kre \"eseményeket\" így tudnám megfogalmazni...amikor belemész 1 CP-be mi történjen ugye?
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 13:51:32
Igazából szerintem pont most végeztem az egy munkát tartalmazó dologgal. Kérdés, hogy még kell e majd a segítségetek, amikor végre berakok több munkát. Most jön annak az egy munkának a tesztelése. Remélem utána sem lesz bug. És igen, CP is van benne, de ezt majd a videóban meglátod - ugyanis biztosan gyorsan összedobok rá egyet, mert már 3 oldalt beszéltünk róla, és még mindig nem értitek (igaz, nem is nagyon magyaráztam el, meg nem akartam elmagyarázni) mirõl is van itt pontosan szó.
Cím: Globális blokk létrehozása
Írta: Kovacs_Richard - 2013. Október 06. - 13:53:46
nekem annyira nem fontos igazából :D az a lényeg meg van a válasz és meg van oldva a dolog :D
Cím: Globális blokk létrehozása
Írta: Dfoglalo - 2013. Október 06. - 13:57:05
De most a tesztelés sem ment simán, megint akadt egy hiba. Valamiért a következõ ilyen publicos cuccot nem indítja el, pedig el kéne neki, vagy csak benne akadályoz valami... De mondom, most már kedvet kaptam egy videóhoz róla, és kész. :D


Sikerült megoldanom ezt a problémát, és itt van a videó is. A témát pedig zárom, mert azt hiszem, sikerült megoldanom a problémámat. :) Ha valakinek még van valami mondandója, az írjon egy PÜ-t.
http://www.youtube.com/watch?v=u2NIzZyKigI
Üdvözlettel: Dfoglalo