Beiträge von Pr0x

    Guten Abend,
    ich bin gerade dabei, zu versuchen, mit Classes zu arbeiten.


    Erklärung:
    Ich lade die Seite X und Include den Inhalt aus anderen Seiten.
    Oben habe ich meine ganzen Classes auf Seite X mit require eingebunden.


    Auf der Seite X werden die Objekte korrekt aus den Classes entnommen und angezeigt.


    Nun habe ich eine mysql.func.class.php erstellt und ebenfalls oben auf Seite X mit require eingebunden, dabei entsteht ein Problem.


    Folgendes komische Problem:
    In den jeweiligen Funktionen, in der mysql.func.class.php, binde ich eine connection.php ein, diese erstellt lediglich eine PDO Verbindung zur Datenbank her und es funktioniert.
    Soweit so gut, aber wenn ich in meiner mysql.func.class.php, die Objekte aus der anderen Class laden möchte (die oben auf Seite X über der mysql.func.class.php required werden), dann bekomme ich in den Fehler: Notice: Undefined variable.


    Dann kam mir der Gedanken, dann require ich die Classes in meiner function(), weil diese anscheinend nicht gefunden werden, obwohl sie über dieser Class (mysql.func.class.php) required werden.
    Dann habe ich es gemacht und bekomme den Fehler: Fatal error: Cannot redeclare class.
    Wenn ich diese Class auf der Seite X über der mysql.func.class.php, die nicht redeclare werden kann, ausklammere, dann funktioniert meine function() und die Objekte aus der Class werden richtig geladen.


    Jetzt einmal in Code:


    Meine Seite X

    Meine mysql.func.class.php


    Ich kann aber nicht auf Seite X meine mysql.class.php ausklammern, weil sonst die Objekte nicht auf der geladenen Seite angezeigt werden d.h. die Class muss drin bleiben, weil sie benötigt wird.


    Vielen Dank für Hilfe im Voraus.

    Nun...printe dir doch mal den Query..den er ausführt...prüfe ihn mit Phpmyadmin..ob es auch wirklich klappt...


    und ob du online richtig geschrieben hast..sowie der Spaltenname auch ist...


    Check das halt einfach nochmal alles ^^

    Ich habe das mal getrennt und es funktioniert. Nur ich möchte, dass beide Abfragen in einer Query sind.


    so z.B. funktioniert das:

    Code
    $fquery = $dbh->prepare("(SELECT COUNT(*) AS members FROM `$mysql->db_acc_table` WHERE `$mysql->db_acc_fraktion` = :fid)");
    $fquery->execute(array(":fid"=>$result[$mysql->db_frak_id]));
    $res = $fquery->fetch();							
    
    
    $oquery = $dbh->prepare("SELECT COUNT(*) AS online FROM `$mysql->db_acc_table` WHERE `$mysql->db_acc_fraktion` = :fid AND `$mysql->db_acc_online` = 1");
    $oquery->execute(array(":fid"=>$result[$mysql->db_frak_id]));
    $res2 = $oquery->fetch();
    echo "<h5>Mitglieder: ".$res["members"]." (Davon Online: ".$res2["online"].")</h5>";

    möchte 2 Abfragen in einer machen mittels Union.

    PHP
    $fquery = $dbh->prepare("(SELECT COUNT(*) AS members FROM `$mysql->db_acc_table` WHERE `$mysql->db_acc_fraktion` = :fid) 
    UNION (SELECT COUNT(*) AS online FROM `$mysql->db_acc_table` WHERE `$mysql->db_acc_fraktion` = :fid AND `$mysql->db_acc_online` = 1)");
    $fquery->execute(array(":fid"=>$result[$mysql->db_frak_id]));
    $res = $fquery->fetch();
    echo "<h5>Mitglieder: ".$res["members"]." (Davon Online: ".$res["online"].")</h5>";


    Ich bekomme folgende Fehlermeldung:

    PHP
    Notice: Undefined index: online in ..php on line 24

    Das Problem liegt hier:
    echo "<h5>Mitglieder: ".$res["members"]." (Davon Online: ".$res["online"].")</h5>";


    nun möchte ich fragen, wie ich diesen Fehler beheben kann.


    Danke im Voraus.

    liegt daran, das die killerid nicht Online ist d.h. der Spieler ist ohne Fremdeinwirkung gestorben.


    Einfach abfragen ob killerid existiert:
    if(PlayerInfo[playerid][pHeadValue] > 0 && PlayerInfo[killerid][pLeader] == 8 || PlayerInfo[killerid][pMember] == 8)
    zu
    if(PlayerInfo[playerid][pHeadValue] > 0 && PlayerInfo[killerid][pLeader] == 8 && killerid != INVALID_PLAYER_ID || PlayerInfo[killerid][pMember] == 8 && killerid != INVALID_PLAYER_ID)


    LG


    //oben
    enum GlblTxdrwInfo{
    Text[128]
    }
    new GlobalTxdrw[2][GlblTxdrwInfo] = {
    "TSIP: 127.0.0.1",
    "FORUM: sa-mp.de",
    "UCP: sa-ucp.de"
    }


    new Text:GlobalTxdrw;
    new TxdrwCounter = 0;


    //OnGameModeInit
    SetTimer("Textdraw",20000,true);


    Dein TextdrawCreate im GameModeInit


    GlobalTxdrw = ....


    // im Script
    public Textdraw()
    {
    switch(TxdrwCounter)
    {
    case 0:TextDrawSetString(GlobalTxdrw,GlobalTxdrw[0][Text]);TxdrwCounter +=1;
    case 1:TextDrawSetString(GlobalTxdrw,GlobalTxdrw[1][Text]);TxdrwCounter +=1;
    case 2:TextDrawSetString(GlobalTxdrw,GlobalTxdrw[2][Text]);TxdrwCounter = 0;
    }
    return 1;
    }


    //OnPlayerConnect
    TextDrawShowForPlayer(playerid,GlobalTxdrw);


    Wurde nicht getestet, auf dem Handy geschrieben.

    Ich finde es ist ein guter Preis für so ein kleines Script!Und man sollte bedenken das es ein Selfmade ist mit einzigartige Maps die selber erstellt wurden.
    Also überleg mal richtig nach bevor du sagst das 70€ zu viel dafür sind.


    /////////////


    Das Script an sich finde ich Okay, ich wünsche euch viel Erfolg beim Verkauf.

    Wenn du findest das der Preis angemessen ist und es ein "Schnäppchen" ist, dann kauf es doch.
    Wenn jemand den Preis zu hoch findet, kann ich es vollkommen nachvollziehen, sehe ich ebenfalls so, da brauchst du nicht die Interessenten so anmachen mit "Also überleg mal richtig nach bevor du sagst das 70€ zu viel dafür sind.".


    Ansonsten, viel Glück dem Verkäufer.

    Fraktionssperre (14 Tage) geben:
    pInfo[playerid][pFSperre] = gettime()+(14*24*60*60); // 14 Tage


    Fraktionsperre abfragen:
    if(pInfo[playerid][pFSperre] > gettime())return SendClientMessage(playerid,-1,"Du hast eine Fraktionssperre");

    Hey kann mir mal jemand sagen wo mein Fehler Liegt ?


    Code
    new yea,mon,day,hou,minn,sec,string[128],datum[11];
        		getdate(yea,mon,day);
        		format(datum,sizeof(datum),"%d.%d.%d",day+14,mon,yea);// wenn ich diese Zeile Ausklammere Geht es

    Fehler Code


    Code
    [27/11/2016 12:39:55] [debug] Run time error 4: "Array index out of bounds"
    [27/11/2016 12:39:55] [debug]  Accessing element at index 12 past array upper bound 11
    [27/11/2016 12:39:55] [debug] AMX backtrace:
    [27/11/2016 12:39:55] [debug] #0 00006680 in ?? (0, 297456, 297452, 297448, 297444, 297440, 297436, 1, 0) from auftrag.amx
    [27/11/2016 12:39:55] [debug] #1 0000818c in public OnDialogResponse (0, 1, 1, -1, 281120) from auftrag.amx
    Console input: gmx

    String, datum[11], erhöhen?

    Ich habe mir das mal angeschaut, es wird von SAMP aus mit der Pickupid 1 beim erstellen der Pickups angefangen d.h es gibt keine Pickupid mit dem Wert 0 und ist somit nicht mit dem "i" identisch.


    Gelöst habe ich das Problem, indem ich die Pickupid plus 1 nehme:

    new string[128];
    for(new i = 0; i < sizeof(pfandf); i++)
    {
    if(pickupid+1 == FlaschenPickup[i] && IsPlayerInRangeOfPoint(playerid, 2.0, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z]))
    {
    format(string,sizeof(string),"[DEBUG] Pfandflasche Nummer: %d wurde gelöscht. [+25$]",FlaschenPickup[i]);
    SendClientMessage(playerid,-1,string);
    DestroyDynamicPickup(FlaschenPickup[i]);
    GivePlayerMoney(playerid,25);
    FlaschenPickup[i] = 0;
    return 1;
    }
    }


    Ansonsten habe ich mit folgenden Befehlen gearbeitet:

    COMMAND:createpfandflasche(playerid,params[])
    {
    //if(pInfo[playerid][pLoggin] == false) return 1;
    //if(!GetPlayerAdmin(playerid,5)) return SendAdminError(playerid);
    new Float:x,Float:y,Float:z;
    for(new i = 0; i < sizeof(pfandf); i++)
    {
    if(FlaschenPickup[i] == MAX_PFANDFLASCHEN) return SendClientMessage(playerid,-1,"Maximum an Pfandflaschen erreicht.");
    if(FlaschenPickup[i] != 0) continue;
    GetPlayerPos(playerid,x,y,z);
    pfandf[i][pf_x] = x;
    pfandf[i][pf_y] = y;
    pfandf[i][pf_z] = z;
    new flaschenmodel = random(12);
    switch(flaschenmodel)
    {
    case 0: FlaschenPickup[i] = CreateDynamicPickup(1486, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 1: FlaschenPickup[i] = CreateDynamicPickup(1509, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 2: FlaschenPickup[i] = CreateDynamicPickup(1512, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 3: FlaschenPickup[i] = CreateDynamicPickup(1517, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 4: FlaschenPickup[i] = CreateDynamicPickup(1520, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 5: FlaschenPickup[i] = CreateDynamicPickup(1543, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 6: FlaschenPickup[i] = CreateDynamicPickup(1544, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 7: FlaschenPickup[i] = CreateDynamicPickup(1551, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 8: FlaschenPickup[i] = CreateDynamicPickup(1664, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 9: FlaschenPickup[i] = CreateDynamicPickup(1668, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 10: FlaschenPickup[i] = CreateDynamicPickup(1669, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    case 11: FlaschenPickup[i] = CreateDynamicPickup(1950, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0);
    }
    printf("[DEBUG] Pickupid %d | i: %d erstellt",FlaschenPickup[i], i);
    SendClientMessage(playerid,-1,"Du hast eine Pfandflsche erstellt.");
    break;
    }
    return 1;
    }


    COMMAND:listpflaschen(playerid,params[])
    {
    new string[124];
    for(new i = 0; i < sizeof(pfandf); i++)
    {
    format(string,sizeof(string),"i: %d - FlaschenPickup[i]: %d",i,FlaschenPickup[i]);
    SendClientMessage(playerid,-1,string);
    }
    return 1;
    }


    und oben wie davor:

    #define MAX_PFANDFLASCHEN 5


    enum pfandflaschen
    {
    Float:pf_x,
    Float:pf_y,
    Float:pf_z
    }
    new pfandf[MAX_PFANDFLASCHEN][pfandflaschen];
    new FlaschenPickup[MAX_PFANDFLASCHEN];


    LG

    Nimm deinen alten Pfandpflaschen Befehl und ändere:
    if(pickupid == FlaschenPickup[i])


    Zu
    if(pickupid == FlaschenPickup[i] && IsPlayerInRangeOfPoint(playerid, 2.0, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z]))


    Wie schon mein Vorposter geschrieben hat
    FlaschenPickup[i] auf 0 setzen beim löschen.


    Sehr geehrte Counter Strike Global Offensive Spieler und Spielerinnen,
    mit diesem Schreiben sind wir Team CinezZ auf der Suche nach talentierten und Langzeit motivierten Spielern für das Spiel Counter Strike Global Offensive.
    Mit dem Team möchten wir an Counter Strike Global Offensive Events teilnehmen (Breadfish-Cup, 99Damage). Unser hauptsächliches Ziel ist es 99Damage zu Spielen und in die möglichst
    höchste Division zu kommen. Wir nehmen das Spiel ernst und möchten auch das es von unseren Mitspielern ernst genommen wird, dazu zählen: Trainingstage, Besprechungstage und Spieltage. Zudem legen wir sehr viel Wert auf Kommunikation sowie cleveres und taktisches spielen. Uns ist es Wichtig, dass Jeder Spieler sich in dem Team wohl fühlt und spielen kann wie er möchte bzw. wie er sich skilltechnisch stark und sicher fühlt. Zum Beitritt ist nur mindestens 1.500 Spielstunden in CS:GO vorraugesetzt. Anschließend folgt ein Aufnahmeverfahren in dem wir den Spieler nach Spielverstehen, Aim, Teamfähigkeit und Kommunikation bewerten. Sofern wird unser Team lineup besetzt haben, werden wir anfangen alles in die Gänge setzen (Gameserver, 99Damage Spiele, BF Cup und vielleicht mögliche Sponsore).


    Gesucht werden 3 Spieler:
    Mind. 1500 Spielstunden in CS:GO
    Talentiert und Langzeit motiviert
    Lust in einem Team zu spielen und aufzusteigen
    Geistige Reife
    hohe Aktivität
    erreichbar in Steam


    Team CinezZ - Ansprechpersonen:
    5PRAY – Steam: http://steamcommunity.com/id/official5pray/
    nypex – Steam: http://steamcommunity.com/id/nypexAA-


    Hat dieses Schreiben dein Interesse erweckt und du erfüllst unsere Voraussetzungen, möchtest in einem ernsten Team spielen und etwas erreichen? Dann schreib uns an.

    Habe dir das etwas umgeschrieben:

    if(strcmp(cmd, "/admins", true) == 0 || strcmp(cmd, "/supporter", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, 0xAFAFAFAA, "Admins/Supporter Online:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    switch(PlayerInfo[i][pSupporter])
    {
    case 1:format(string,sizeof(string),"Probe.Supporter: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 2:format(string,sizeof(string),"Supporter: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    }
    switch(PlayerInfo[i][pAdmin])
    {
    case 1:format(string,sizeof(string),"Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 2:format(string,sizeof(string),"Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 3:format(string,sizeof(string),"Super-Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 4:format(string,sizeof(string),"Super-Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 5:format(string,sizeof(string),"Super-Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 6:format(string,sizeof(string),"Super-Moderator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 1337:format(string,sizeof(string),"Administrator: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 1338:format(string,sizeof(string),"High-Admin: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 2000:format(string,sizeof(string),"Stv.Serverleiter: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    case 2001:format(string,sizeof(string),"Serverleiter: %s || Reports: %d",sendername,PlayerInfo[i][pReports]);
    }
    SendClientMessage(playerid, 0xAFAFAFAA, string);
    }
    }
    }
    return 1;
    }


    In deinem Spielerenum pReports definieren.


    LG

    Guten Tag,
    ich wollte fragen, da ich keine Ahnung von AHK habe, ob mir jemand etwas schreiben kann das ein Befehl (z.B, /heal) automatisch alle 3 Sekunden (bis ich es manuell mit F12 deaktiviere) in den Chat schreibt.


    Am besten man kann es mit F12 an-/ausschalten.


    Vielen Dank im Voraus.


    [*]Loading plugin: streamer
    [*][00:30:00] Failed.
    [*][00:30:00] Loading plugin: wbb_connect
    [*][00:30:00] Failed.
    [*][00:30:00] Loading plugin: M-Zones
    [*][00:30:00] Failed.

    In deinem Enum musst du pBannedGrund mit einer Länge definieren: pBannedGrund[64]


    Beim auslesen machst du das mit %s , weil es Buchstaben und Zahlen ausliest.


    %i liest nur Integers (Zahlen) aus.