Szerző Téma: Fireball Minigame  (Megtekintve 2355 alkalommal)

Fireball Minigame
« Dátum: 2013. április 06. - 10:44:57 »
+11 Show voters
Szervusztok!
Rengeteg minigame van már, nemtudom ilyen van-e már.
Beírod a /fireball parancsot és nem messze tõled egy tûzgolyó jeleik meg a levegõben. Futnod kell, mert ha elkap, meghalsz.
Míg élsz, a pénzed pörög felfelé. Házi szerveren teszteltem, mûködik.
 

#include <a_samp>
new fireball;
new FireBaller[MAX_PLAYERS];
//colours
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF
 
#if defined FILTERSCRIPT
 
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Fireball Minigame successfully loaded\");
print(\" Created by BenCarter007 :)\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
#endif
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/fireball\", cmdtext, true, 10) == 0)
{
    SendClientMessage(playerid,COLOR_RED,\"Egy lángcsóva üldöz!\");
    SendClientMessage(playerid,COLOR_RED,\"Menekülj vagy meghalsz! :D\");
new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
fireball = CreateObject( 18693,x+10, y+10, z-1, 0.0, 0.0, 0);
SetTimer(\"OnPlayerUpdate\", 3000, false);
FireBaller[playerid] = 1;
return 1;
}
return 0;
}
public OnPlayerUpdate(playerid)
{
if (FireBaller[playerid] == 1)
{
new Float:x, Float:y, Float:z;
new Float:ObjX, Float:ObjY, Float:ObjZ;
new Float:PlayerX, Float: PlayerY, Float: PlayerZ;
new Float:health;
GivePlayerMoney(playerid, 1);
GetPlayerPos(playerid,x,y,z);
MoveObject(fireball, x, y, z-1, 7.00);
GetPlayerPos(playerid,PlayerX,PlayerY,PlayerZ);
GetObjectPos(fireball,ObjX,ObjY,ObjZ);
if(IsPlayerInRangeOfPoint(playerid, 1.0, ObjX, ObjY, ObjZ))
{
   GetPlayerHealth(playerid,health);
   SetPlayerHealth(playerid, health-20);
}
}
}
public OnPlayerDeath(playerid, killerid, reason)
{
    if (FireBaller[playerid] == 1)
    {
        new Float:x, Float:y, Float:z;
       FireBaller[playerid] = 0;
        DestroyObject(fireball)
       GetPlayerPos(playerid,x,y,z);
       MoveObject(fireball, x, y, z+2000, 5.00);
       SendClientMessage(playerid,COLOR_RED,\"Téged kinyírt egy lángcsóva... Puding vagy...\");
    }
return 1;
}

 
Elkészítési idõ: 30 perc (igen,igen, a kezdõ scripter még próbálgat is mellette :D)
Használat: /fireball
« Utoljára szerkesztve: 2013. április 12. - 15:24:19 írta bencarter007 »

Nem elérhető ][Fo[R]cE][

  • 86
  • SAJT!
    • Profil megtekintése
Fireball Minigame
« Válasz #1 Dátum: 2013. április 06. - 12:32:41 »
0 Show voters
Téged kinyírt egy lángcsóva... Puding vagy...[/quote]
érdekes xDD, amúgy szép, megy a +!

Nem elérhető Apple

Fireball Minigame
« Válasz #2 Dátum: 2013. április 06. - 12:41:38 »
0 Show voters
Téged kinyírt egy lángcsóva... Puding vagy...[/quote]
Én is itt  csodálkoztam :D :D

De szép lett ment a +!

Fireball Minigame
« Válasz #3 Dátum: 2013. április 06. - 14:36:08 »
0 Show voters
Még nem is láttam ilyet :D faxa hogy elhoztad  :thumbsup: adom a +-t

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Fireball Minigame
« Válasz #4 Dátum: 2013. április 06. - 14:52:18 »
0 Show voters
Hm, van vele egy király ötletem, mint a TF2-ben. Kösz a filterscriptet ;)

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Fireball Minigame
« Válasz #5 Dátum: 2013. április 06. - 15:13:18 »
0 Show voters
Végre egy ötletes munka, ezt még lehet fejleszteni :D

xD1999

  • Vendég
Fireball Minigame
« Válasz #6 Dátum: 2013. április 06. - 17:58:57 »
0 Show voters
Jó lett kapsz tõlem 1+ot

Fireball Minigame
« Válasz #7 Dátum: 2013. április 07. - 22:57:21 »
0 Show voters
F*sz* lett!Ment a +!

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Fireball Minigame
« Válasz #8 Dátum: 2013. április 10. - 14:44:02 »
0 Show voters
Nem rossz, de az OnPlayerUpdate azt nem kell meghívni még Timer-el anélkül is lefut sõt nem három másodpercenként, hanem játékosonként másodpercenként fut le szóval az a Timer oda felesleges.
És ha meghalsz akkor töröld az objectet és a változót állítsd 0-ra, mert feleslegesen dobod fel olyan magasra az objectet miközben még az OnPlayerUpdate fut csak lagg lesz tõle, ha sok játékos van ezért FireBaller[playerid] = 0;
« Utoljára szerkesztve: 2013. április 10. - 14:48:43 írta Norby »

Nem elérhető Ace

Fireball Minigame
« Válasz #9 Dátum: 2013. május 19. - 21:18:14 »
0 Show voters
Nekem lenne egy kis gond ..xD
Mikor bemásolom Pawnoba és Compile-olni akarom kiír egy rakat hibaüzenetet!
Ezt írja ki :
C:\\Users\\hp\\Desktop\\GTA SZERVER\\teszt\\fireball.pwn(113) : warning 217: loose indentation
C:\\Users\\hp\\Desktop\\GTA SZERVER\\teszt\\fireball.pwn(114) : warning 217: loose indentation
C:\\Users\\hp\\Desktop\\GTA SZERVER\\teszt\\fireball.pwn(115) : warning 217: loose indentation
C:\\Users\\hp\\Desktop\\GTA SZERVER\\teszt\\fireball.pwn(149) : error 001: expected token: \";\", but found \"-identifier-\"
C:\\Users\\hp\\Desktop\\GTA SZERVER\\teszt\\fireball.pwn(153) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
PLS segítsetek :D

Fireball Minigame
« Válasz #10 Dátum: 2013. május 19. - 21:19:39 »
0 Show voters
A warning az csak, sor eltolódás, az erorr meg: hiányzik egy \" ; \"

Nem elérhető Ace

Fireball Minigame
« Válasz #11 Dátum: 2013. május 19. - 21:24:27 »
0 Show voters
Az egyik az sikerült :D
De nem értem ,hogy sor eltolódás, mindent úgy másoltam be ahogy oda volt írva :P

Fireball Minigame
« Válasz #12 Dátum: 2013. május 19. - 22:49:23 »
0 Show voters
Tessék: (kicsit sallangmentesen, illetve megtartva a felépítése)
 
#include <a_samp>
new
fireball,
bool:FireBaller[MAX_PLAYERS];
#define COLOR_RED 0xAA3333AA
public
OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Fireball Minigame successfully loaded\");
print(\" Created by BenCarter007 :)\");
print(\"--------------------------------------\\n\");
return 1;
}
public
OnPlayerConnect(playerid)
{
FireBaller[playerid] = false;
return 1;
}
public
OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(\"/fireball\", cmdtext) == 0)
{
SendClientMessage(playerid, COLOR_RED, \"Egy lángcsóva üldöz!\");
SendClientMessage(playerid, COLOR_RED, \"Menekülj vagy meghalsz! :D\");
new
   Float:x,
   Float:y,
   Float:z;
GetPlayerPos(playerid, x, y, z);
fireball = CreateObject(18693, x+10, y+10, z-1, 0.0, 0.0, 0);
FireBaller[playerid] = true;
return 1;
}
return 0;
}
public
OnPlayerUpdate(playerid)
{
if(FireBaller[playerid])
{
new
   Float:x,
   Float:y,
   Float:z,
   Float:ObjX,
   Float:ObjY,
   Float:ObjZ;
GivePlayerMoney(playerid, 1);
GetPlayerPos(playerid, x, y, z);
MoveObject(fireball, x, y, z-1, 7.00);
GetObjectPos(fireball, ObjX, ObjY, ObjZ);
if(IsPlayerInRangeOfPoint(playerid, 1.0, ObjX, ObjY, ObjZ))
{
   new
      Float:health;
   GetPlayerHealth(playerid, health);
   SetPlayerHealth(playerid, health-20);
}
}
return 1;
}
public
OnPlayerDeath(playerid, killerid, reason)
{
if(FireBaller[playerid])
{
new
   Float:x,
   Float:y,
   Float:z;
FireBaller[playerid] = false;
GetPlayerPos(playerid, x, y, z);
MoveObject(fireball, x, y, z+2000, 5.00);
DestroyObject(fireball);
SendClientMessage(playerid, COLOR_RED, \"Téged kinyírt egy lángcsóva... Puding vagy...\");
}
return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal