Beiträge von Sharpadox

    Pawno, bzw. alle Programmiersprachen fangen bei 0 an zu zählen..
    Also zB:
    new var[10];


    Davon gibt es nun 10 Stück, also 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
    Demnach ist die 0 sozusagen immer die 1.

    error 052: multi-dimensional arrays must be fully initialized
    Error 052: Multi-dimensionale Arrays müssen voll initialisiert sein.


    Also, dein Array ist Multi-dimensional, also hat 2 Werte mit diesen "[]" Klammern.
    Und bei solchen Arrays muss die Anzahl (Erster Wert) völlig der Zahl entsprechen,
    wieviele informationen es nun schlussendlich gibt (Ich hoffe die Erklärung war nich all zu blöd :D).


    Beispiel:

    new NPC_Info[5][Npc_Data] = {
    {"Peter",101,0,0,0},
    {"Carl",101,0,0,0},
    {"John",101,0,0,0},
    {"Steve",101,0,0,0},
    {"Tom",101,0,0,0}
    };
    // Die Anzahl entspricht 5, da es insgesamt 5 "Daten" gibt.


    In deinem Fall müsste die Anzahl also 2 sein...

    Wie du siehst steht MAX_EINGANG auf 1 also geht er nur 1x durch.
    Das wird ja angepasst wieviele Eingänge ich habe.
    Genauso wie bei den Spielern, ich benutze nicht MAX_PLAYERS,
    sonder PlayerOnServer, ich benutze das um die for schleife auch nur wirklich so oft laufen zu lassen wieviele Spieler auch auf dem Server sind.

    Ich meine nur mal so generell. MAX_EINGANG wird ja auch sicher nicht immer bei 1 bleiben. Wenn das Script mal fertig werden sollte sind es sicher so mindestens 50-100 Stück.

    Frag lieber mal im deutschen Unity insider Foum nach. Ich glaube ich habe hier sogar noch ein Bewerbungsscript liegen, wenn du magst kann ichs dir schicken.
    http://forum.unity-community.de/


    MFG


    Naja, könnte ich machen, aber möchte mich nicht extra in einem anderen Forum registrieren eigentlich.
    Ich weiß ja, dass hier unter uns sehr viele begabte C#- oder Unity3D-Programmierer sind, und hoffte, dass mir vllt einer helfen könnte.
    Aber anscheinend muss ich mich doch in dem Forum registrieren ^^

    Ich habe keine Lust mir ~2000 Zeilen mal so einfach anzuschauen xD


    Aber mal ein Tipp für for-Schleifen:

    Spoiler anzeigen
    case KEY_SECONDARY_ATTACK:
    {
    new i = 0;
    for(;i < MAX_EINGANG; i++)
    {
    new string[16];
    if(GetPVarInt(playerid,"InRoom") == 999)
    {
    if(PlayerToEingang(4.0, playerid, i,0))
    {
    format(string, sizeof(string), "~y~%s", EingangInfo[i][eName]);
    GameTextForPlayer(playerid, string, 5000, 3);
    SetPlayerPos(playerid, EingangInfo[i][eX2],EingangInfo[i][eY2],EingangInfo[i][eZ2]);
    SetPlayerInterior(playerid, EingangInfo[i][eInt]);
    SetPlayerVirtualWorld(playerid, EingangInfo[i][eVW]);
    SetPVarInt(playerid,"InRoom", i);
    }
    }
    else if(GetPVarInt(playerid,"InRoom") != 999)
    {
    if(PlayerToEingang(4.0, playerid, i,1))
    {
    SetPlayerPos(playerid, EingangInfo[i][eX],EingangInfo[i][eY],EingangInfo[i][eZ]);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SetPVarInt(playerid,"InRoom", 999);
    }
    }
    }
    }


    Wenn du in der Schleife in den Raum gesetzt wirst, bzw. die Schleifen seinen Zweck erfüllt hat, solltest du sie mit break; beenden.


    Wenn du zB für den eine Schleife über alle Spieler machst, um zum Beispiel einen bestimmten Spieler zu finden, der dann am Ende
    die playerid 5 hat, muss er ja nicht unnötig nochmal den Code 495x durchgehen.


    Also zB dann:

    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new bool:istEinAdminOn=false;
    if(IsPlayerAdmin(playerid)){
    istEinAdminOn = true;
    break;
    }
    if(istEinAdminOn==true) return SendClientMessage(playerid,-1,"Ja, es ist mindestens 1 Admin online!");
    else return SendClientMessage(playerid,-1,"Es ist kein Admin online!");
    }

    Hey,


    ich wollte mich mal wieder ein wenig mit Unity3D und C# befassen und wollte ein kleines "Bewegungsscript" in C# schreiben, mit Laufen/Rennen usw..
    Nun habe ich aber das Problem, dass ich diesen Error (siehe Titel) bekomme, und leider keinen Plan habe, wie ich es anders machen kann. Also betroffen ist
    die Zeile 34. Kann mir vielleicht jemand sagen, was da falsch ist, und wie das sonst gemacht werden soll?


    using UnityEngine;
    using System.Collections;


    public class Player : MonoBehaviour {

    public float laufGeschwindigkeit = 3.0f;
    public float rennGeschwindigkeit = 4.5f;

    void Start () {
    Debug.Log("Ein Bewegungsskript wurde in einem Objekt gefunden. Du kannst ihn nun Steuern!");
    }

    void Update () {
    Bewegung();
    }

    private void Bewegung()
    {
    Vector3 gesamtBewegung;
    int istAmRennen = 0;
    if(Input.GetKey(KeyCode.Space)){
    istAmRennen = 1;
    }
    if(istAmRennen == 1){
    Vector3 horizontalBewegung = Input.GetAxis("Horizontal") * Vector3.right * rennGeschwindigkeit;
    Vector3 vertikalBewegung = Input.GetAxis("Vertical") * Vector3.forward * rennGeschwindigkeit;
    gesamtBewegung = horizontalBewegung + vertikalBewegung;
    }
    else if(istAmRennen == 0){
    Vector3 horizontalBewegung = Input.GetAxis("Horizontal") * Vector3.right * laufGeschwindigkeit;
    Vector3 vertikalBewegung = Input.GetAxis("Vertical") * Vector3.forward * laufGeschwindigkeit;
    gesamtBewegung = horizontalBewegung + vertikalBewegung;
    }
    else { gesamtBewegung = 1.0f; }
    this.GetComponent<CharacterController>().SimpleMove(gesamtBewegung);
    }
    }

    Deine Datei nennt sich abc.txt.
    Diese willst du nun in ein Archiv packen ... einfach den Namen belassen, das .rar entfernen und .tar einfügen.


    Das ist ja das Problem. Es wird trotzdem eine .rar-Datei erstellt :/

    Zitat

    Grad ausgetestet, funktioniert.
    Einfach statt, .rar .tar hinzufügen.


    Meinst du beim Namen?
    Wenn ich daraus *.tar mache, wird es trotzdem eine *.rar :/

    Ich bin zu 85% Atheist und glaube kaum an Religion, daher denke ich auch nicht, dass man in den Himmel oder in die Hölle kommt
    Ich selber frage mich, wie es wohl ist zu sterben. Man kann nichts tun, nicht denken, nichtmal träumen.. Aber irgendwas muss ja
    passieren..


    Ich kann es mir garnicht vorstellen einfach "zu verschwinden". Das ist schon komisch, aber keiner kann wissen, was nach dem Tod
    kommt, daher heißt es: Abwarten! (*ironie*).

    Zitat

    Und für die Faulheit anderer Menschen das ändern?
    Nein, wieso auch?
    Würde man das in ruhe durchlesen, dann würde es keine falschen Post's geben.


    Darum gehts ja nicht.. Was ist, wenn sie mit ihrer "Faulheit" nicht aufhören. Dann gibt es
    2 Pawno-Bereiche, und DAS ist unnötig. Ich selber bin ab und zu im MTA Bereich unterwegs,
    fast alles darin dreht sich um SAMP statt um MTA.. Das sollte sich mal ändern..

    Und ausserdem nervt das tierisch, dass man im MTA Bereich keine Tutorials posten kann (oder kann man das bereits?)


    Ich wäre ebenfalls dafür, dass sich da was ändert, denn das nervt einfach wenn man "SAMP in MTA" reinkippt. Umbenennen
    wäre vielleicht ein guter Ansatz. Vielleicht statt "Scripting Base", "Pawno-Scripting" und "Lua-Scripting".. Dann merkt man es
    vllt schon eher ^^

    Sollte das nicht eher so aussehen o:


    Healthcheck:
    if(!WinActive("GTA:SA:MP")) {
    health := GetPlayerHealth() }
    if(health < 46 AND oldhealth >= 46){
    SendChat("/epa")
    SendChat("/drogennehmen")
    }
    oldhealth := health
    return