Beiträge von Kasakow

    Guten Morgen,


    Mein Name lautet CIBERKILLER.
    Und zwar habe ich aktuell Problem mit Bot`s!
    Gestern hat dieses Problem noch nicht bestanden.
    Und zwar ist der Bot an einer ungewöhnlichen Stelle!
    Er Spawnt neben einem anderen Bot ?(


    Hier mal ein Screen:


    Qellcode:
    //NPC/BOT
    ConnectNPC("Sebastian", "Sebastian");
    ConnectNPC("Franz", "Franz");


    public OnPlayerSpawn(playerid)
    {
    //NPC/BOT
    if(IsPlayerNPC(playerid)){
    if(!strcmp(GetName(playerid), "Sebastian", true)){
    BotLabel[0] = Create3DTextLabel("Fahrlehrer: {FFFFFF}Sebastian", Gelb1, 0.0, 0.0, 0.0, 20.0, 0, 1);
    Attach3DTextLabelToPlayer(BotLabel[0], playerid, 0.0, 0.0, 0.1);
    SetPlayerSkin(playerid, 171);
    }
    else if(!strcmp(GetName(playerid), "Franz", true)){
    SetPlayerSkin(playerid, 188),SetPlayerFacingAngle(playerid, 1.2410);
    BotLabel[1] = Create3DTextLabel("Autopate: {FFFFFF}Franz", Gelb1, 0.0, 0.0, 0.0, 20.0, 0, 1);
    Attach3DTextLabelToPlayer(BotLabel[1], playerid, 0.0, 0.0, 0.1);
    }
    return 1;
    }
    }


    Ich finde das leicht komisch, kann mir jemand bei dem Problem helfen?
    Mit freundlichen Grüßen,


    CIBERKILLER.

    Ah okay, vielen Dank endlich weis ich mal static so macht.


    Ich hätte noch eine Frage zu einem anderen Variablen Typen, und zwar "const".


    Also nach meinem Wissen ist der Variablen Typ const für eine Konstante Variable gedacht eine die man nicht manuell bearbeiten kann.
    Oder irre ich mich da?

    Guten Abend,


    Mein Name lautet CIBERKILLER.
    Und zwar bräuchte ich mal eine Erklärung von euch!


    Ich bräuchte eine Gewissheit für diese 2 Variablen Typen!
    Also wie ich in der Wiki auf Englisch nachgelesen habe (Mein Englisch ist schlecht ;) ), ist new für eine Globale Variable da und static für eine Lokale.
    Aber was genau ist nun der unterschied zwischen new & static?


    Bringt einer der 2 Variablen Typen vorteile im gegensatz zum anderen oder wieso sollte es für mich einen Grund geben static zu verwenden?


    z.B


    Was wäre allgemein besser: static Float:pos[4]; oder new Float:pos[4];


    Würde mich freuen wenn mir einer Gewissheit gibt



    Mit freundlichen Grüßen,


    CIBERKILLER.

    Für so welche Fälle schreibt man sich Extra Funktionen


    //Zum Geld addieren
    stock GivePlayerMoneyEx(playerid, amount){
    SetPVarInt(playerid, "geld", GetPVarInt(playerid, "geld") + amount );
    GivePlayerMoney(playerid, amount);
    }


    //Zum Geld setzen
    stock SetPlayerMoneyEx(playerid, amount){
    SetPVarInt(playerid, "geld", 0);
    GivePlayerMoneyEx(playerid, amount);
    }


    //Zum geld auslesen
    stock GetPlayerMoneyEx(playerid)return GetPVarInt(playerid, "geld");


    //Der Timer den du irgendwo starten musst (optional)
    SetTimerEx("@Timer", 1000, true, "i", playerid);


    //Der Timer an sich!
    @Timer(playerid); @Timer(playerid){
    if(GetPlayerMoney(playerid) > GetPlayerMoneyEx(playerid)){
    //Geldcheat
    }
    return 1;
    }


    Falls der Code Fehlerhaft dann tut es mir leid (ich bin grad noch im halbschlaf)

    Also ich habe den TS Connector mal ausprobiert, bei mir bereitet er keine Probleme vor.


    Ist der Server auf deinem Lokalen Rechner oder auf einem vServer/Rootserver ?


    Denn wenn es der Fall ist dass er Lokal gestartet wird, musst du den Port 9987 bei deinen Routereinstellungen unter Portweiterleitung eintragen!

    bitte


    Kaliber das war ein Beispiel mit 4 Namen.
    Es können insgesamt 495 gleichzeitige Tickets abgesendet werden.
    Aktuell Funktioniert es nicht!


    for(new i,tmp[MAX_PLAYER_NAME];i<GetMaxPlayers();i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(IsPlayerNPC(i))continue;
    if(!sStats[i][Eingeloggt])continue;
    if(!GetPVarInt(i, "JustReport"))continue;
    GetPVarString(i, "ticketinput", in, 72);
    GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
    format(string, sizeof(string), "{FFFFFF}Author: %s | Inhalt: %s\n%s", tmp, in, string);
    count ++;
    }


    Das ist mein Jetziger Code, also der Richtige name in der Liste wird angezeigt auch der Richtige Inhalt.
    Nur wenn ich drauf klicke passiert nichts!


    Ich lasse d_Namen so zuweisen!


    d_Namen[playerid] = playerid;


    Dies wird in /support zugewiesen, aber ich finde was ich da geschrieben macht kein Sinn!


    new tmp_id = d_Namen[listitem];


    Bist du dir Sicher das dass hier Richtig ist ?


    for(new i,tmp[MAX_PLAYER_NAME]; i<sizeof d_Namen; i++) {
    GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
    }


    Soweit mir bekannt ist der 1. Parameter von GetPlayerName (playerid). Und du benutzt da d_namen[i]


    Beziehungsweise d_namen kann ja auch als Feldervariable genutzt werden..


    Aber du lässt das ganze ja in tmp ausgeben, dass lässt sich dann nicht einfach mit d_namen wieder auslesen.


    Muss das ganze dann nicht so aussehen ?
    for(new i; i<GetMaxPlayers(); i++) {
    GetPlayerName(i,d_namen[i],MAX_PLAYER_NAME);
    }


    sizeof(d_namen); sollte auch gehen solange genügend Felder erlaubt sind


    Ich bitte um Antwort

    Guten Tag,


    Mein Name lautet CIBERKILLER.
    Und zwar bräuchte ich mal einen Rat.
    Ich möchte einen Listen Dialog haben, 4 leute stehen drinne.


    name1,name2,name3,name4


    Wenn ich auf name1 klicke soll ich auch die entsprechende ID bekommen, aber meinem code verwechselt er die IDS. (Sprich man klickt auf mich, man bekommt dann aber sich selber ab!)


    Quellcode:
    if(dialogid == DIALOG_TICKETS)
    {
    new tmp_id = listitem += 1;
    if(!tmp_id)return 1;
    if(!response)return 1;
    if(!IsPlayerConnected(tmp_id))return SendClientMessage(playerid, HellRot, "...");
    if(!GetPVarInt(tmp_id, "JustReport"))return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
    if(tmp_id==playerid)return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
    }



    Mit freundlichen Grüßen,


    CIBERKILLER

    Wenn du Beiträge komplett ignorierst, kann man dir auch nicht helfen... :wacko:
    L.G.


    Ich ignoriere keinen einzigen Beitrag!
    Jetzt erkläre mir doch bitte sich in diesem Quellcode der Fehler befindet! (Es mag so aussehen dass ich sie ignoriere)


    Generell heißt es für mich in der Schleife mit if abfragen & continue zu arbeiten! So habe ich das Gelernt!

    Aktuell Funktioniert es immer noch nicht.


    Quellcode:


    new vID, i;
    for(;i<GetMaxPlayers();i++){
    if(!IsPlayerConnected(i))continue;
    if(IsPlayerNPC(i))continue;
    if(!sStats[i][Eingeloggt])continue;
    if(!IsPlayerInAnyVehicle(i))continue;
    vID = GetPlayerVehicleID(i);
    VehicleFree[vID] = false;
    }
    for(;i<MAX_VEHICLES;i++){
    if(VehicleFree[i] == false)continue;
    SetVehicleToRespawn(i);
    }

    Ahh mir ist gerade ein Logik Fehler aufgefallen.
    Doch es spawnen autos nur respawnen tuhen sie nicht ;)


    Also ich habe frage ab wenn er in einem fahrzeug sitzt soll er übersprungen werden.


    Aber dann benutze ich noch wie ein Depp GetPlayerVehicleID ...


    Gibt es möglichkeit abzufragen ob ein fahrzeug leer ist?