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. 1472
Segítségkérés / objectrobbantás és elmerülõ objectek :D« Dátum: 2011. október 23. - 16:31:36 »
@Kadaradam
A példáidban is rosszul van. [pawn]new rob[3];[/pawn] Az 3-as méretû tömb. Csak az indexelésük/jelölésük van elcsúsztatva a nulla felé. [pawn]rob[0]; // 1. rob[1]; // 2. rob[2]; // 3.[/pawn] 1473
SA-MP: Szerverfejlesztés / IsValidSkin« Dátum: 2011. október 22. - 13:53:37 »Annyira kevés már az InValid Skinek száma hogy így is meg lehet oldani: [pawn]stock IsValidSkin(skinid) return (!(skinid < 0 || skinid > 299 || skinid == 74 || skinid >= 265 && skinid <= 272));[/pawn] 1474
Segítségkérés / Buszos Munka« Dátum: 2011. október 21. - 10:47:08 »
Szörnyû ez a sok copy paste és fõleg az indentáció egyszerûen nem lehet átlátni a dolgokat mi miért van, próbálj megjegyzéseket tenni és elválasztó vonalakat az egyes funkciók köz-t/é, lásd is amit írsz ne mosódjon össze az egész.
[pawn]#include <a_samp> #define COLOR_DARKGOLD 0x808000AA #define COLOR_RED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define YELLOW 0xFFFF00AA #define LIME 0x00FF00FF #define PRESSED(%0) \\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) #define HOLDING(%0) \\ ((newkeys & (%0)) == (%0)) #define RELEASED(%0) \\ (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0))) #define buspoint1 -1998.7400,174.6382,27.6473 #define buspoint2 -1805.8813,600.1848,34.8620 #define buspoint3 -1601.1205,726.2743,11.1720 #define buspoint4 -1612.7714,857.1121,7.6761 #define buspoint5 -1766.0300,935.1175,24.8755 #define buspoint6 -1904.0560,811.3516,36.1556 #define buspoint7 -2648.9529,570.7150,14.5943 #define buspoint8 -2614.7012,215.6137,5.2519 #define buspoint9 -2150.6584,148.2724,35.3053 #define buspoint10 -2061.5159,-74.0719,34.8552 new IsBusJob[MAX_PLAYERS]; new bus1; new bus2; new bus3; new busdriver[MAX_PLAYERS]; //-------------------------------------------------------------------------------------------------- public OnFilterScriptInit() { bus1 = AddStaticVehicle(431,-1988.7975,192.1375,27.6358,359.7323,75,59); // bus1 bus2 = AddStaticVehicle(431,-1988.8607,178.5440,27.6378,359.7324,75,59); // bus2 bus3 = AddStaticVehicle(431,-1988.9200,165.7481,27.6426,359.7370,75,59); // bus3 return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerCommandText(playerid, cmdtext[ ]) { if(strcmp(\"/start\", cmdtext, true) == 0) { new veh = GetPlayerVehicleID(playerid); if(veh == bus3 || veh == bus2 || veh == bus1) { busdriver[playerid] = 1; SetPlayerCheckpoint(playerid, buspoint1, 3.0); GameTextForPlayer(playerid, \"~g~Bus Driver Started!\", 3000, 3); new name[MAX_PLAYER_NAME], string[48]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), \"%s Is Now A Bus Driver!.\", name ); SendClientMessageToAll(COLOR_RED, string); return 1; } SendClientMessage(playerid, COLOR_RED,\"You have to be in a bus to start the job\"); } if (strcmp(\"/busdriverinfo\", cmdtext, true, 10) == 0) { SendClientMessage(playerid, COLOR_YELLOW, \".\"); SendClientMessage(playerid, COLOR_YELLOW, \".\"); SendClientMessage(playerid, COLOR_YELLOW, \".\"); SendClientMessage(playerid, COLOR_YELLOW, \"!\"); return 1; } return 0; } //-------------------------------------------------------------------------------------------------- public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT) { busdriver[playerid] = 0; } return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new veh = GetPlayerVehicleID(playerid); if(veh == bus3 || veh == bus2 || veh == bus1) { if(newkeys==KEY_SUBMISSION && IsBusJob[playerid] == 0 && veh == bus1 || veh == bus3 || veh == bus2) // checks if Submission key is pressed + if the player is already working + that the player is in a bus { SendClientMessage(playerid, LIME, \"You started working for the bus company!\"); // SCM only one time cause the variable under here. IsBusJob[playerid] = 1; // here's the variable set to 1, this will prevent the player from starting working over again. busdriver[playerid] = 1; SetPlayerCheckpoint(playerid, buspoint1, 3.0); GameTextForPlayer(playerid, \"~g~Bus Driver Started!\", 3000, 3); new name[MAX_PLAYER_NAME], string[48]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), \"%s Is Now A Bus Driver!.\", name ); SendClientMessageToAll(LIME, string); SendClientMessage(playerid, COLOR_RED,\"You Have To Be In A Bus To Start The Mission!\"); } } return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerEnterCheckpoint(playerid) { new veh = GetPlayerVehicleID(playerid); if(veh == bus3 || veh == bus2 || veh == bus1) { if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint1)) { SetPlayerCheckpoint(playerid, buspoint2, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The San Fierro Train Station, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint2)) { SetPlayerCheckpoint(playerid, buspoint3, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The Cluckin Bell, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint3)) { SetPlayerCheckpoint(playerid, buspoint4, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The Police Station, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint4)) { SetPlayerCheckpoint(playerid, buspoint5, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The San Fierro Bank, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint5)) { SetPlayerCheckpoint(playerid, buspoint6, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The Burger Shot, Received 500$\"); GivePlayerMoney(playerid, 500); } else if (IsPlayerInRangeOfPoint(playerid, 7.0,buspoint6)) { SetPlayerCheckpoint(playerid, buspoint7, 7.0); SendClientMessage(playerid, LIME,\"Arrived At Ammunation, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint7)) { SetPlayerCheckpoint(playerid, buspoint8, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The , Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint8)) { SetPlayerCheckpoint(playerid, buspoint9, 7.0); SendClientMessage(playerid, LIME,\"Arrived At , Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint9)) { SetPlayerCheckpoint(playerid, buspoint10, 7.0); SendClientMessage(playerid, LIME,\"Arrived At The Don's RubberShop, Received 500$\"); GivePlayerMoney(playerid, 500); } else if(IsPlayerInRangeOfPoint(playerid, 7.0,buspoint10)) { SendClientMessage(playerid, LIME,\"Type /Start Again To Start The BusDriver Mission!\"); GivePlayerMoney(playerid, 500); DisablePlayerCheckpoint(playerid); busdriver[playerid] = 0; } } return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(!ispassenger) { if(vehicleid == bus3 || vehicleid == bus2 || vehicleid == bus1) { SendClientMessage(playerid, YELLOW, \"START THE BUS MISSION BY PRESSING 2\"); GameTextForPlayer(playerid, \"~y~START THE BUS DRIVER MISSION BY~n~~b~PRESSING 2!\",3000,3); } } return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerExitVehicle(playerid, vehicleid) { if(busdriver[playerid] == 1) { busdriver[playerid]= 0; SendClientMessage(playerid, COLOR_RED, \"You left your Busbehind, get in again if you want to continue your job.\"); } else if(busdriver[playerid] == 0) { //Nothing } return 1; } //-------------------------------------------------------------------------------------------------- public OnPlayerDeath(playerid, killerid, reason) { DisablePlayerCheckpoint(playerid); busdriver[playerid] = 0; return 1; }[/pawn] 1475
Segítségkérés / TextDraw Problémó :)« Dátum: 2011. október 21. - 10:20:52 »
A /gmx nem csak akkor rossz ha házi szervered van az egész úgy **** ahogy van.
Fõleg ha még hangsúlyt se fektet bele a kezdõ/haladó/pro szkript-er hogy OnGameModeExit alatt törölje a létrehozott dolgokat, még ha netalán meg is teszi, akkor is lesznek gondok /gmx használatakor. Ne használd és nem lesz gondod. 1476
Pluginok és Programok / Streamer Plugin v2.7.7« Dátum: 2011. október 20. - 07:36:07 »Idézetet írta: kurta999 date=1319087145\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1322\" data-ipsquote-contentclass=\"forums_Topic 2.6 Beta itt elérhetõ, ez kompatibilis 0.3d-vel!Erre kíváncsi vagyok, bele tette-e Zeex sampgdk munkáját. 1477
Segítségkérés / Kinek és mit töröltek hivatalos fórumról?« Dátum: 2011. október 19. - 22:40:47 »
Vicces azért a dolog mert 0.3dRC6 verzióban már ha az OnPlayerSpawn return 0; -val tér vissza, akkor nem kerül meghívásra a többi filterscriptben az OnPlayerSpawn rész, de viszont a gamemódban még igen, így csöbörbõl-vödörbe került a dolog.
Ezért nem kellett volna törölni a hozzászólást/észrevételt ha éppen tesznek valamit ez ügyben is. Szomorú nagyon. 1478
Segítségkérés / Besül az admin« Dátum: 2011. október 19. - 17:13:36 »
Azaz id az honnan van?
COMMAND:goto(playerid, params[]) 1479
Segítségkérés / Kinek és mit töröltek hivatalos fórumról?« Dátum: 2011. október 19. - 16:17:13 »
Akkor kezdeném is:
Angol tudás hiányában megpróbáltam valahogy elõadni, hogy meg kellene úgy oldani a visszahívások visszatérésénél hogy nem kerülne meghívásra a többi callback a szkriptekben. Hasonlóképpen mint az OnDialogResponse -nál. http://wiki.sa-mp.com/wiki/OnDialogResponse Röviden a probléma az lenne példaként az OnPlayerSpawn-nal írnám le, ha van egy mód és mellette legyen 3 filterscript amikben szerepel szintén OnPlayerSpawn akkor alkalmakként 4 OnPlayerSpawn kerül visszahívásra. Sorrendben az elsõ filterscript második filterscript harmadik filterscript majd végül a gamemod OnPlayerSpawn része. Tegyük fel van mindegyik alatt SetPlayerPos funkció ami valamilyen feltételhez van téve (admin , team tagja, bejelentkezett-e, stb), akkor utoljára mindig a gamemod hívódik meg, így mikor spawnol a játékos akár egy szempillantás alatt elsõnek 3 különbözõ helyre teleportál és legvégül a gamemódban lévõ SetPlayerPos-al meghatározott pozicióra kerül. De ha le lehetne állítani a többi OnPlayerSpawn rész meghívását egy return 0; -val akkor nem lenne probléma. Tehát mint itt is publikáltak egy scriptet http://sampforum.hu/index.php?topic=16624.0 Nem kellene egy timer azért hogy tényleg arra a pozícióra kerüljön a játékos amire szeretnénk. Mert a problémája abból adódik hogy neki szerepel a gamemódban vagy másik szkriptben is OnPlayerSpawn visszahívás SetPlayerPos funkcióval, és nem arra a pozicióra kerül a játékos ahova õ szeretné. Így csak késleltetve tudta megoldani. De ha egy egyszerû return 0; -val le lehetne zárni a többi filterscriptekben és gamemódban a többi OnPlayerSpawn meghívását nem kellene ilyen plusz késleltetés. Ha OnDialogResponse-nál meg tudták oldani akkor nem lenne nehéz az összes visszahívásnál megoldani ezt. Lassan kezdem bánni hogy ezzel foglalkozok, és cseszem el az idõmet. Önfejû noobok ezek, Y_Less vissza térhetne a fejlesztõk közé õ legalább ilyen dolgokat észre vette volna. Ezek szerint rossz ötlet volt mert törölték a fórumról a hozzá szólást, sajnos nem tudom megmutatni milyen is volt eredetileg amit töröltek. 1480
A Fórum / Bug / Hiba / Probléma Jelentés!« Dátum: 2011. október 19. - 14:37:12 »
Az üzenõfalra sokszor nem lehet írni semmit, én több mint egy hónapja nem tudtam rá írni semmit, egyszerûen nem küldi el az üzenetet.
Edit: most végre sikerült elküldeni egy üzenetet. 1481
Segítségkérés / Besül az admin« Dátum: 2011. október 18. - 23:15:09 »
Azokból a parancsokból is publikálhatnál párat amelyekben ez a hiba üzenet keletkezik: \"Rossz id-t irtál be\".
Mert valószínû a parancs/ok felépítésében lehet a gond. 1482
SA-MP: Szerverfejlesztés / DeathPos« Dátum: 2011. október 18. - 22:08:44 »
Mûködik az timer nélkül is.
Csak van egy kis gondja samp OnPlayerSpawn részével, miszerint pl.: van egy gamemód és 3 filterscript is használatban és mindegyikben szerepel OnPlayerSpawn visszahívás és mindegyikhez lett téve SetPlayerPos. Sajnos mindegyik meghívásra kerül mikor a játékos spawnol, elsõnek a filterscriptek és utána gamemód. Tehát ebben a példában 4 különbözõ helyre teleportál (3fs + 1 mód) és a legutolsó helyre tesz le ami a módban van, mind ezt egy szempillantás alatt. Lehet kellene írni samp teamnek hogy javíthatnák. Az egyik filterscriptben return 0; lenne a visszatérés akkor nem kerülne meghívásra az összes többi OnPlayerSpawn callback. 1483
Archívum / Szabályzat frissítés / Újítások« Dátum: 2011. október 16. - 13:41:08 »
Valahova írtam egy hozzá szólást és nem számolta nekem különben nem írtam volna. Nem emlékszek melyik fórum rész volt az, ezek szerint a fórumjátékok volt az.
1484
Archívum / Szabályzat frissítés / Újítások« Dátum: 2011. október 16. - 13:25:48 »
Ennyi erõvel ki is lehet venni mivel a legtöbbet használt fórum részben lett letiltva.
Én más fórum részt nem is nagyon látogatok és nem is írok máshova. Ez pont olyan mint a hozzászólás számlálás, egyes alfórumokban nem kerül számolásra. Biztos hogy nem ez a legjobb megoldás, erre. (több hozzászólásom nem lesz ebben a lájk témakörben, ez csak saját vélemény amit leírtam) 1485
Segítségkérés / 5 perc az hány másodperc« Dátum: 2011. október 14. - 23:43:26 »
SetTimer funkciónál milliszekundumban kell megadni az idõt és nem másodpercben így a kérdés eléggé furcsának tûnik ez alapján.
http://wiki.sa-mp.com/wiki/SetTimer Ha 5 percet szeretnél beállítani akkor (5 * 60 * 1000) (5perc szorozva 60 másodperccel és szorozva 1000 milliszekundummal.) Másképp 1000 milliszekundum = 1 másodperc 1 perc = 60 másodperc = 60000 milliszekundum (60*1000) 5perc = 300 másodperc (5*60) = 300000 milliszekundum (5*60*1000) |