Szerző Téma: Tűz Random.!  (Megtekintve 1486 alkalommal)

Tűz Random.!
« Dátum: 2014. Október 29. - 22:02:32 »
0 Show voters
Ahogy a Témából értendő :D Adott helyen [Oltható] Tűz csap fel !
Esetleg egy példát ha tudna valaki. Előre is köszönöm.!
[gmod]Vastag, dőlt, glow taggel ellátott lóbetűk eltávolítva. Látjuk anélkül is![/gmod]
« Utoljára szerkesztve: 2014. Október 29. - 22:08:20 írta Dfoglalo »

Tűz Random.!
« Válasz #1 Dátum: 2014. Október 30. - 21:41:40 »
0 Show voters
Vízzel oltható tüzet nem tudsz rakni, hogy rendesen szinkronizálódjon. Csak a közelben levők fogják látni. A random hely meg nem megoldható, max. több, meghatározott helyen lehetséges. Ha el akarod érni, hogy mindneki lássa a tüzet, azt egy objecttel lehet, azt viszont nem lehet oltani, ma.x törölni vagy mozgatni.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Tűz Random.!
« Válasz #2 Dátum: 2014. Október 30. - 22:02:28 »
0 Show voters
Idézetet írta: PeterBlue date=1414701700\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51225\" data-ipsquote-contentclass=\"forums_Topic
A random hely meg nem megoldható, max. több, meghatározott helyen lehetséges.
 
Tévedés, a random hely megoldható. Sőt, azt is be lehet programozni, hogy a tengerre ne tegyen véletlenül se. Egyedül a mapolt dolgoknál nem fog működni a random hely és ott az alap mapot fogja nézni. De ha érted a dolgod, fáradtságos munkával a mapolásra is megalkotható, de felesleges azzal szívni.


A tüzet pedig valóban, csak az fogja eloltottnak látni, aki a közelben van, másnál ugyanúgy égni fog, ha oda megy. Azért sem nagyon van tűzoltó szkript elterjedve, mert nem, vagy nagyon nehezen megoldható.

Tűz Random.!
« Válasz #3 Dátum: 2014. Október 30. - 22:42:45 »
0 Show voters
Valahol, egy szerveren melynek F-el kezdődik a neve azon megvan oldva ez a random tűz és oltható :) és hibátlan

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Tűz Random.!
« Válasz #4 Dátum: 2014. Október 30. - 22:52:50 »
0 Show voters
Nem mondtam, hogy lehetetlen. Valamiféle kis \"nagyjábólságot\" létre lehet hozni, de a tökéletes megoldására már azt mondom, hogy lehetetlen.

Tűz Random.!
« Válasz #5 Dátum: 2014. Október 31. - 11:06:07 »
0 Show voters
Hát szerintem úgy meg lehet oldani hogy lerakod az objectet(vagy eg olyan ami lángol csak nemtom az ID-jét), és ha valaki a köszelében van és va  tűzoltó készüléke, akkor amikor használja a készüléket
 

if(GetPlayerWeapon(playerid) == WEAPON_FIREEXTINGUISHER && newkeys == KEY_FIRE)

 
Akkor lerak egy olyan hát nemis tudom mi a neve, de a házak oldalán szokott lenni(és jön belőle a füst), na azt lerakod a földBE úgy hogy csak a füst látszódjon(mert a füst az IstenKirályVilágCsászár és átmegy a földön) és 1kis idő múlva eltűnteted a 2 objectet.
Hát kb. így képzelném el(ha megtalálom az objectet akkor megírom)

Tűz Random.!
« Válasz #6 Dátum: 2014. Október 31. - 11:47:56 »
0 Show voters
Nem rossz ötlet, ez eszembe sem jutott :D
Dfoglalo: Aztazthogykő\'?

Tűz Random.!
« Válasz #7 Dátum: 2014. Október 31. - 21:19:07 »
+1 Show voters
(Unalom nagy úr...)

Ezt összedobtam X perc alatt, nem teszteltem(Szóval lehet egy nagy adag ***** az egész), mert nem indul el a San Andreas (By 64mb-os integrált vidikari), de ha valaki ért hozzá az megcsinálja bugmentesere  :)

 

