Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Plugin z paka w losowych miejscachpaka w losowych miejscach


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 NewaX

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:241
  • Imię:Marcin
  • Lokalizacja:Biłgoraj
Offline

Napisano 06.06.2011 13:37

A wiec czy jest mozliwe zrobienie takiego pluginu dzięki ktoremu paka zamiast trafic do tt bedize trafiala do np30 losowych miejsc na mapie. Widzial bym to tak ze do kazdej mapy byl by plik z wspolzednymi. I sie wlasnie pytam czy takie cos jest mozliwe?
  • +
  • -
  • 0

#2 grs4

    Profesjonalista

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:167
  • Lokalizacja:Wojkowice
Offline

Napisano 07.06.2011 14:00

Jest mozliwe ale nie potrafie jestem tak 5/10 amx :D

#3 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 08.06.2011 12:36

#include <amxmodx>
#include <engine>

#define VERSION "0.1"

public plugin_init() {
register_plugin("Pozycja", VERSION, "diablix")
register_clcmd("say 1", "cmdOrigin");
}

public cmdOrigin(id){
new Float:fOrigin[3];
entity_get_vector(id, EV_VEC_origin, fOrigin);

client_print(id, 3, "%f || %f || %f", fOrigin[0], fOrigin[1], fOrigin[2]);
}


Wpisujesz 1 i podajesz mi tu dane na każdej mapie (w jakich miejscach ma tworzyć byt)

Użytkownik diablix edytował ten post 08.06.2011 12:36

  • +
  • -
  • 1

#4 sztandi

    Życzliwy

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:30
  • Imię:Daniel
  • Lokalizacja:Wroclaw
Offline

Napisano 08.06.2011 20:24

no a na poczatku rundy zabierasz gracza pake i gitara

#5 NewaX

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:241
  • Imię:Marcin
  • Lokalizacja:Biłgoraj
Offline

Napisano 11.06.2011 11:56

hmm ale nadal nie rozumiem co mam zrobic. Np na dust2 mam te wspolzendne ale co mam dalej z tym zrobic ? bo napisales Diablix

Wpisujesz 1 i podajesz mi tu dane na każdej mapie (w jakich miejscach ma tworzyć byt)

ale nie wiem o co chodzi pomoze ktos?
  • +
  • -
  • 0

#6 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 11.06.2011 20:39

Poprostu wpisujesz na chatcie 1 i wyświetlają sie współrzędne, kopiuj je z każdej mapy i mi potem podaj na przykład w takim formacie


Mapa DE_DUST2

*DANE1
*DANE2
*DANE3

itd

Chyba że chcesz aby paka sie respiła w miejscach obok pewnych bytów (np resp ct, tt, buyzone itd)

Użytkownik diablix edytował ten post 11.06.2011 20:40

  • +
  • -
  • 1

#7 NewaX

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:241
  • Imię:Marcin
  • Lokalizacja:Biłgoraj
Offline

Napisano 12.06.2011 07:35

aha o to chodzi to jzu zbeiram wspolzendne. niedlugie je napsize

A wiec tak:

de_eternal

1007.968749 || 1103.968749 || -75.96874

853.630798 || -159.985382 || 164.03124

1678.004760 || -91.806541 || 276.03124

1574.657470 || 2181.712646 || -225.52081

1184.031249 || 808.002441 || 164.03124

368.031249 || 1615.969116 || 100.84498

1344.031249 || 1696.009033 || -213.968749

1090.122436 || 784.000427 || 78.03124

1338.834472 || 1278.494140 || -203.406249




de_grand


432.031249 || -1631.846923 || 631.93273

-1.606232 || 550.068664 || 164.031249

175.968749 || 848.004760 || 36.03124

37.606452 || 1197.910644 || 164.03124

-357.163116 || 146.684417 || 754.12933

2192.083007 || 207.968749 || 324.03124

-271.999969 || -1376.001464 || 402.03124

719.968749 || -1335.211425 || 402.03124

-656.031249 || 1792.031249 || 324.031249

apocalypse_please


