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

Oldalak: 1 ... 6 7 [8] 9 10
106
Általános / Hülye szabályok RP szervereken
« Dátum: 2013. szeptember 25. - 21:28:06 »
Szerintem is hülyeség ez a sok új szabály... :wall:
Én mondjuk azon akadtam fel mindig is miért PK az, ha elfutsz egy bandás elõl vagy elõveszed a fegyód? IRL is simán megteheted, hogy elfutsz, nincs semmi búra meg semmi...  :facepalm:

107
Leírások/Útmutatók / Megijedõ NPC
« Dátum: 2013. szeptember 25. - 21:19:41 »
Üdv mindenki. Ebben a tutorialban egy \"Megijedõ NPC\"-t mutatok be.
Ugye elõször is amire szügség lesz:
 

#define PRESSED(%0) \\
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

 


stock GetPlayerIDFromName(const playername[], partofname=0)
{
    new i;
    new playername1[64];
    for (i=0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerConnected(i))
        {
            GetPlayerName(i,playername1,sizeof(playername1));
            if (strcmp(playername1,playername,true)==0)
            {
                return i;
            }
        }
    }
    new correctsigns_userid=-1;
    new tmpuname[128];
    new hasmultiple=-1;
    if(partofname)
    {
        for (i=0;i<MAX_PLAYERS;i++)
        {
            if (IsPlayerConnected(i))
            {
                GetPlayerName(i,tmpuname,sizeof(tmpuname));
                if(!strfind(tmpuname,playername1[partofname],true, 0))
                {
                    hasmultiple++;
                    correctsigns_userid=i;
                }
                if (hasmultiple>0)
                {
                    return -2;
                }
            }
        }
    }
    return correctsigns_userid;
}

 
Ezeket nem részletezném. Az elsõ a klasszikus PRESSED függvény, a második a GetPlayerIDFromName melynek lényege, hogy névrõl keres rá a játékos ID-jére.
1: Detektáljuk, a játékos mikor céloz és mikor lõ.
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(PRESSED(KEY_FIRE))
   {
      //Tehát amikor a játékos nyomja a tûz gombot.
   }
   if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást.
   {
      //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben   
   }
   return 1;
}

 
2. Adjunk meg néhány információt. Ez a rész az OnPlayerKeyStateChange-részbe fog kerülni
 

