Szerző Téma: Végképp nem értem..  (Megtekintve 569 alkalommal)

Végképp nem értem..
« Dátum: 2012. október 13. - 10:05:16 »
0 Show voters
Sziasztok, tegnapi nap gondoltam megpróbálok megírni egy C4 szkriptet, ami sikerült is de egyszerûen az egyik változó meghülyül..
 

#include <a_samp>
#define SZIN 0xAAAAAA
new bool:c4[MAX_PLAYERS];
new bool:plantc4[MAX_PLAYERS];
new bomba;
new Float:C4poz[MAX_PLAYERS][3];
public OnPlayerConnect(playerid)
{
c4[playerid] = false;
plantc4[playerid] = false;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/buyc4\", true) == 0)
{
    if(c4[playerid] == false)
    {
   c4[playerid] = true;
   SendClientMessage(playerid, SZIN, \"Vettél egy C4-et! /plantc4 a C4 lerakásához!\");
   } else {
   SendClientMessage(playerid, SZIN, \"Már van C4-ed!\");
}
return 1;
}
if(strcmp(cmdtext, \"/plantc4\", true) == 0)
{
    if(c4[playerid] == true)
    {
        plantc4[playerid] = true;
        c4[playerid] = false;
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
bomba = CreateObject(1252, X, Y, Z, 0.0, 0.0, 0.0, 0.0);
new Float:p[3];
         GetPlayerPos(playerid, p[0], p[1], p[2]);
                C4poz[playerid][0] = p[0];
                C4poz[playerid][1] = p[1];
                C4poz[playerid][2] = p[2];
SendClientMessage(playerid, 0xAAAAAA, \"Leraktad a C4et!\");
} else {
SendClientMessage(playerid, SZIN, \"Nincs C4ed!\");
    }
return 1;
}
if(strcmp(cmdtext, \"/c4\", true) == 0)
{
if(plantc4[playerid] == true)
{
    plantc4[playerid] = false;
    CreateExplosion(C4poz[playerid][0], C4poz[playerid][1], C4poz[playerid][2], 1, 10);
    DestroyObject(bomba);
    SendClientMessage(playerid, SZIN, \"Felrobbantottad a C4et!\");
   } else {
   SendClientMessage(playerid, SZIN, \"Nincs letéve C4\");
}
return 1;
}
return 0;
}

 
Ugye ha csatlakozik egy játékos akkor a c4 változó hamis lesz.

A /plantc4 parancskor ha igaz az érték lerak egy C4et, de csatlakozásnál hamis értéket kap, mégis lerakja. Mi lehet a probléma?  ???


(Valamint nem tûnik el a létrehozott bomba object /c4 nél)
« Utoljára szerkesztve: 2012. október 13. - 10:07:35 írta Johnies00 »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Végképp nem értem..
« Válasz #1 Dátum: 2012. október 13. - 10:59:37 »
+1 Show voters
Probáld meg így lehet nem jó de nem kaptam semmi errort
 

#include <a_samp>
#pragma tabsize 0
#define SZIN 0xAAAAAA
new bool:c4[MAX_PLAYERS];
new bool:plantc4[MAX_PLAYERS];
new bomba;
new Float:C4poz[MAX_PLAYERS][3];
public OnPlayerConnect(playerid)
{
        c4[playerid] = false;
        plantc4[playerid] = false;
        return 1;
}
public OnPlayerDisconnect(playerid)
{
        c4[playerid] = false;
        plantc4[playerid] = false;
        return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
        if(strcmp(cmdtext, \"/buyc4\", true) == 0)
        {
            if(c4[playerid] == false) return SendClientMessage(playerid, SZIN, \"Már van C4-ed!\");
            {
                        c4[playerid] = true;
                        SendClientMessage(playerid, SZIN, \"Vettél egy C4-et! /plantc4 a C4 lerakásához!\");
                }
                return 1;
        }
        if(strcmp(cmdtext, \"/plantc4\", true) == 0)
        {
            if(c4[playerid] == true) return SendClientMessage(playerid, SZIN, \"Nincs C4ed!\");
            {
                plantc4[playerid] = true;
                c4[playerid] = false;
                new Float:X, Float:Y, Float:Z;
                GetPlayerPos(playerid, X, Y, Z);
                bomba = CreateObject(1252, X, Y, Z, 0.0, 0.0, 0.0, 0.0);
                new Float:p[3];
                GetPlayerPos(playerid, p[0], p[1], p[2]);
                C4poz[playerid][0] = p[0];
                C4poz[playerid][1] = p[1];
                C4poz[playerid][2] = p[2];
                SendClientMessage(playerid, 0xAAAAAA, \"Leraktad a C4et!\");
            }
                return 1;
        }
        if(strcmp(cmdtext, \"/c4\", true) == 0)
        {
                if(plantc4[playerid] == true) return SendClientMessage(playerid, SZIN, \"Nincs letéve C4\");
                {
                    plantc4[playerid] = false;
                    CreateExplosion(C4poz[playerid][0], C4poz[playerid][1], C4poz[playerid][2], 1, 10);
                    DestroyObject(bomba);
                    SendClientMessage(playerid, SZIN, \"Felrobbantottad a C4et!\");
                }
                return 1;
        }
        return 0;
}

Végképp nem értem..
« Válasz #2 Dátum: 2012. október 13. - 11:04:20 »
0 Show voters
Így most jó  :)

Nem tudom amúgy miért nem volt jó de így jó köszönöm.  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal