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 - MdCrp
Oldalak: [1]
1
« Dátum: 2015. március 15. - 13:14:48 »
És hogyan kell evvel,írnál egy példát rá?
new Float:vx, Float:vy, Float:vz; GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz); SetVehicleVelocity(GetPlayerVehicleID(playerid), vx * 1.3, vy * 1.3, vz * 1.3);
Példa a használatra
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) //Ez egy alap eljárás, alapból benne van az üres sablonban. { if(newkeys & KEY_FIRE){ //Ha a játékos megnyomja azt a gombot amivel (játékosként lő) járműben Nitrózik if(IsPlayerInAnyVehicle(playerid)){ //Ha a játékos bármilyen járműben van new vehicleid = GetPlayerVehicleID(playerid); //Lekérjül annak a jármű ID-jét, amiben a játékos ül new Float:vx, Float:vy, Float:vz; GetVehicleVelocity(vehicleid, vx, vy, vz); //Lekérjük a jármű ko-ordinátáról való sebességét. SetVehicleVelocity(vehicleid, vx * 1.3, vy * 1.3, vz * 1.3); //A három ko-ordinátát megszorozzuk 1.3-val (vagy amennyivel akarjuk). Minél nagyobb számmal szorozzuk annál gyorsabb lesz a jármű } } return 1; }
[/quote] ha a Z-t megszorzod 1.3-al akkor vagy felrepül, vagy a földhöz vágja a járművet [/quote] Köszi a visszajelzést javítottam
2
« Dátum: 2015. március 15. - 10:42:10 »
Legfeljebb paranccsal tudnád megcsinálni. Ez MINDEN objectet újra spawnolja. Példa: forward loadObjects(); //mód tetejére forward destroyObjects(); //mód tetejére public OnGameModeInit(){ loadObjects(); //Amikor elindul a mód betölti az objecteket return 1; } public destroyObjects(){ //Ez megsemmisíti az összes objectet for(new i = 0; i < MAX_OBJECTS;i++){ DestroyObject(i); } return 1; } public loadObjects(){ //Ez betölti az objecteket //Ide rakd az objecteket return 1; }
És a parancs: Sima parancsfeldolgozóval public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(\"/restawnobjects\", cmdtext, true, 20) == 0) { destroyObjects(); loadObjects(); return 1; } return 0; }
ZCMD parancsfeldolgozóval CMD:respawnobjects(playerid, params[]){ destroyObjects(); loadObjects(); return 1; }
De ha automatikusan akarod csinálhatod Timerrel Példa: forward respawnObjects(); //mód tetejére forward loadObjects(); //mód tetejére forward destroyObjects(); //mód tetejére public OnGameModeInit(){ loadObjects(); SetTimer(\"respawnObjects\", 60000, true); //Percenként újra spawnolja az össze objectet return 1; } public destroyObjects(){ for(new i = 0; i < MAX_OBJECTS;i++){ DestroyObject(i); } return 1; } public loadObjects(){ //Ide rakd az objecteket return 1; } public respawnObjects(){ destroyObjects(); loadObjects(); return 1; }
!!FIGYELEM Nem lett tesztelve!!
3
« Dátum: 2015. március 15. - 08:50:03 »
Sziasztok!Gondolom mindenki tud csinálni olyan parancsot, hogy feltölti az saját életét 100-ra. Most fogok nektek mutatni egy kódot, ami fel tudja tölteni a felcsatlakozott játékosok életét. ZCMD parancsfeldogozót fogok használni. CMD:healall(playerid, params[]){ if(IsPlayerAdmin(playerid)){ //Ha a játékos be van jelentkezve RCON-ba for(new i = 0; i < MAX_PLAYERS; i++){ //Amíg az i kisebb mint a Max. játékos növelje az i-t if(IsPlayerConnected(i)){ //Ha a játékos csatlakozva van SetPlayerHealth(i, 100.0); //Feltölti a játékos életét } } } return 1; }
4
« Dátum: 2015. március 14. - 20:25:35 »
És hogyan kell evvel,írnál egy példát rá?
new Float:vx, Float:vy, Float:vz; GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz); SetVehicleVelocity(GetPlayerVehicleID(playerid), vx * 1.3, vy * 1.3, vz);
Példa a használatra public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) //Ez egy alap eljárás, alapból benne van az üres sablonban. { if(newkeys & KEY_FIRE){ //Ha a játékos megnyomja azt a gombot amivel (játékosként lő) járműben Nitrózik if(IsPlayerInAnyVehicle(playerid)){ //Ha a játékos bármilyen járműben van new vehicleid = GetPlayerVehicleID(playerid); //Lekérjül annak a jármű ID-jét, amiben a játékos ül new Float:vx, Float:vy, Float:vz; GetVehicleVelocity(vehicleid, vx, vy, vz); //Lekérjük a jármű ko-ordinátáról való sebességét. SetVehicleVelocity(vehicleid, vx * 1.3, vy * 1.3, vz * 1.3); //A három ko-ordinátát megszorozzuk 1.3-val (vagy amennyivel akarjuk). Minél nagyobb számmal szorozzuk annál gyorsabb lesz a jármű } } return 1; }
5
« Dátum: 2015. március 14. - 20:20:42 »
Most akkor saját pénzrendszert akarsz csinálni?
6
« Dátum: 2015. március 04. - 15:44:50 »
DeAMX - Sokat nem ér, de vissza tudja fordítani .pwn fájlra.
Köszi jó lett.
7
« Dátum: 2015. március 03. - 14:28:40 »
Sziasztok! Véletlen rámentettem a módomra egy üres sablont. Valaki tud valamilyen programot, amely arra képes, hogy az AMX fájlból előhozza a PWN fájlt. Előre is köszönöm.
8
« Dátum: 2014. június 15. - 14:44:17 »
CMD:ujpickup(playerid, params[]) { new fajta; if(sscanf(params,\"d\",fajta)) return SendClientMessgae(playerid, -1, \"Használat: /ujpickup <model>\"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x,y,z); CreatePickup(fajta,1,x,y,z,0); return 1; }
ZCMD, és SSCANF2 szükséges hozzá. Ezzel új pickupot hoz létre oda, ahol éppen állsz.
Dupla hozzászólás automatikusan összefûzve. ( 2014. június 15. - 14:30:43 )
CMD:ujpickup(playerid, params[]) { new fajta; if(sscanf(params,\"d\",fajta)) return SendClientMessgae(playerid, -1, \"Használat: /ujpickup <model>\"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x,y,z); CreatePickup(fajta,1,x,y,z,0); return 1; }
ZCMD, és SSCANF2 szükséges hozzá. Ezzel új pickupot hoz létre oda, ahol éppen állsz. Szerk: itt vannak a model idk: http://wiki.sa-mp.com/wiki/Pickup_IDs
Köszönöm szépen!
9
« Dátum: 2014. június 15. - 13:56:13 »
Üdv Mindenkinek! //-------------MEGOLDVA-----------\\\\ 1.)Szeretnék egy olyan a játékmódomba, hogy pl. pickupot tudok In-Game létrehozni, de nem tudom hogy kell kerestem neten, de nem találtam olyan ami jó lett volna számomra. Kérlek titeket, aki tudja, hogy hogy kell megoldani ezt az válaszoljon. //-------------EDDIG-------------\\\\ 2.)Hogy kell ahhoz egy funkciót hozzáadni? Pl. Ha belemegyünk feltöltse az életünket stb. Arra gondolok, hogy egy változóban hozza létre a pickupot és a public OnPlayerPickUpPickup funkcióban legyen valami felhasználása. A válaszokat elõre is köszönöm!
10
« Dátum: 2014. június 14. - 13:43:06 »
Sziasztok! Csináltam egy filterscriptet, amivel fegyvert lehet lehívni dialoggal. FilterScript letöltõ linkje: http://data.hu/get/7796548/fegyverdialog.zipÚj link: http://www.mediafire.com/download/f0u5zca4aa11i5z/fegyverdialog.zipA tömörített mappában benne van a filterscript és a zcmd include, szóval csak a megfelelõ mappába be kell másolni a fájlokat. A kódot azért is belerakom //Fegyver Lehívó Dialog //Készítette MdCrp //A FilterScript a http://sampforum.hu/ -ra készült! #define FILTERSCRIPT #include <a_samp> #include <zcmd> #define weapons 1000 #define shoppistol 1001 #define shopsmg 1002 #define shopuzi 1003 #define shopshot 1004 #define shoprifle 1005 #define shopgrenade 1006 #define SCM SendClientMessage #if defined FILTERSCRIPT public OnFilterScriptInit() { print(\"\\n--------------------------------------\"); print(\" Fegyver Dialog by MdCrp\"); print(\"--------------------------------------\\n\"); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { //A /fegyver Dialog Response -ja// if(dialogid == weapons) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid,shoppistol,DIALOG_STYLE_LIST,\"Fegyverek > Pisztolyok\",\"Desert Eagle\\n9mm\\nVissza\",\"Kiválaszt\",\"Kilép\"); } if(listitem == 1) { ShowPlayerDialog(playerid,shopsmg,DIALOG_STYLE_LIST,\"Fegyverek > Gépfegyverek\",\"MP5\\nM4\\nAK-47\\nVissza\",\"Kiválaszt\",\"Kilép\"); } if(listitem == 2) { ShowPlayerDialog(playerid,shopuzi,DIALOG_STYLE_LIST,\"Fegyverek > Gépkarabélyok\",\"Uzi\\nTec-9\\nVissza\",\"Kiválaszt\",\"Kilép\"); } if(listitem == 3) { ShowPlayerDialog(playerid,shopshot,DIALOG_STYLE_LIST,\"Fegyverek > Puskák\",\"Sawn-off puska\\nPuska\\nHarci puska\",\"Kiválaszt\",\"Kilép\"); } if(listitem == 4) { ShowPlayerDialog(playerid,shoprifle,DIALOG_STYLE_LIST,\"Fegyverek > Karabélyok\",\"Country Rifle\\nSniper Rifle\",\"Kiválaszt\",\"Kilép\"); } if(listitem == 5) { ShowPlayerDialog(playerid,shopgrenade,DIALOG_STYLE_LIST,\"Fegyverek > Gránátok\",\"Gránát\\nGázgránát\\nMolotov koktél\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shoppistol) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,24,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Desert Eagle\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,22,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'9mm\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shopsmg) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,29,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'MP5\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,31,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'M4\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { GivePlayerWeapon(playerid,30,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'AK-47\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 3) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shopuzi) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,28,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Uzi\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,32,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Tec-9\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shopshot) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,26,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Sawn-off puska\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,25,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Puska\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { GivePlayerWeapon(playerid,27,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Harci puska\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 3) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shoprifle) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,33,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Country rifle\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,34,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Sniper rifle\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } if(dialogid == shopgrenade) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid,16,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Gránát\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 1) { GivePlayerWeapon(playerid,17,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Gázgránát\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 2) { GivePlayerWeapon(playerid,18,500); SCM(playerid,0x0088ffff,\"Sikeresen lehívtál egy {00ff00}\'Molotov koktél\' {0088ff}fegyvert 500 tölténnyel!\"); } if(listitem == 3) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\",\"Kiválaszt\",\"Kilépés\"); } } } } CMD:fegyver(playerid,params[]) { ShowPlayerDialog(playerid,weapons,DIALOG_STYLE_LIST,\"Fegyverek\",\"Pisztolyok\\nGépfegyverek\\nGépkarabélyok\\nPuskák\\nKarabélyok\\nGrátátok\",\"Kiválaszt\",\"Kilépés\"); return 1; }
Sok szerencsét a berakáshoz/használathoz.
11
« Dátum: 2014. június 10. - 16:55:31 »
Az elõbb csináltam /kick parancsot, minden jó csak nem akarja kiírni az indokot. a zcmd és az sscanf include -olva van, és még úgy is elfogadja, hogy nem írok indokot, pl. /kick 0 az indok hiányzik és még úgy is kickel. De hogyha indokot is írok pl. /kick 0 teszt, akkor is kickel, de nem ír indokot Kód: CMD:kick(playerid, params[]) { new targetid,string[128],reason[128],string0[128]; GetPlayerName(playerid,nev,sizeof(nev)); GetPlayerName(targetid,nev0,sizeof(nev0)); format(string,sizeof(string),\"*Admin {00ff00}\'%s\'{0088ff} által ki lett rúgva {00ff00}\'%s\' {0088ff}játékost. [indok: %s]\",nev,nev0,reason); format(string,sizeof(string),\"Ki lettél rúgva *Admin\'%s\' által. Indok: [%s]\",nev,reason); if(IsPlayerAdmin(playerid)) { if(sscanf(params,\"uS(reason)[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\"); if(IsPlayerConnected(targetid)) { SendClientMessage(playerid,0x0088ffff,string0); SendClientMessageToAll(0x0088ffff,string); Kick(targetid); } } else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot \"); else if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,0xff0000ff,\"A játékos nincs csatlakozva!\"); return 1; }
Compile -nál hibát egyet sem ír(/kickel kapcsolatban) Valaki segítsen, a válaszokat elõre is köszönöm!
12
« Dátum: 2014. június 10. - 14:04:09 »
Köszönöm a visszajelzéseket, és a segítségeket, mert még félig-meddig kezdõ szkriptelõ vagyok!
13
« Dátum: 2014. június 09. - 18:08:58 »
Gondolom mindenki tud csinálni éjjel és nappal -t csináló parancsot. De most olyan parancsot csinálunk, hogy egyénien tudjuk beállítani a saját idõnket! Sok sikert! Letöltések:ZCMD: http://forum.sa-mp.com/showthread.php?t=91354sscanf: http://forum.sa-mp.com/showthread.php?t=120356Include -oljuk a a zcmd -t és az sscanf -ot. #include <zcmd> #include <sscanf2>
Itt a parancs kódja: CMD:setmytime(playerid,params[]) { new hour, minute; if(sscanf(params,\"dd\",hour,minute)) return SendClientMessage(playerid,0x00FF00FF,\"Használat: {Ff00FF}/setmytime [Óra] [Perc]\"); if(!(0 <= hour <= 24 || 0 <= minute <= 60)) return SendClientMessage(playerid,0xff0000ff,\"Az {00ff00}\'Óra\' {ff0000}és/vagy a {00ff00}\'Perc\' {ff0000}érvénytelen(ek)\"); else if(0 <= hour <= 24 || 0 <= minute <= 60) { SetPlayerTime(playerid,hour,minute); } return 1; }
14
« Dátum: 2014. június 09. - 10:16:37 »
Lenne egy problémám. Amit szeretnék: Ha belép a Spawn zónára akkor legyen örök élete. Ezt így oldottam meg: public OnPlayerUpdate(playerid) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); if(1282.9401 <= y <= 1442.9170 || 1941.3424 <= x <= 2031.9501) { SendClientMessage(playerid,0x00FF00FF,\"Beléptél a Spawn területre!\"); SetPlayerHealth(playerid,98713); SendClientMessage(playerid,0x00FFB8FF,\"Mostmár örök életed van!\"); return 0; } else if { SendClientMessage(playerid,0x0000FFFF,\"Kiléptél a Spawn területrõl!\"); SetPlayerHealth(playerid,100); SendClientMessage(playerid,0x0000FFFF,\"Mostmár nincs örök életed!\"); return 0; } return 1; }
A hiba: (351) : error 008: must be a constant expression; assumed zero (356) : error 010: invalid function or declaration 351. sor: SendClientMessage(playerid,0x0000FFFF,\"Kiléptél a Spawn területrõl!\"); 356. sor: return 1;
15
« Dátum: 2014. június 09. - 10:16:37 »
Lenne egy problémám. Amit szeretnék: Ha belép a Spawn zónára akkor legyen örök élete. Ezt így oldottam meg: public OnPlayerUpdate(playerid) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); if(1282.9401 <= y <= 1442.9170 || 1941.3424 <= x <= 2031.9501) { SendClientMessage(playerid,0x00FF00FF,\"Beléptél a Spawn területre!\"); SetPlayerHealth(playerid,98713); SendClientMessage(playerid,0x00FFB8FF,\"Mostmár örök életed van!\"); return 0; } else if { SendClientMessage(playerid,0x0000FFFF,\"Kiléptél a Spawn területrõl!\"); SetPlayerHealth(playerid,100); SendClientMessage(playerid,0x0000FFFF,\"Mostmár nincs örök életed!\"); return 0; } return 1; }
A hiba: (351) : error 008: must be a constant expression; assumed zero (356) : error 010: invalid function or declaration 351. sor: SendClientMessage(playerid,0x0000FFFF,\"Kiléptél a Spawn területrõl!\"); 356. sor: return 1;
Oldalak: [1]
|