#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#define MAX_FIRELOCATION 2
forward RandomFire(playerid);
forward FireEx(playerid);
new Float:CurrentFireX, Float:CurrentFireY, Float:CurrentFireZ;
new FireObj[5],
FireTimer;
new Float:FireLocation [MAX_FIRELOCATION][3] = // A \'MAX_FIRELOCATION\' -t állítsd annyira a #define -nél ahány tűz koordinátát megadsz!!
{
{0.0,0.0,2.0},//X,Y,Z
{40.0,0.0,2.0}
};
new ExtingFire[MAX_PLAYERS];
new FireExTimer[MAX_PLAYERS];
new FireCP[MAX_PLAYERS];
public OnFilterScriptInit()
{
print(\"=======[FilterScript Started]=======\");
print(\"Random+Oltható Tűz FilterScript betöltve! by. .RäNĐoM.\");
FireTimer = SetTimer(\"RandomFire\",5*60000,true);//Five minutes
return 1;
}
public OnFilterScriptExit()
{
print(\"=======[FilterScript Exit]=======\");
print(\"Random+Oltható Tűz FilterScript leállt! by. .RäNĐoM.\");
KillTimer(FireTimer);
return 1;
}
public OnPlayerConnect(playerid)
{
ExtingFire[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
ExtingFire[playerid] = 0;
KillTimer(FireExTimer[playerid]);
DisablePlayerCheckpoint(FireCP[playerid]);
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((oldkeys & KEY_FIRE) &&! (newkeys && KEY_FIRE))
{
       if(IsPlayerInRangeOfPoint(playerid, 10.0, CurrentFireX, CurrentFireY, CurrentFireZ) && GetPlayerWeapon(playerid) == WEAPON_FIREEXTINGUISHER)
{
   FireExTimer[playerid] = SetTimerEx(\"FireEx\",60000,false,\"i\",playerid);
   for(new i; i > GetMaxPlayers(); i++) { if(!IsPlayerConnected(i)) continue; if(ExtingFire == 1) return SendClientMessage(playerid,-1,\"{FF0000}Valaki már elkezdte oltani a tüzet!\"),KillTimer(FireExTimer[playerid]),0; }
   ExtingFire[playerid] = 1;
   SendClientMessage(playerid,-1,\"{FF0000}Elkezdted oltani a tüzet!! min. 1 percig kell {FFFFFF}FOLYAMATOSAN {FF0000}oltani, hogy teljesen elaludjon!\");
   DisablePlayerCheckpoint(FireCP[playerid]);
}
}
else
{
if(ExtingFire[playerid] == 1)
{
KillTimer(FireExTimer[playerid]);
ExtingFire[playerid] = 0;
SendClientMessage(playerid,-1,\"{FF0000}Abbahagytad a tűz oltását!\");
}
}
return 1;
}
public RandomFire(playerid)
{
new rand = random(MAX_FIRELOCATION);
FireObj[0] = CreateObject(18688,FireLocation[rand][0],FireLocation[rand][1],FireLocation[rand][2],0.0,0.0,0.0);
FireObj[1] = CreateObject(18688,FireLocation[rand][0]+1,FireLocation[rand][1]+1,FireLocation[rand][2],0.0,0.0,0.0);
FireObj[2] = CreateObject(18688,FireLocation[rand][0]-1,FireLocation[rand][1]-1,FireLocation[rand][2],0.0,0.0,0.0);
FireObj[3] = CreateObject(18688,FireLocation[rand][0]+2,FireLocation[rand][1]+2,FireLocation[rand][2],0.0,0.0,0.0);
FireObj[4] = CreateObject(18688,FireLocation[rand][0]-2,FireLocation[rand][1]-2,FireLocation[rand][2],0.0,0.0,0.0);
CurrentFireX = FireLocation[rand][0];
CurrentFireY = FireLocation[rand][1];
CurrentFireZ = FireLocation[rand][2];
SendClientMessageToAll(-1,\"{FF0000}Kigyúlladt egy tűz!! A pontos helyét láthatod a radaron!! Szerezzél egy poroltót! (/porolto) Ha te oltod el 5000 $ -t kapsz!\");
FireCP[playerid] = SetPlayerCheckpoint(playerid, CurrentFireX, CurrentFireY, CurrentFireZ, 3.0);
return 1;
}
public FireEx(playerid)
{
for(new i = 0; i < 6; i++) { DestroyObject(FireObj); }
GivePlayerMoney(playerid,5000);
ExtingFire[playerid] = 0;
DisablePlayerCheckpoint(FireCP[playerid]);
SendClientMessage(playerid,-1,\"Gratulálok! Sikeresen eloltottad a tüzet!\");
return 1;
}
CMD:porolto(playerid)
{
GivePlayerWeapon(playerid,WEAPON_FIREEXTINGUISHER,10000);
SendClientMessage(playerid,-1,\"{FF0000}Kaptál egy poroltót! Irány a tűz!!\");
return 1;
}

 


Még mielőtt valamelyik IQ fighter ellopná elárulom, hogy nem illik és nem érdemes  ::|

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal