Ü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 - ShoCk

Oldalak: 1 2 3 [4]
46
Idézetet írta: DrAkE date=1366147419\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36252\" data-ipsquote-contentclass=\"forums_Topic
Most nem azért, de ez a leírás úgy ahogy van (elnézést Moderátorok), sz*r. A megnevezés amit te keresel az nem az hogy KÓD, hanem hogy FUNKCIÓ! Illetve ezen funkciók nem arra szolgálnak, hogy \"parancshoz kössük\" õket, hanem utasítás(ok) végrehajtására. A paraméterek listázása megint csak rossz, hiszen vegyük például a SendClientMessage-t: nem annak fogja kiküldeni az üzenetet, aki beírta a parancsot, hanem amit megadtunk az elsõ paraméterbe. Ez persze függ attól, hogy az adott játékos fent van-e a szerveren, vagy nincs. Illetve a példában nincs definiálva a \"KEK\" sem, így megint csak errort kapna, aki lefordítja. Illetve a leírásban sehol nem látom, hogy ZCMD-t használnál. Sõt! ha már elvileg az alapoktól kezded, akkor minek kezded egybõl ZCMD-vel amit a kezdõk fel se tudnak fogni?
 
Köszi az észrevételeket, mihelyt lesz idõm átnézem és kijavítom. Nem akartam most még annyira keményen fogalmazni, de ha gondolod kijavítom õket...Azért szól kezdõknek, hogy õk is megértsék...Most jönne az, hogy ha valamit magyarázunk, akkor azt helyesen...Jogos...De te is értsd meg az én érveim... Idõvel át fogok térni a szakszerûbb fogalmazásra, de ez még nagyon az eleje...

47
Persze csak nem nagyon volt idõm és gondoltam mivel elég sokat akarok majd ide írni, hogy gyorsan elõször összegyûjtöm a könnyebbeket és fokozatosan egyre jobban beleméjülünk a pawnoba. Most este is írok hozzá még.

48
Sziasztok!
Ebben a topicban szeretnék bemutatni pár pawno kódot, azokat jellemezve, részletesen leírva mi-mit jelent.
Kezdjük is el. Elsõ kódunk a SendClientMessage
 
SendClientMessage(playerid, -1, \"www.sampforum.hu\");

 
Mit csinál a kód: Üzenetet küld annak a játékosnak aki beírja a hozzá kapcsolt parancsot. Pl.: /help
playerid - a játékos aki beírja a parancsot
-1 - Ez egy színkód, jelen esetben fehér. Lehet ez bármilyen, akár kóddal, akár definiálva írod be
idézõ jelbe írt szöveg - ezt az üzenetet fogja megkapni az, aki beírja a kódhoz kapcsolt parancsot
SendClientMessageToAll:
 
SendClientMessageToAll(-1, \"www.sampforum.hu\");

 
Mit csinál a kód: Minden játékosnak küld egy üzenetet, ha beírjuk a hozzá kapcsolt parancsot. Pl.: /reklám
-1 - Színkód, jelen esetben fehér
idézõ jelben írt szöveg: ezt az ütenetet kapják meg a playerek
 
if(IsPlayerInRangeOfPoint( playerid, 1.0, x,y,z))

 
Mit csinál a kód: Helyhez köt egy parancsot. Csak az adott helyen tudod használni
playerid - játékos aki beírja
1.0 - ez a kör sugarát jelenti, ami megadja, hogy mekkora távolságban használhasd a parancsot az adott helytõl
x,y,z - ide kerül a koordináta, ahol szeretnéd, hogy használható legyen a parancs
 
CreateObject(363, 1036.17, 1264.66, 21.19,   0.00, 0.00, 0.00);

 
Mi is ez a kód: Ezzel a kóddal tudsz objecteket létrehozni
elsõ 3 szám amit , választ el - az object helye (koordináta) ahol el fog helyezkedni
a dupla szóköz utáni 3 szám , elválasztva: forgástengelyek.
 
CreateVehicle(599, -756.3206, 2761.6204, 45.8912, 88.8508, -1, -1, 100);

 
Mi is ez a kód: Ezzel a kóddal jármûveket tehetsz le a mapon
elsõ szám (599) - kocsi id-je
következõ 3 szám , elválasztva: kocsi spawnolási helye (ide teszi le a kocsit)
-1, -1 - kocsi színe (wikin tudsz nézni színeket) ez jelen esetben fehér
Most akkor nézzünk egy egyszerû parancsot ezeknek a kódoknak a felhasználásával és egy fegyver adó kóddal:
 
CMD:lopfegyver(playerid, params[]) //parancs amit be kell írni
{ //megnyitjuk a parancsot
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 1237, 843, 1274)) //helyhez kötjük a parancsot
    { //megnyitjuk az if függvényt, ez arra jó, hogy csak akkor adja oda a fegyvert a játékosnak ha jó helyen írja be a parancsot
        GivePlayerWeapon(playerid,WEAPON_MP5,100); //adunk egy MP5-t a játékosnak
        SendClientMessageToAll(KEK, \"Valaki lopott egy MP5-t a fegyverraktárból!\"); //értesítjük a többi játékost a lopásról
        SendClientMessage(playerid, KEK, \"Elloptál egy MP5-t a fegyverraktárból, most menekülj!\"); //közöljük a játékossal a lopás sikerességét
} //lezárjuk az if függvényt
else //az else szó megfelel nagyjából a magyar \"ha nem\" kifejezésnek, vagyis ezzel azt állítjuk be, hogy mi történjen, ha nem jó helyen írja be a parancsot valaki!
{ //megnyitás...
        SendClientMessage(playerid, KEK, \"Nem vagy a fegyverraktárban!\"); //ez közli a játékossal, hogy nem megfelelõ helyen írta be a parancsot
} //zárás...
return 1; //lezárjuk a parancsot
} //lezárjuk a parancsot

 
Most, hogy láttuk, hogy is mûködnek ezek a parancsok a gyakorlatba, mutatok egy újabb kódot, részletesen elmagyarázva:
 
public OnPlayerDeath(playerid, killerid, reason) //playerid=meghalt játékos killerid=gyilkosa reason=indok/ok (igazából azt fejezi ki, hogy miért halt meg a játékos)
{
   new string[32]; //errõl késõbb lesz szó!
   GivePlayerMoney(killerid, 1000); //killerid=itt azt jelenti hogy ki kapja a pénzt, jelen esetben a gyilkos| 1000=pénz összege amit kap a gyilkos
   format(string, sizeof(string), \"Jelenleg %d Ft-od van.\", GetPlayerMoney(killerid)); //ezt a sort lentebb hosszabban elmagyarázom
   SendClientMessage(killerid, 0xFFFFFFFF, string); //ezzel már tisztába vagyunk, de leírom. Ez küldi az értesítést a gyilkosnak, hogy mennyi pénze van!
}
/* Vissza térve a
format(string, sizeof(string), \"Jelenleg %d Ft-od van.\", GetPlayerMoney(killerid));
sorra...Ami itt nekünk fontos most, az a \"%d\". Nos ez a jel mindig számot, mennyiséget fejez ki.
Hogy milyen mennyiséget is? Miután beírtuk a \"\"Jelenleg %d Ft-od van.\" szöveget, vesszõvel elválasztva
beírjuk, hogy pontosan minek az értékét is írja ki a \"%d\". Jelen esetben a GetPlayerMoney kódot
használjuk, mivel ez kéri le a játékos pénzét.
Csak zárójelbe megjegyezném, hogy ha elõtte mondjuk írunk egy
#define gyilkospenz GetPlayerMoney(killerid);
definíciót, akkor a GetPlayerMoney(killerid); helyére elég annyit írni, hogy gyilkospenz,
mivel definiálva van, vagyis ugyanazt jelenti.*/

 
Az elõzõ kódomban ígértem, hogy részletesen kitérek a string és %d részekre:
Hogy mik is ezek? - Igazából pontos magyar megfogalmazást nem tudok rá mondani, de talán az lenne rá a legjobb hogy változók!
Hol veszed hasznát? - Például egy olyan kódnál amit az elõbb bemutattam, vagy bármi olyannál, aminél nem tudsz megadni pontos összeget, mert az változhat!
Mostantól hívjuk õket a rendes nevükön! A Format Stringek fajtái:
- %b     Számokat illeszt be bináris számrendszerben
- %c     Beillesz egy egyedüli karaktert.
- %d     Egész számokat illeszt be.
- %f     Beilleszt egy lebegõpontos számot.
- %i     Beilleszt egy egész számot.
- %s     Beilleszt egy stringet.
- %x     Beilleszt egy számot a hexadecimális(16-os) számrendszerbõl!
- %%     Beilleszt egy szót!
A placeholdereket(ezeknek a format stringeknek az értelmezõi, mint a kódomban a getmoney) ugyanolyan sorrendben kell beírni vagy szakszóval \"rögzíteni\" mint amilyen sorrendben van a szövegben a format string. Erre vegyünk egy egyszerû példát:
 
new S[128]; //vegyünk fel azt az értéket amire szükségünk lesz
format(S, sizeof(S), \"%s adott neked $%d Ft-ot.\", Jatekosnev, Penz); //persze itt a Jatekosnev és a Penz szavak már értelmezve lettek

49
Segítségkérés / Pickup felé felírat? :O
« Dátum: 2013. április 16. - 15:55:46 »
Idézetet írta: Dfoglalo date=1366118814\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36234\" data-ipsquote-contentclass=\"forums_Topic
ZyZu egyszer belinkelte neked a Wikit, onnan mindent megtudhatsz, minimális angol tudással is. Vagy a chrome még le is fordítja, olyan google angolosan :P Na szóval az \"x, y, z ,65.0, 0\"-bõl a 65.0 jelenti a magasságot, amit szerintem pont jó helyen van a pickup fölött, mert szerintem halaloszto100 nem véletlenül írt oda 65.0-öt.
 
a 65 az a text távolról való láthatóságát jelenti...vagyis hogy milyen messzirõl legyen látható a felirat...
az Y tengely az, ami a függõleges magasságot adja meg..
 

Köszönöm a jó válaszokat, csak annyit szeretnék még, hogy hogy tudok a magasságán változtatni? Mármint a pickup felé tenni? Elõre is köszi.
 
[/quote]
Az y részhez ami megy koordináta, azon kell változtatnod, de ne túl sokat... elõször próbáld meg hogy nem a számot, csak a tizedes vesszõ után módosítasz. Pl.: x, 1321.123, z  (1321.123 az y) Itt az 1321.123 koordinátánál a pirossal jelölt egyeshez (tizedhez) adsz hozzá mondjuk 0.5-t vagyis 1321.623 lesz belõle. Ha kevés akkor még tedd kicsit feljebb.

50
Segítségkérés / Pickup felé felírat? :O
« Dátum: 2013. április 16. - 14:38:59 »
Hali! Szerintem neked ez kell:
 
Create3DTextLabel(\"{FFFF00}(( {FF0000}szöveg ide {FFFF00}))\", CITROM, Koordináta x, y, z, 25, 0, 1);

 
FF0000 - ezt cseréld le a te általad választott színre
CITROM - ezt is cserélheted színkód csak definiálva van
x, y, z, ide írd be a pickup koordinátáit és oda fogja tenni! (a függõleges tengelyen ha lejjebb lesz a szöveg mint szeretnéd akkor állíts egy minimálisat feljebb)

51
Leírások/Útmutatók / [TuT] IsPlayerInRangeOfPoint leírás
« Dátum: 2013. április 16. - 14:34:25 »

Sziasztok!
Egy pawno if függvényt szeretnék bemutatni/elmagyarázni a kezdõ scriptereknek.
Ez a függvény nem más mint a IsPlayerInRangeOfPoint függvény.
Hogy mire is jó ez?: Ezzel a kóddal helyhez tudsz kötni egy parancsot.
Elõször is nézzük a függvényt:
 
 
if(IsPlayerInRangeOfPoint( playerid, távolsá, x, y, z))

 


Magyarázat:
playerid - a játékos aki beírja a kódot.
távolság - ide egy szám jön, hogy mekkora sugarú \"körben\" legyen használható a parancs.
x, y, z - ide jön a kör sugarának kiindulópontja, vagyis innen kezdõdik a parancs használható helyének hatósugara.
Itt egy egyszerû példa:
 
 
CMD:ruhavesz(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 3.5, vX, vY, vZ)) return SendClientMessage(playerid, PIROS, \"Nem vagy a ruhaboltban!\");
{
SetPlayerSkin(playerid, 26);
}
return 1;
}

Oldalak: 1 2 3 [4]
SimplePortal 2.3.7 © 2008-2024, SimplePortal