Ü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 ... 104 105 [106] 107 108 ... 136
1576
Erre rengeteg megoldás van de talán az alap bevált módszert próbálnám leírni, (most nem akarok kitérni itt az egyéb adat tömörített változatokra amik kevesebb memória terület lefoglalása mellett gyorsabban is végrehajtják a feladatot):
Elsõnek kellenek azok a modelid-k amik rendõr jármûvek:
http://wiki.sa-mp.com/wiki/Vehicles:All
[pawn]stock
IsaCopCar(playerid)
{
new
   vehid = GetPlayerVehicleID(playerid); // lekérdezzük hogy a játékos melyik sorszámú autóban van
if(vehid) // Ellõnrízzük hogy ezaz érték nagyobb-e nullánál mert ha nulla akkor a játékos nincs jármûben.
{
   switch(GetVehicleModel(vehid)) //Itt egy if hez hasonló szerkezet csak ez valamivel szebb lényegében a jármû azonosító számából lekérdezzük a modelid-t
   {
      case 427, 497, 528, 596, 597, 598, 599, 601: return true; // A rendõr jármûvek modelidje majd a visszatéréseket megváltoztatod olyanra amelyik neked kell meg a modelidket is írd át, ha van benn olyan aminek nem kellene.
   }
}
return false; // false (0) visszatérési érték ha nem rendõr jármûben van és nem tartózkodik jármûben a játékos.
}[/pawn]

1577
Félre érted nem kell semmit definiálni de ha akarod akkor úgy csinálod nem tudom pontosan hol szeretnél modelid-re valamit alkalmazni de azt így tudod:
[pawn]    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) // 411 is the infernus model
    {
        SendClientMessage(playerid, 0xFFFFFFFF, \"Nice Infernus!\");
    }[/pawn]
Vagyis elsõnek meg kell állapítani a játékos melyik sorszámú autóban van (vehicleid) majd ezután megállapítjuk a modelid számát (GetVehicleModel) és ha az 411 jelen esetben infernus akkor kap egy üzenetet.

1579
Off Telep / AMD vagy Intel?
« Dátum: 2011. szeptember 10. - 22:17:45 »
WebSite\" post=\"175317\" timestamp=\"1315685499\"]
Intel :)
 
[/quote]

1580
SA-MP / Open.mp: Szerverfejlesztés / N-Reakció Teszt
« Dátum: 2011. szeptember 10. - 22:07:08 »
Idézetet írta: DrAkE date=1315684797\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11383\" data-ipsquote-contentclass=\"forums_Topic
Ezen mit kell gondolkozni? :D
Fogsz egy bool változót amikor elindul a reakció akkor igazra állítod és ha vki beírta tökéletesen a szót akkor átállítod false-ra illetve KillTimer
 
Fölösleges túlbonyolítani.
[pawn]c_szoveg[0] = EOS;[/pawn]

1581
SA-MP / Open.mp: Szerverfejlesztés / N-Reakció Teszt
« Dátum: 2011. szeptember 10. - 21:49:23 »
Én megnéztem és kipróbálás nélkül arra jutottam hogyha ez lenne épp a beírandó karakterlánc \"gh15sSwkTj\" akkor én többször beírom és mindannyiszor pénzt és score pontot kapok érte, amíg le nem telik a 3 perc és ezt eljátszhatom a többivel is.

1582
SA-MP / Open.mp: Szerverfejlesztés / cVeh jármûlekérõ
« Dátum: 2011. szeptember 09. - 20:40:51 »
Idézetet írta: Cole date=1315579326\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11344\" data-ipsquote-contentclass=\"forums_Topic
Csináltam egy olyan bazi nehéz scriptet, hogy kb. 3 perc volt. :D  :laugh:
 
Meg is látszik a 3 perc eredménye, ezek a változók mi célt szolgálnak azon kívül hogy jelenleg csak foglalják a memória területet?
 

[pawn]new CreatedCars[100];
new CreatedCar = 0;[/pawn]
 
[/quote]
Szánj rá inkább egy fél órát vagy egy egészet és nézz végig mindent benne mi célból vannak ott, és akkor nem maradnak benne felesleges dolgok.

1583
Hangszerek és előadók / Mit hallgatsz most vol. 2
« Dátum: 2011. szeptember 08. - 20:57:43 »
KnEXrbAQyIo

1584
Segítségkérés / Ciggy
« Dátum: 2011. szeptember 07. - 20:06:05 »
Oh vazze még én se veszek észre ekkora baromságot pedig majdnem kiszúrta a szemem na mindegy a többi hozzá szólást olvastam és lehet amiatt nem vettem észre.
[pawn]if(GetPlayerKeys(playerid, fire, ud, lr) == KEY_FIRE)[/pawn]
[pawn]if(fire == KEY_FIRE)[/pawn]
Edit:
[pawn]public OnPlayerUpdate(playerid)
{
new
   keys,
   updown,
   leftright;
GetPlayerKeys(playerid, keys, updown, leftright);
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER)
{
   if(keys == KEY_FIRE)
   {
      SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+100);
   }
}
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_SMOKE_CIGGY)
{
   if(keys == KEY_FIRE)
   {
      SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+100);
      SetTimerEx(\"CiggyWeatherTimer\", 1000, true, \"i\", playerid);
   }
}
return 1;
}
[/pawn]

1585
Segítségkérés / Ciggy
« Dátum: 2011. szeptember 07. - 17:38:37 »
[pawn]
new
RandWeirdWeathers[] =
{
21,
23,
33,
43,
38,
44,
45,
47,
50,
100,
250,
2009
};
public CiggyWeatherTimer(playerid)
{
   SetPlayerWeather(playerid, RandWeirdWeathers[ random( sizeof( RandWeirdWeathers ) ) ] );
}[/pawn]

1586
SA-MP / Open.mp: Szerverfejlesztés / EVote
« Dátum: 2011. szeptember 07. - 17:29:40 »
Nagyon sok hiba van benne, ilyenkor tetszenek a \"Jó lett\" hozzá szólások meg hasonló dolgok.
    for(new i = 0; i < MAX_PLAYERS; i++) IgenVote++;

Vannak ilyen részletek amiket abszolút nem értek, minek kell MAX_PLAYERS értékû változók és minek kell minden egyes cellájának értékét növelni egyel?


Most kell két sima változó, és egy ilyenhez nem kell semmilyen for ciklus.


[pawn]


new igen, nem;[/pawn]


Amikor valaki igenre szavaz akkor


[pawn]igen++;[/pawn]


aki a nem-re akkor meg


[pawn]nem++;[/pawn]


és a végén meg kiíratjuk az eredményt.

1587
SA-MP / Open.mp: Szerverfejlesztés / Kill Streak
« Dátum: 2011. szeptember 05. - 20:15:39 »
Idézetet írta: instant date=1315245892\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11212\" data-ipsquote-contentclass=\"forums_Topic
de most mondjuk ha végig olvastam a sampforum.hu gtaforum.hu forum.sa-mp.com nál a tutorialokat akk hogy tovább ? :D
 
Sok kockulás.
Talán az egyik legjobb módszer ha van saját szerver és abban alkotni dolgokat, közben meg elolvasni egy két c++ könyvet, és persze rengeteg játék.

1588
SA-MP / Open.mp: Szerverfejlesztés / Kill Streak
« Dátum: 2011. szeptember 05. - 20:01:35 »
Idézetet írta: instant date=1315244771\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11212\" data-ipsquote-contentclass=\"forums_Topic
nem baj szivesen végig olvastam a te scriptedet de én még nem nagyon értek az olyan dolgokhoz mint te
 
