-
Ü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!
-
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);
}
-
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
-
a módban már szerepel újra.. írd át XX YY ZZ -re.. és jó lesz.
-
átírtam, most már nincs warning, vmi rossz, mert beírom /akna azonnal robban, és ismétlõdik
-
#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.
-
na most jó, köszönöm segítségeteket!