-2223.968749 || -236.531707 || 4.56013

-320.031249 || 176.000061 || 4.03124

-771.263305 || 483.505401 || 298.03124

-65.347457 || -1424.003540 || 178.03124

-1103.984863 || -2112.000244 || -13.96874

-656.000061 || -2184.045410 || 244.81369

-1583.968749 || -1344.031249 || 260.03124

-584.001037 || -1600.031249 || 380.03124

-1036.611206 || -1824.846313 || 454.03124

Użytkownik newax edytował ten post 12.06.2011 08:53

  • +
  • -
  • 0

#8 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 12.06.2011 10:51

Robione na szybko, na razie sprawdź to jak coś będzie nie tak, wieczorem wezmę się za to na poważnie

#include <amxmodx>
#include <engine>
#include <fakemeta>

#define VERSION "0.1"

#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

new g_iMaxPlayers;
new gMsgBombPickUp;

enum {
de_eternal,
de_grand,
apocalypse_please
};

new const g_szNewBombClassname[] = "newBomb";
new const g_szOldBombModel[] = "models/w_backpack.mdl";

new const g_szMapNames[][] = {
"de_eternal",
"de_grand",
"apocalypse_please"
};

public plugin_init() {
register_plugin("Losowy paka", VERSION, "diablix");
register_logevent("eventRoundStart", 2, "1=Round_Start");
g_iMaxPlayers = get_maxplayers();
gMsgBombPickUp = get_user_msgid("BombPickup");
}

public plugin_precache() engfunc(EngFunc_PrecacheModel, g_szOldBombModel);

public eventRoundStart(){
new iPlayers[32], iNum;
get_players(iPlayers, iNum);

for(new i = 0; i < iNum ; i++)
fm_strip_user_c4(iPlayers[i]);

new iEnt = -1;
while((iEnt = fm_find_ent_by_class(iEnt, g_szNewBombClassname)))
engfunc(EngFunc_RemoveEntity, iEnt);

new szMapname[32], bool:bCanBreak = false, Float:fOrigin[3];
get_mapname(szMapname, sizeof szMapname - 1);

for(new g = 0 ; g < sizeof g_szMapNames ; g ++){
if(equal(szMapname, g_szMapNames[g])){
bCanBreak = true;

new iRanNum = random_num(1, 9);

if(equal(szMapname, g_szMapNames[de_eternal])){
switch(iRanNum){
case 1: fOrigin = Float:{1007.968749, 1103.968749, -75.96874};
case 2: fOrigin = Float:{853.630798, -159.985382, 164.03124};
case 3: fOrigin = Float:{1678.004760, -91.806541, 276.03124};
case 4: fOrigin = Float:{1574.657470, 2181.712646, -225.52081};
case 5: fOrigin = Float:{1184.031249, 808.002441, 164.03124};
case 6: fOrigin = Float:{368.031249, 1615.969116, 100.84498};
case 7: fOrigin = Float:{1344.031249, 1696.009033, -213.968749};
case 8: fOrigin = Float:{1090.122436, 784.000427, 78.03124};
case 9: fOrigin = Float:{1338.834472, 1278.494140, -203.406249};
}
}
else if(equal(szMapname, g_szMapNames[de_grand])){
switch(iRanNum){
case 1: fOrigin = Float:{432.031249, -1631.846923, 631.93273};
case 2: fOrigin = Float:{-1.606232, 550.068664, 164.031249};
case 3: fOrigin = Float:{175.968749, 848.004760, 36.03124};
case 4: fOrigin = Float:{37.606452, 1197.910644, 164.03124};
case 5: fOrigin = Float:{-357.163116, 146.684417, 754.12933};
case 6: fOrigin = Float:{2192.083007, 207.968749, 324.03124};
case 7: fOrigin = Float:{-271.999969, -1376.001464, 402.03124};
case 8: fOrigin = Float:{719.968749, -1335.211425, 402.03124};
case 9: fOrigin = Float:{-656.031249, 1792.031249, 324.031249};
}
}
else if(equal(szMapname, g_szMapNames[apocalypse_please])){
switch(iRanNum){
case 1: fOrigin = Float:{-2223.968749, -236.531707, 4.56013};
case 2: fOrigin = Float:{-320.031249, 176.000061, 4.03124};
case 3: fOrigin = Float:{-771.263305, 483.505401, 298.03124};
case 4: fOrigin = Float:{-65.347457, -1424.003540, 178.03124};
case 5: fOrigin = Float:{-1103.984863, -2112.000244, -13.96874};
case 6: fOrigin = Float:{-656.000061, -2184.045410, 244.81369};
case 7: fOrigin = Float:{-1583.968749, -1344.031249, 260.03124};
case 8: fOrigin = Float:{-584.001037, -1600.031249, 380.03124};
case 9: fOrigin = Float:{-1036.611206, -1824.846313, 454.03124};
}
}
fm_create_ent(g_szNewBombClassname, g_szOldBombModel, Float:{-2.0, -2.0, -2.0}, Float:{2.0, 2.0, 2.0}, SOLID_BBOX, fOrigin, 100.0, DAMAGE_NO, MOVETYPE_NONE);
}
if(bCanBreak) break;
}
}

public pfn_touch(ptr, ptd){
new szClassname[32];
pev(ptd, pev_classname, szClassname, sizeof szClassname - 1);

if(equal(szClassname, g_szNewBombClassname)){
fm_give_item(ptr, "weapon_c4");
engfunc(EngFunc_RemoveEntity, ptd);
}
}

stock fm_strip_user_c4(index){
engclient_cmd(index, "drop", "weapon_c4");

new iWeapbox, iBomb = fm_find_ent_by_class(-1, "weapon_c4");
if(iBomb && (iWeapbox = pev(iBomb, pev_owner)) > g_iMaxPlayers){
dllfunc(DLLFunc_Think, iWeapbox);
message_begin(MSG_ALL, gMsgBombPickUp);
message_end();
}
}

stock fm_give_item(index, const item[]) {
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0;

new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0;

new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);

new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;

engfunc(EngFunc_RemoveEntity, ent);

return -1;
}

stock fm_create_ent(const szClassname[], const szModel[], Float:fMins[3] = {-1.0, -1.0, -1.0}, Float:fMaxs[3] = {1.0, 1.0, 1.0}, iSolid = SOLID_NOT, Float:fOrigin[3] = {0.0, 0.0, 0.0}, Float:fHealth = 100.0, Float:fTakedamage = DAMAGE_YES, iMovetype = MOVETYPE_NONE){
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if(!pev_valid(ent))
return 0;

set_pev(ent, pev_classname, szClassname);
engfunc(EngFunc_SetModel, ent, szModel);
dllfunc(DLLFunc_Spawn, ent);
set_pev(ent, pev_mins, fMins);
set_pev(ent, pev_maxs, fMaxs);
set_pev(ent, pev_solid, iSolid);
set_pev(ent, pev_origin, fOrigin);
set_pev(ent, pev_health, fHealth);
set_pev(ent, pev_takedamage, fTakedamage);
set_pev(ent, pev_movetype, iMovetype);

return ent;
}

  • +
  • -
  • 1

#9 NewaX

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:241
  • Imię:Marcin
  • Lokalizacja:Biłgoraj
Offline

Napisano 12.06.2011 11:28

boze jestes zaje..bisty wielkie dzięki. Bardzo mi pomogles plugin ladnie smiga. Mam tylko jedno pytanie czy dalo by sie zrobic tak abym mogl dodawac mapy i ich wspolzedne do jakiegos pliku ini. Nie jest to bardzo potrzebne ale ulatwilo by mi to bardzo gdybym chial dodac nowa mape. Ale jak nie to nic moge przeciez edytowac sma. Za pomoc naprawdę wielkie dzięki:D:DDD

PS. Dopiero zauwazylem ze sie paki nie da podniesc. Da sie to jakos naprawic bo reszta pieknie dziala?

Użytkownik newax edytował ten post 12.06.2011 16:11

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych