Szerző Téma: Idõzített bomba  (Megtekintve 681 alkalommal)

Idõzített bomba
« Dátum: 2013. július 23. - 19:32:24 »
0 Show voters
Üdv!
Nos a problémám a következõ.
Akarok csinálni egy olyat h tálib robbantók azoknak a parancsuk /akna, na most ez oké de az idõzítéssel vannak a bajok, akárhogy is probálom mindig erroros lesz. Úgy akarom h lekérje a pozicíót, és 3 mp múlva ott robbanjon egy akna, addig a tálib el tudjon húzni tõle.
 
if(strcmp(cmd, \"/akna\", true) == 0) {
if(gTeam[playerid] == TEAM_T_ROBBANTO)
{
new Float:x, Float:y, Float:z;
   
public Akna(playerid);
{
GetPlayerPos(playerid,x, y, z);
CreateExplosion(x, y, z, 2, 7.0);
}
return 1;
}
SendClientMessage(playerid,COLOR_BROWN,\"Telepítettél egy aknát...\");
} else {
SendClientMessage(playerid,COLOR_RED,\"Nem vagy Robbantó osztagban!\");
}
return 0;
}

 
C:\\Documents and Settings\\Hazor\\Asztal\\WW01.pwn(1516) : error 029: invalid expression, assumed zero
Vki segítsen pls!

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Idõzített bomba
« Válasz #1 Dátum: 2013. július 23. - 20:45:49 »
0 Show voters
Tessék! Nincs tesztelve, de szerintem jó!
 
#include <a_samp>
#define TEAM_T_ROBBANTO 1
new gTeam[MAX_PLAYERS];
new Float:X,Float:Y,Float:Z;
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/akna\", cmdtext, true, 10) == 0)
{
if(gTeam[playerid] == TEAM_T_ROBBANTO)
{
    GetPlayerPos(playerid,X,Y,Z);
    SetTimerEx(\"AknaTimer\",10000,0,\"i\",playerid);
    SendClientMessage(playerid,-1,\"Az Akna 10 másodperc múlva felrobban!\");
}
return 1;
}
return 0;
}
forward Akna(playerid);
public Akna(playerid)
{
CreateExplosion(X, Y, Z, 2, 7.0);
}

Idõzített bomba
« Válasz #2 Dátum: 2013. július 23. - 21:16:21 »
0 Show voters
Köszi a gyors választ, leteszteltem, ki írja h 10mp múlva robban, de egybõl robban amint beírom. :S
plusz 3 warningot kaptam, tudom h nem feltétlenül baj (bár lehet h emiatt van nem tom)
C:\\Documents and Settings\\Hazor\\Asztal\\WW01.pwn(3897) : warning 219: local variable \"X\" shadows a variable at a preceding level
C:\\Documents and Settings\\Hazor\\Asztal\\WW01.pwn(3897) : warning 219: local variable \"Y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Hazor\\Asztal\\WW01.pwn(3897) : warning 219: local variable \"Z\" shadows a variable at a preceding level

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Idõzített bomba
« Válasz #3 Dátum: 2013. július 23. - 21:53:35 »
0 Show voters
a módban már szerepel újra.. írd át XX YY ZZ -re.. és jó lesz.

Idõzített bomba
« Válasz #4 Dátum: 2013. július 24. - 00:56:11 »
0 Show voters
átírtam, most már nincs warning, vmi rossz, mert beírom /akna azonnal robban, és ismétlõdik

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Idõzített bomba
« Válasz #5 Dátum: 2013. július 24. - 01:39:49 »
0 Show voters
#include <a_samp>
#define TEAM_T_ROBBANTO 1
new gTeam[MAX_PLAYERS];
new timer;
new Float:XX,Float:YY,Float:ZZ;
public OnPlayerCommandText(playerid, cmdtext[])
{
        if (strcmp(\"/akna\", cmdtext, true, 10) == 0)
        {
                if(gTeam[playerid] == TEAM_T_ROBBANTO)
                {
                    GetPlayerPos(playerid,XX,YY,ZZ);
                    timer = SetTimerEx(\"AknaTimer\",50000,0,\"i\",playerid);
                    SendClientMessage(playerid,-1,\"Az Akna 10 másodperc múlva felrobban!\");
                }
                return 1;
        }
        return 0;
}
forward Akna(playerid);
public Akna(playerid)
{
        CreateExplosion(XX, YY, ZZ, 2, 7.0);
        KillTimer( timer );
}

 
probáld meg így.

Idõzített bomba
« Válasz #6 Dátum: 2013. július 24. - 12:05:59 »
0 Show voters
na most jó, köszönöm  segítségeteket!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal