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.
Oldalak: 1 [2]
16
Szkript kérések / Adminrendszer RP szerverre« Dátum: 2016. december 01. - 20:29:54 »
ZCMD INCLUDE
SSCANF PLUGIN A zcmd.inc fájlt bemásolod a szervermappád pawno/include mappájába, ezután a mod elejére kell írni, hogy #include <zcmd>. Az sscanf 0.3.7 rar fájlt csomagold ki a szervermappádba és a server.cfg plugins sorába írd be a plugin nevét. Windows: plugins sscanf Linux: plugins sscanf.so Majd a mod elejére #include <sscanf2>, és ennyi. Adminchat: #include <a_samp>#include <zcmd>#include <sscanf2>enum pInfo { Adminszint, Adminrang[32], Jail,bool:Adminseged};new PlayerInfo[MAX_PLAYERS][pInfo];new Adminszintek[][] = {\"Játékos\",\"Moderátor\",\"1* Admin\",\"2* Admin\",\"3* Admin\",\"Főadmin\",\"Mapper\",\"Tulaj\"};CMD:a(playerid,params[]){if(PlayerInfo[playerid][Adminszint] != 0 || PlayerInfo[playerid][Adminseged] == true){ new string[128]; if(sscanf(params,\"s[128]\",string)) return SendClientMessage(playerid,-1,\"Használat: /a [szöveg]\"); new AcString[256]; format(AcString,sizeof(AcString),\"AdminChat: %s %s: %s\",Adminszintek[PlayerInfo[playerid][Adminszint]],Name(playerid),string); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[Adminszint] != 0 || PlayerInfo[Adminseged] == true) { SendClientMessage(i,-1,AcString); } }}else SendClientMessage(playerid,-1,\"Nem vagy admin!\");return 1;} 18
Segítségkérés / MYSQL plugin hiba« Dátum: 2016. december 01. - 15:34:38 »
A mysql_static.so-t ird a pluginok koze ne a sima mysql.so-t, nekem ez volt a problemam. //Telo
19
Szkript kérések / Bója« Dátum: 2016. november 30. - 21:27:40 »
Szia.
Ha beírod a /boja parancsot, akkor 3 paraméter közül választhatsz majd, de ezeket látod a kódban majd. Ha valamit nem értesz a kódban, írj nyugodtan, de próbáltam mindent megmagyarázni Ahhoz, hogy működjön az egész, szükséges egy ZCMD include, illetve egy sscanf2 plugin. #define RENDOR 1#define MAX_BOJA 10 //Maximum ennyi bóját tudsz majd létrehozni.#include <a_samp>#include <zcmd>#include <sscanf2>enum pInfo { //Enum a változóknak (ezesetben a frakció)pFaction};new PlayerInfo[MAX_PLAYERS][pInfo]; //Eltároljuk a pInfo enumot a PlayerInfo nevű arraybeenum bInfo { //Enum a bójáknak, ebben tárolja a pozíciójukat, illetve az object id-jüketFloat:X,Float:Y,Float:Z,Object};new BojaInfo[MAX_BOJA][bInfo];new OsszesBoja; //A létrehozott bóják számanew BojaSzam[MAX_PLAYERS]; //Egy játékosnál levő bójáknak a számaCMD:boja(playerid,params[]){if(PlayerInfo[playerid][pFaction] == RENDOR) //Ha az illető rendőr (pFaction == 1){ new parameter[32]; if(sscanf(params,\"s[32]\",parameter)) return SendClientMessage(playerid,-1,\"Használat: /boja < kivesz, lerak, felszed >\"); if(!strcmp(parameter,\"kivesz\",true)) //Ha a /boja parancs után beírt paraméter egyezik a \'kivesz\'-szel { new vehicleid = GetClosestVehicle(playerid); //A vehicleid változóba lekérjük a legközelebbi jármű ID-jét if(vehicleid != INVALID_VEHICLE_ID && GetVehicleModel(vehicleid) == 598) //Ha ez rendőrautó, akkor folytatja { BojaSzam[playerid]++; //A játékosnál levő bóják száma megnő 1-el SendClientMessage(playerid,-1,\"Kivettél egy bóját!\"); } else SendClientMessage(playerid,-1,\"Nincs a közeledben rendőrautó!\"); } else if(!strcmp(parameter,\"lerak\",true)) { if(BojaSzam[playerid] != 0) //Ha a játékosnál levő bóják száma nem egyenlő 0-val, tehát már beírta a /boja kivesz parancsot legalább egyszer, { new Float:pPos[3]; GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]); //Lekérjük a játékos pozícióját OsszesBoja++; //A szerveren lerakott bóják számát megnöveljük 1-el BojaSzam[playerid]--; //A játékosnál levő bóják számából elveszünk 1-et, ha leteszi. BojaInfo[OsszesBoja][X] = pPos[0]; //Pozíció mentése enumba BojaInfo[OsszesBoja][Y] = pPos[1]; BojaInfo[OsszesBoja][Z] = pPos[2]-0.5; BojaInfo[OsszesBoja][Object] = CreateObject(1238,pPos[0],pPos[1],pPos[2]-0.5,0.0,0.0,0.0); //és az object létrehozása -> a BojaInfo[OsszesBoja][Object] egyenlő lesz a létrehozott object ID-jével SendClientMessage(playerid,-1,\"Bója sikeresen létrehozva!\"); } else SendClientMessage(playerid,-1,\"Nincsen nálad bója!\"); } else if(!strcmp(parameter,\"felszed\",true)) { new bojaid; for(bojaid = 0; bojaid < MAX_BOJA; bojaid++) //Végigmegyünk az összes bóján (10 db) { if(IsPlayerInRangeOfPoint(playerid,1.5,BojaInfo[bojaid][X],BojaInfo[bojaid][Y],BojaInfo[bojaid][Z])) //Ha a bojaid (mindig növekszik a for ciklusnak köszönhetően) számú sorba levő pozíciók közelében van a player, akkor folytatódik. { break; //Lezárja a ciklust, nem fut tovább. } } BojaInfo[bojaid][X] = -1000.0; //Megadunk egy olyan koordinátát, ahova a játékos nem juthat el. BojaInfo[bojaid][Y] = -1000.0; BojaInfo[bojaid][Z] = -1000.0; DestroyObject(BojaInfo[bojaid][Object]); //Object törlése SendClientMessage(playerid,-1,\"Bója felszedve!\"); } else SendClientMessage(playerid,-1,\"Hibás paraméter!\"); //Ha a játékos nem a \'kivesz\', \'lerak\' vagy a \'felszed\' paramétert írta a /boja parancs után, akkor írja ezt ki.}else SendClientMessage(playerid,-1,\"Nem vagy rendőr!\");return 1;}stock GetClosestVehicle(playerid){new vehicleid = INVALID_VEHICLE_ID, Float:vPos[3], Float:distance2, Float:distance = 8.0;for(new i = 0; i < MAX_VEHICLES; i++){ GetVehiclePos(i,vPos[0],vPos[1],vPos[2]); distance2 = GetPlayerDistanceFromPoint(playerid,vPos[0],vPos[1],vPos[2]); if(distance2 < distance) { vehicleid = i; distance = distance2; }}return vehicleid;}
Oldalak: 1 [2]
|