:D nem baj majd idõvel, még az a baj hogy sokszor az emberek nem tudják miért van killerid meg playerid szöveg meg a többi eljárás elnevezés, így egy apró logikát nem tudnak beleírni a szkriptbe, mert azzal vannak elfoglalva hogy egyáltalán mit is csinál azaz eljárás/elnevezés meg mi is az egyáltalán, ezért csak idõ kérdése az egész meg hogy mennyire érdekli az embereket a téma.
Kitartás. (Jó kis lelkesítõ szó, talán nem vesztett a jelentésébõl még semmit.) :D

1589
Hát elsõnek is lássuk a kódot:
[pawn]#include <a_samp>
#define hejho(%0) ((%0) + ((%0) * 2) / 3) //Mivel nem találtam neki értelmes nevet ezt adtam neki \"hejho\" :D.
new
KillingSpree[MAX_PLAYERS];
public
OnPlayerConnect(playerid)
{
KillingSpree[playerid] = 0;
return 1;
}
public
OnPlayerDeath(playerid, killerid, reason)
{
KillingSpree[playerid] = 0;
if(killerid != INVALID_PLAYER_ID)
{
   KillingSpree[killerid]++;
   if(!(KillingSpree[killerid] % 3) && KillingSpree[killerid] != 0)
   {
      new
         score = hejho(KillingSpree[killerid]),
         money = score * 1000,
         str[128];
      GetPlayerName(killerid, str, sizeof str);
      format(str, sizeof str, \"Kill Streak!! %s  Kills: %d | Jutalma: %d$ pénz + %d Score\", str, KillingSpree[killerid], money, score);
      SendClientMessageToAll(0xFF0606FF, str);
      GivePlayerMoney(killerid, money);
      SetPlayerScore(killerid, score);
   }
}
return 1;
}[/pawn]
Hát ez megvolna, 34 sor, remélem átláthatóra sikeredett.
Itt egy kis leírás errõl, mi is lenne valójában:
A szkript lényege hogy 3 ölésenként szöveget ír ki a chat-be és ennek megfelelõen jutalmazza a játékost.
Ha tehát egy játékos elér egy adott Kill Streak-et 3-at, 6-ot, 9-et, és így tovább akkor ennek megfelelõen 5, 10, 15, score pontot és 5000, 10000, 15000, ... pénzt ad.
Most itt jött képbe egy apró macro utasítás mert valahogyan a 3 kill-bõl 5-öt kellett varázsolni a 6 killbõl 10-et, 9 killbõl 15-öt és így tovább.
A macro utasítás ez lenne értelmes név hiányában \"hejho\"-nak neveztem el. Bocsánat érte.
[pawn]#define hejho(%0) ((%0) + ((%0) * 2) / 3)[/pawn]
Röviden e 3 eset matematikai leírásával tudnám szemléltetni mûködését:
3 + ((3 * 2)  / 3) = 5
6 + ((6 * 2)  / 3) = 10
9 + ((9 * 2)  / 3) = 15
Ez alapján lehet a 3-mal osztható számokból 5-tel osztható számokat varázsolni.
Így sikerült a score pontokat létrehozni, a pénz jutalom ezek után 1000-el való szorzással kapható meg.
Remélem e kis leírás/Fs segít pár emberkének hogyan alkamazzunk egy kis logikát szkriptünkben ha ilyen periodikusan (szakaszosan) ismétlõdõ dologgal találkozunk.
E kis szösszenetet instant [FS]Killstreak szkriptje miatt írtam.

1590
SA-MP / Open.mp: Szerverfejlesztés / Kill Streak
« Dátum: 2011. szeptember 05. - 18:30:23 »
Idézetet írta: instant date=1315167459\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11212\" data-ipsquote-contentclass=\"forums_Topic


Majd lehet lesz benne egy crash ami invalid array problémára vezethetõ vissza.
Miszerint ha a játékosnak nincs gyilkosa vagyis öngyilkos lett vagy baleset áldozatává vált, akkor a killerid értéke INVALID_PLAYER_ID lesz.
Ilyen cella meg nincs KillingSpree[iNVALID_PLAYER_ID].
 
ezt 1 angol tut szerint csintam mert nem tudtam eddig hogy hogy kell csinálni és zsolesszka nem vok annyira jo scripter mint te
 
[/quote]
Nem baj majd idõvel alakul a dolog de több helyen is vérzik a script a jutalmakat ez esetben a gyilkosnak kellene adni és a gyilkos nevét kellene kiíratni, ezt úgy vettem észre hogy kicsit átalakítottam.
Ide írom az egyik változatot ha nem gond amúgy erre a 3-as listára találtam egy jó dolgot rögtönzöm majd azt is, de annak lehet nyitok másik témát.
[pawn]#include <a_samp>
new
KillingSpree[MAX_PLAYERS];
public
OnPlayerDeath(playerid, killerid, reason)
{
KillingSpree[playerid] = 0; // Az áldozat ölés számlálójának nullázása (playerid) ezt minden esetben nullázni kell az öngyilkosság is is a Kill Streak sorozat végét jelenti
if(killerid != INVALID_PLAYER_ID) // ezzel a résszel kizárjuk azokat a halál eseteket ahol nincs killerid tehát baleset vagy öngyilkos lett (playerid) /kill
{
   KillingSpree[killerid]++; // Ölés számláló növelése
   if(!(KillingSpree[killerid] % 3) && KillingSpree[killerid] != 0)
   {
      // printf(\"KillingSpree értéke osztható maradék nélkül 3-mal és nem nulla. | %d\", KillingSpree[killerid]);
      new
         str[128]; // 128 csak azért mert ennyi a maximálisan kiíratható karakterek száma. (egy idõben lehetett 144-et is)
      GetPlayerName(killerid, str, sizeof str); // És ahogy ezt írtam észre vettem itt is egy elírást itt a gyilkos nevét kérjük le (killerid) és nem az ádozatét õ meghalt ennyi :D (majd újra születik)
      //Na igen itt jön az a rész hogyan formázzunk szöveget hogy mindíg a megfelelõt írja ki? Hát én most ezt választottam. :D
      switch(KillingSpree[killerid])
      {
         case 3: {   format(str, sizeof str, \"%s jutalmat kap a %d szoros ölésért halál nélkül Jutalma:5000$ és 5 Score\", str, KillingSpree[killerid]);
                  GivePlayerMoney(killerid, 5000);
                  SetPlayerScore(killerid, 5);   } // És igen itt is természetesen nem a playeridnek jár a jutalom hanem a gyilkosnak (fordított a téma mint a való életben) hacsak nem bérgyilkos meló a dolog :D
         case 6: {   format(str, sizeof str, \"%s halhatatlan !! Kills: %d | Ezért jutalmat kap: 10000$ 10 Score\", str, KillingSpree[killerid]); // Cheater :D
                  GivePlayerMoney(killerid, 10000);
                  SetPlayerScore(killerid, 10);   }
         case 9: {   format(str, sizeof str, \"%s vérszomjas !!  Kills: %d | Ezért jutalmat kap: 15000$ 15 Score\", str, KillingSpree[killerid]); // Pro cheater
                  GivePlayerMoney(killerid, 15000);
                  SetPlayerScore(killerid, 15);   }
         case 12:{   format(str, sizeof str, \"%s isten !!  Kills: %d | Ezért jutalmat kap: 20000$ 20 Score\", str, KillingSpree[killerid]); // vicc
                  GivePlayerMoney(killerid, 20000);
                  SetPlayerScore(killerid, 20);   }
      }
      SendClientMessageToAll(0xFF0606FF, str); // Mivel ezt (COLOR_ULTRARED) se találtam sehol, ezért ide másoltam valami szín kódot helyette
   }
}
return 1;
}[/pawn]
Edit:
Hát el is készítettem ezt a 3-mal és 5-tel periodikusan ismétlõdõ Kill Streak fst. Amit itt meg lehet tekinteni.

Oldalak: 1 ... 104 105 [106] 107 108 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal