Ü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 - Pedró

Oldalak: 1 ... 95 96 [97] 98 99 ... 220
1441
Rendezvények / [HUN] 2014 @ xMas Party - 2014.12.24. | 9:00
« Dátum: 2014. december 22. - 16:10:45 »
Idézetet írta: Pedró date=1419242971\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51527\" data-ipsquote-contentclass=\"forums_Topic
...
 
aha megvan az eredmény :D
\"aYRivnT.gif\"
#havaskarácsony #chilliad #:3
közreműködött a metarial beállításban cashis, csabesz :)

1442
SA-MP: Szerverfejlesztés / Felfedezhető területek - Pedró (2014)
« Dátum: 2014. december 22. - 12:25:18 »

 Felfedezhető területek, gangzone-k felhasználásával.


 Copyright © 2014; Pedró;


 Ez a filterscript szabad kód; terjeszthető illetve módosítható a


 Free Software Foundation által kiadott GNU General Public License


 dokumentumában leírtak; akár a licenc 2-es, akár (tetszőleges) későbbi


 változata szerint.



Sziasztok!

Ezt a kódot már publikáltam, a Proline játékmódom publikálásakor, amely már eltűnt a fórumról, viszont szerintem kevesen fedezték fel benne ezt a frankó kis funkciót! :)


Természetesen én írtam a kódot, az ötlet a singleplayeres megoldásból merült. :)


Feltételek a kód futtatásához:


- Streamer plugin, illetve függvénykönyvtár alkalmazása


- 0.3+ szerver oldali kliens biztosítása



A kód:
 
#define FILTERSCRIPT
#include <a_samp>
#include <streamer>
#define pName(%1) PlayerName[%1]
forward CheckIntactZones();
enum E_IGZ { Float:gzPosX1, Float:gzPosY1, Float:gzPosX2, Float:gzPosY2, gzID, gzArea }
new   IntactGangZones[100][E_IGZ], IntactZoneTimer;
new bool:IsIntactGZ[MAX_PLAYERS][100];
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
public OnFilterScriptInit() {
new count = 0;
for(new i1; i1 < 10; i1++) {
for(new i2; i2 < 10; i2++) {
   IntactGangZones[count][gzPosX1] = -3000.0 + (i1 * 600.0);
   IntactGangZones[count][gzPosY1] = -3000.0 + (i2 * 600.0);
   IntactGangZones[count][gzPosX2] = (IntactGangZones[count][gzPosX1] + 600.0);
   IntactGangZones[count][gzPosY2] = (IntactGangZones[count][gzPosY1] + 600.0);
   IntactGangZones[count][gzID] = GangZoneCreate(IntactGangZones[count][gzPosX1], IntactGangZones[count][gzPosY1], IntactGangZones[count][gzPosX2], IntactGangZones[count][gzPosY2]);
   IntactGangZones[count][gzArea] = CreateDynamicRectangle(IntactGangZones[count][gzPosX1], IntactGangZones[count][gzPosY1], IntactGangZones[count][gzPosX2], IntactGangZones[count][gzPosY2], 0, 0);
   count++;
}
}
IntactZoneTimer = SetTimer(\"CheckIntactZones\", 1000, true);
return 1;
}
public OnFilterScriptExit() {
KillTimer(IntactZoneTimer);
return 1;
}
public OnPlayerConnect(playerid) {
GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);
for(new x; x < 100; x++) IsIntactGZ[playerid]
  • = true; // Az összes terület felfedezetlen még.

return 1;
}
public OnPlayerDisconnect(playerid, reason) {
PlayerName[playerid][0] = EOS;
return 1;
}
public OnPlayerSpawn(playerid) {
SetPVarInt(playerid, \"Spawned\", 1);
    for(new x; x < sizeof(IntactGangZones); x++) if(IsIntactGZ[playerid]
  • ) GangZoneShowForPlayer(playerid, IntactGangZones
  • [gzID], 0x8AE2FF65);

return 1;
}
public OnPlayerDeath(playerid, killerid, reason) {
SetPVarInt(playerid, \"Spawned\", 0);
return 1;
}
public CheckIntactZones() {
new string[144];
for(new playerid; playerid < GetMaxPlayers(); playerid++) {
if(GetPVarInt(playerid, \"Spawned\") && GetPlayerInterior(playerid) == 0 && GetPlayerVirtualWorld(playerid) == 0) {
   if(IsPlayerInAnyDynamicArea(playerid)) {
      for(new x; x < 100; x++) {
          if(IsIntactGZ[playerid]
  • == false) continue;

         if(IsPlayerInDynamicArea(playerid, IntactGangZones
  • [gzArea])) {

               IsIntactGZ[playerid]
  • = false;

               SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
               GangZoneHideForPlayer(playerid, IntactGangZones
  • [gzID]);

               TogglePlayerDynamicArea(playerid, IntactGangZones
  • [gzArea], false);

             new count;
             for(new y; y < 100; y++) if(IsIntactGZ[playerid][y] == false) count++;
            format(string, sizeof(string), \"Egy ismeretlen rész felfedezve! {FFFF00}+1 {80FF80}Pont {FFFFFF}(%i/100)\", count);
               SendClientMessage(playerid, 0x9C9C9CFF, string);
             if(count == 50) {
               format(string, sizeof(string), \"Felfedezte %s(%i) a fél San Andreas térképet. {FFFFFF}+50{FFFF00}Pont\", pName(playerid), playerid);
               SendClientMessageToAll(0xFF88F9FF, string);
               SetPlayerScore(playerid, GetPlayerScore(playerid) + 50);
            }
            if(count == 100) {
               format(string, sizeof(string), \"Felfedezte %s(%i) az egész San Andreas térképet. {FFFFFF}+200{FFFF00}Pont\", pName(playerid), playerid);
               SendClientMessageToAll(0xFF88F9FF, string);
               SetPlayerScore(playerid, GetPlayerScore(playerid) + 200);
            }
         }
      }
   }
}
}
return 1;
}

 
A kód letölthető itt: http://www.solidfiles.com/d/9f95200b58/zones.pwn
Vagy megtekinthető itt: http://pastebin.com/v958TLn6


Mentést nem írtam bele, de itt van egy tippem, hogy kell menteni. :)
Elősször is mentsük stringbe az értékeket, amikor a játékos lelép a szerverről példuál, vagy timerrel...
 
new IGZ[256];
for(new x; x < 100; x++) strcat(IGZ, (IsIntactGZ[playerid]
  • == true) ? (\" 1\") : (\" 0\"));

 
Mentsük el a(z) IGZ karakterláncot, vagy fájlba, vagy MySQL-be egy oszlopba.
Betöltéshez ötlet:
A karakterláncot beolvassuk az IGZ karakterlánc változóba..
Ha ez megvan, utána csak darabolni kell.. :)
 
sscanf(IGZ, \"a<i>[100]\", IsIntactGZ[playerid]);

 
És kész is a betöltés, meg minden.
Csak figyeljetek oda arra, hogy az OnPlayerConnectnél én beírtam, hogy minden felfedezetlen legyen, ha használtok ilyen mentés-betöltést, akkor töröljétek azt.
[/quote]


Képek
\"f2MwLVJ.gif\" \"C4BSS7y.gif\"
A képek a 2014-es XMas szerveren készültek. /A szerver a képeken látott formában még nincs kész./


Használjátok egészséggel.
 
Kellemes ünnepeket kívánok mindenkinek! Pedró

1443
Rendezvények / [HUN] 2014 @ xMas Party - 2014.12.24. | 9:00
« Dátum: 2014. december 22. - 11:09:31 »
én a karácsonyfa mapot feladtam, majd flash megmapolja ahogy akarja xD nem nekem való ez a mapperkodás

Dupla hozzászólás automatikusan összefûzve. ( 2014. december 22. - 11:34:34 )

\"J552ce8.jpg\"
#indulhat #a #scriptelés #tescovalue #balaton #lilafal


Még nem tudom mit írok meg, de elkezdem. xD

1444
Rendezvények / [HUN] 2014 @ xMas Party - 2014.12.24. | 9:00
« Dátum: 2014. december 21. - 19:39:50 »
\"width=500https://dl.dropboxusercontent.com/u/95933315/Screenshot%202014-12-21%2019.37.21.png[/img]
jézusom XD első mapolásom kb az elmúlt 2 évben

1445
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 18:17:46 »
találkozó:
EU2 Szerver, Hungary, Budapest
akinek nincs going east dlcje:
Slovakia, Bratislava (Pozsony)

1446
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 17:19:31 »
semmi változás nem lesz a konvoy alatt... nem megyünk egymásnak EU1-en se, se EU2-n.
+
nem megyünk 140-el
mi a változáS?
amúgy tökjó ez a winter mod, telepítsétek :D

1447
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 17:11:34 »
miért, szándékodban áll, hogy másnak nekimenj?

1448
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 16:59:05 »
freeroam, de attól mehetnénk csak 80-al
nem kötelező 140-el menni..

1449
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 16:42:29 »
úgy az izgi :3
sztem eu2-n jobban járnánk amúgy de jólvan, ahogy a többség dönt..

1450
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 16:33:40 »
detailsra rámész és írja nekem pl hogy 53kb/s-el tölt le :D jólvan megvárom :)

1451
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 09:13:48 »
secur, ezek a videók hány gigabájtok voltak?XD

1452
Játékok / Euro Truck Simulator 2
« Dátum: 2014. december 21. - 08:55:01 »
EU2-n menjünk
most limitálták az EU1-t 2500 slotra.. :(
meg amúgyis EU2-n legalább nem törjük egymást.
ki van benne?

1453
Beszélgetés / Fejhallgató tapasztalatok
« Dátum: 2014. december 20. - 18:37:26 »
én is akarok komolyabb fejhallgatót venni, de sose marad rá 6-7 ezernél több...
Milyen fejhallgatók azok, amiknek cserélhető a kábele, és egy olyan márkát képvisel a fejhallgató, amely hosszú távon biztosítana hozzá vezetéket, meg nem ártana az sem a feltételeim közé, hogy a mikrofon része is le és fel csatlakoztatható legyen, és mikrofonból is legyen csere hosszabb távon.. Huhh, na mit tudtok erre ajánlani? Maximum 15.000Forint.

1454
Beszélgetés / Szólánc v3.
« Dátum: 2014. december 20. - 14:43:11 »
g-pont

1455
Beszélgetés / Szólánc v3.
« Dátum: 2014. december 20. - 14:35:17 »
ujjaz

Oldalak: 1 ... 95 96 [97] 98 99 ... 220
SimplePortal 2.3.7 © 2008-2024, SimplePortal