new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd.
new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat.
GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez.
new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van.

 
3. Nézzük meg, hogy az NPC közelébe van-e a játékos, hogy a játékosnál lõfegyver van és, hogy a játékos ránéz-e?
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd.
   new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat.
   GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez.
   new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van.
   
   if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e?
   {
      //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e.
      if(PRESSED(KEY_FIRE))
      {
         //Tehát amikor a játékos nyomja a tûz gombot.
      }
      if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást.
      {
        //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben   
      }
   }
   return 1;
}

 
4. Utolsó felvonás: Animációk, halál detektálása.
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd.
   new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat.
   GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez.
   new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van.
   
   if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e?
   {
      //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e.
      if(PRESSED(KEY_FIRE))
      {
         //Tehát amikor a játékos nyomja a tûz gombot.
         ApplyAnimation(npc,\"CRACK\",\"crckdeth4\",3.0,0,0,0,1,0);//Rakjuk az NPC-t fekvõ animba.
         SetPVarInt(npc, \"death\", 1); //Állítsuk be a death nevû változó értékét 1-re az npc-n.
      }
      if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást.
      {
         //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben 
         ApplyAnimation(npc,\"ped\",\"handsup\",3.0,0,0,0,1,0);//Rakja fel a kezét az NPC.
      }
      else
      {
         //Ha nem céloz a játékos
         if(GetPVarInt(npc, \"death\") == 0)//Ha nem halott az NPC
         {
            ClearAnimations(npc);//Akkor rakja le a kezét. (Vagyis ne legyen rajta anim.)
         }
      }
   }
   return 1;
}

 
Kész! :) Így néz ki a kód:
 

#define PRESSED(%0) \\
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
stock GetPlayerIDFromName(const playername[], partofname=0)
{
    new i;
    new playername1[64];
    for (i=0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerConnected(i))
        {
            GetPlayerName(i,playername1,sizeof(playername1));
            if (strcmp(playername1,playername,true)==0)
            {
                return i;
            }
        }
    }
    new correctsigns_userid=-1;
    new tmpuname[128];
    new hasmultiple=-1;
    if(partofname)
    {
        for (i=0;i<MAX_PLAYERS;i++)
        {
            if (IsPlayerConnected(i))
            {
                GetPlayerName(i,tmpuname,sizeof(tmpuname));
                if(!strfind(tmpuname,playername1[partofname],true, 0))
                {
                    hasmultiple++;
                    correctsigns_userid=i;
                }
                if (hasmultiple>0)
                {
                    return -2;
                }
            }
        }
    }
    return correctsigns_userid;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd.
   new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat.
   GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez.
   new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van.
   
   if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e?
   {
      //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e.
      if(PRESSED(KEY_FIRE))
      {
         //Tehát amikor a játékos nyomja a tûz gombot.
         ApplyAnimation(npc,\"CRACK\",\"crckdeth4\",3.0,0,0,0,1,0);//Rakjuk az NPC-t fekvõ animba.
         SetPVarInt(npc, \"death\", 1); //Állítsuk be a death nevû változó értékét 1-re az npc-n.
      }
      if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást.
      {
         //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben 
         ApplyAnimation(npc,\"ped\",\"handsup\",3.0,0,0,0,1,0);//Rakja fel a kezét az NPC.
      }
      else
      {
         //Ha nem céloz a játékos
         if(GetPVarInt(npc, \"death\") == 0)//Ha nem halott az NPC
         {
            ClearAnimations(npc);//Akkor rakja le a kezét. (Vagyis ne legyen rajta anim.)
         }
      }
   }
   return 1;
}

 
Ugye nem is volt olyan nehéz?  ;)
Ha bármi hibát találnál benne, válaszban írd meg, köszönöm!
Eredeti:http://forum.sa-mp.com/showthread.php?t=176153 Fordította, Átalakította: vortexY

108
Segítségkérés / NPC intelegencia
« Dátum: 2013. szeptember 25. - 20:30:56 »
Idézetet írta: ZyZu date=1380133060\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42872\" data-ipsquote-contentclass=\"forums_Topic
Ne PM -ben beszéljétek, lehet más fórumozónak is jól jön majd!
 
Értem elnézést, összeszedem magam és hamarosan leírom  :)

Dupla hozzászólás automatikusan összefûzve. ( 2013. szeptember 25. - 21:20:30 )

Na szóval itt lenne a script  :)
http://sampforum.hu/index.php?topic=47620.msg463778#msg463778

109
Segítségkérés / Gang chat
« Dátum: 2013. szeptember 25. - 19:55:25 »
Nincs meghatározva a text változó.
 
new text[123];//Ez kell! Ezzel egy text nevû string változót hozol létre, melynek max hossza 123.

 
Tehát:
 

             if(strcmp(cmd, \"/g\", true) == 0)
     {
                            new text[123];//Ide kell
                           
                            strmid(gangChat,text,1,strlen(text));
                           
                            GetPlayerName(playerid, senderName, sizeof(senderName));
                            format(string, sizeof(string),\"[bANDA %s:] %s\", senderName, gangChat);
     
                            for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) {
                                    SendClientMessage(gangMembers[playerGang[playerid]], COLOR_LIGHTBLUE, string);
                            }
            return 1;
    }
   }
     
                           
            return 1;
    }

 
((OFF:  Ja és látom kezdõ vagy ezért sok sikert a scriptelés elsajátításához  ;)))

110
Segítségkérés / NPC intelegencia
« Dátum: 2013. szeptember 25. - 19:45:39 »
Egyszerû dolog... Csak pár funkció kell hozzá, keress fel PM-ben ezüggyel légyszíves  8) :)

111
Leírások/Útmutatók / GTA United és United Multiplayer telepítése
« Dátum: 2013. szeptember 25. - 18:37:56 »
\"logo_united11.jpg\"
 
Mi is az a GTA United?
 

A GTA United egy GTA San Andreas térkép típusu mod. A játékba a GTA III-bõl jól ismert Liberty City-t és a GTA Vice City városával helyettesítík San Andreast. Mivel a két város egymás mellet van repülõvel könnyedén átmehetünk egyik városból a másikba. A mod jó pontjai számomra:


 - Külön inditó, tehát párhuzamosan lehet játszani a San Andreassal, és így nem lesz oda-vissza telepítgetés


 - Saját SA-MP kliens.


 
Bõvebb infó(Angol): http://www.moddb.com/mods/gta-united

A játék térképe:


 
\"width=500http://users2.ml.mindenkilapja.hu/users/gtaunitedhun/uploads/map_Kopie.png[/img]


GTA United telepítése:
 

1,

   Töltsd le a GTA United MOD-ot. LETÖLTÉS
2,
   Telepítsd:
    - Bontsd ki a \"GTA_United_1.2.0.1_Public.rar\" fájlt WinRAR vagy 7zip segítségével.
    - Futtasd a \"GTA_United_1.2.0.1_Public_Setup.exe\" fájt
    - Várd meg amíg bejön a telepítõ
    - Kövesd az utasításokat:
       \"width=500http://kepfeltoltes.hu/130925/10170198181_www.kepfeltoltes.hu_.png[/img]
       Nyomd meg a \"Next\" gombot.
       \"width=500http://kepfeltoltes.hu/130925/2_www.kepfeltoltes.hu_.png[/img]
       Nyomd meg az \"I argee\" gombot.
       \"width=500http://kepfeltoltes.hu/130925/4_www.kepfeltoltes.hu_.png[/img]
       Válaszd ki, hova telepítse a Unitedet, majd nyomd meg a \"Next\" gombot.
       \"width=500http://kepfeltoltes.hu/130925/5_www.kepfeltoltes.hu_.png[/img]
       Tallózzd ki a SanAndreas mappáját és nyomj az \"Install\" gombra.
       Várd meg míg feltelepül, és utánna nyomj a \"Finish\" gombra.
 Kész is volnánk! Na most nézzük a multiplayer telepítését:   
 

1,

   Töltsd le a GTA United Multiplayer REV G-t. LETÖLTÉS
2,
   Telepítsd:
    - Kövesd az utasításokat:
       \"m1_www.kepfeltoltes.hu_.png\"
       Válaszd ki a legördülõ menübõl az \"English\"-t, majd nyomd meg az \"OK\" gombot.
       \"width=500http://kepfeltoltes.hu/130925/m2_www.kepfeltoltes.hu_.png[/img]
       Nyomd meg az \"I argee\" gombot.
       \"width=500http://kepfeltoltes.hu/130925/m3_www.kepfeltoltes.hu_.png[/img]
       Tallózd ki azt a mappát, ahova a United MOD-ot telepítetted , majd nyomd meg az \"Install\" gombot.
       Várd meg míg feltelepül, és utánna nyomj a \"Close\" gombra.
 Jelenleg a United által használt SAMP verzió: 0.3e   
 Hasznos linkek (Angol nyelvû): 
  http://www.gtasrv.ru/changelog_en.html - Changelog
   Szervertulajoknak:
  http://www.gtasrv.ru/download-srv/srv-u2-mp-c3-win.zip - Windows szerver fájlok (0.3e, Ajánlott port szerver: 8901)
  http://www.gtasrv.ru/download-srv/srv-u2-mp-c3-linux.tar.gz - Linux szerver fájlok (0.3e, Ajánlott port: 8901)
  http://www.gtasrv.ru/readme/servers_c.html - Részletes szerver leírás
  http://www.gtasrv.ru/readme/servers_vehicle_colors.html - Autó színek
  http://www.gtasrv.ru/readme/resources/multiplayer.ide - Új objektek
 GTA Unitedet használó szerverek(folyamatosan bõvûl): 
   Mystic Gaming RPG - http://sampforum.hu/index.php?topic=44780.0

   
Ha tudsz olyan szervert ami GTA Unitedet használ, akkor küld el nekem PM-ben ;)

112
Segítségkérés / Szöveg lekérdezése
« Dátum: 2013. szeptember 25. - 15:39:58 »
Idézetet írta: Kovacs_Richard date=1379849856\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42979\" data-ipsquote-contentclass=\"forums_Topic

public OnPlayerText(playerid,text[])
{
if(!strcmp(text,\"0\") || !strcmp(text,\"1\")) { return 0; }
return 1;
}

 

Ez arra jó ha a 0-ás vagy 1-es számot ír akkor ne jelenítse meg.
Ha azt szeretnéd hogy pl a 0-ás idjü játékos ne tudjon írni (MUTE SCRIPT, én ezt vettem le ebbõl az érthetetlen szövegbõl):
 

    public OnPlayerText(playerid,text[])
    {
            if(playerid == 0) { return 0; } // ha a 0-ás idjû player ír ne látszódjon.
            return 1;
    }

113
Szkript kérések / npc
« Dátum: 2013. szeptember 25. - 15:37:42 »
Itt az angol SAMP fórumról egy magyar tutorial (wat? :D) http://forum.sa-mp.com/showthread.php?t=112023

114
Fórum Archívum (Témák/Fórumok) / Re:object eldobása
« Dátum: 2013. szeptember 25. - 15:36:32 »
Egy hosszú script kell hozzá.

115
Fórum Archívum (Témák/Fórumok) / Re:auto eltünése
« Dátum: 2013. szeptember 25. - 15:35:03 »
Na most nem értem miért kanyarodsz el mindig a témától...
A kocsisra a válasz: Tedd nagyobbra a respawn delayt. Illetve ha egyáltalán nem szeretnéd a respawnt akkor tedd 0-ra.

116
Segítségkérés / NPC intelegencia
« Dátum: 2013. szeptember 25. - 15:32:51 »
Egy pár(száz  :D) soros scripttel okos NPC-ket csinálhatsz :) Amúgy bõvebben milyen NPC-t szeretnél? Mit csináljon?

117
Fórum Archívum (Témák/Fórumok) / Re:atachobject megállpítása
« Dátum: 2013. szeptember 25. - 15:29:31 »
Amúgy úgy lehetne megoldani, hogy összeállítod a modpackot és egy egyszerû telepítõt készítesz belõle.
Ja illetve a téma az AttachObject. Úgyhogy ezt a modosat egy külön témába kellene rakni.

118
Segítségkérés / HOLDING( KEY_UP | KEY_DOWN )
« Dátum: 2013. szeptember 25. - 15:24:09 »
Én így oldanám meg:
Új definek:
 

#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) \\
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))

 
Új változók:
 

new HoldingUp[MAX_PLAYERS];
new HoldingDown[MAX_PLAYERS];
new Drifting[MAX_PLAYERS];

 
És maga a rendszer lelke ami az OnPlayerKeyStateChange-ba megy:
 

if(PRESSED(KEY_UP))
{
HoldingUp[playerid] = 1;
}
if(RELASED(KEY_UP))
{
HoldingUp[playerid] = 0;
}
if(PRESSED(KEY_DOWN))
{
HoldingUp[playerid] = 1;
}
if(RELASED(KEY_DOWN))
{
HoldingUp[playerid] = 0;
}
if(HoldingUp[playerid] == 1 && HoldingDown[playerid] == 1)
{
Drifting[playerid] = 1;   
}
else
{
Drifting[playerid] = 0;   
}

 
Tehát ha égeti a gumikat akkor a Drifting[playerid] változó értéke 1.

119
Segítségkérés / Plugin hiba
« Dátum: 2013. szeptember 25. - 15:08:22 »
Ez nem plugin hiba.
Azért nem megy neked, mivel a server.cfg-be rossz mod van beírva. A log azt mutatja hogy nem találja a policemodv063.amx-et. Írd át a  server.cfg-ben a
 
gamemode0 policemodv063 

 sort erre:
 
gamemode0 gamemode_neve 

 
 (a gamemode_neve szót helyettesítsd a te gamemodod nevével .amx nélkül. pl:
gamemode0 simple

Ez a példa a simple.amx-et használja modként.)

120
Segítségkérés / SAMP Szerver modolás
« Dátum: 2013. szeptember 25. - 15:03:08 »
Le kell hogy lombozzalak: ez a SAMPban nem lehetséges :(
Mivel az MTA nyílt forrású, ezrét lehet bele modolni.
Ez a modolás ott úgy mükszik, hogy a kliensed azt a modot letölti (Lásd a kliensmappát) és azzal indítja a GTA-t.
Max úgy lehetne megoldani, hogy összeállítod a modpackot és egy egyszerû telepítõt készítesz belõle, amit aki feltelepít megjelenik neki a mod.

Oldalak: 1 ... 6 7 [8] 9 10
SimplePortal 2.3.7 © 2008-2024, SimplePortal