Beiträge von Growen


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    return 0; // <------- return 0; sollte da stehen
    }


    und beim CMD folgendes ändern:

    if(strcmp("/ckey", cmdtext, true, 10) == 0)
    {
    new mv = MaxVeh;
    if(mv > 1)
    {
    new car1id[256],car2id[256],car3id[256];
    Dtc_PlayerKey[playerid] = 1;
    strmid(car1id,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],0,strlen(CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400]),255);
    Dtc_PlayerKey[playerid] = 2;
    strmid(car2id,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],0,strlen(CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400]),255);
    Dtc_PlayerKey[playerid] = 3;
    strmid(car3id,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],0,strlen(CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400]),255);
    format(string,sizeof(string), "Fahrzeug %s\nFahrzeug %s\nFahrzeug %s\n",car1id,car2id,car3id);
    return ShowPlayerDialog(playerid,DIALOG_AUTOKEY,2,"Auto-Verwaltung",string,"Auswählen","Abbrechen"); //<---- Hier return
    }
    return 1;
    }


    sollte so gehen ;)

    Liegt entweder an der Hardware oder am Script wenns am Script liegt solltest du uns mal die Zeilen vom Registrieren geben.


    Vorher solltest du allerdings mal testen ob es ohne Registrieren geht .. also die einfach mal zum testen Umgehen/ausklammern

    dann amchs einfach so:


    ocmd:hausverkaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new Spieler[50],bool:hatHaus=false;
    format(Spieler,50,"/Spieler/%s.txt",PlayerName(playerid));
    if(strcmp(HausInfo[haus][haus_besitzer],PlayerName(playerid),false) == 0)
    {
    //...
    return hatHaus=true;
    }
    }
    if(hatHaus==false) return SendClientMessage(playerid,Rot,"Du hast kein Haus!");
    return 1;
    }



    oder wenns so ned geht lass die Nachricht weg ... wird er dann schon merken :D

    Wenn du direkt daneben stehst bleibt es die ganze Zeit geöffnet, geh mal en stück weiter weg nach merstellen.


    Denn in v3.0 können die Tore ja standartmäßig sich von selber öffnen.


    2.Möglichkeit:
    gebe mal /autogate ein


    Wenns dann trotzdem ned geht Melde dich nomma ;)


    So wie ich das sehen fragt er nur HausID 1 ab, denn Die Schleife fängt bei eins an und wird hiermit

    Zitat

    else
    {
    return SendClientMessage(playerid,Rot,"Du hast kein Haus!");
    }


    oder hiermit


    Zitat

    if(strcmp(HausInfo[haus][haus_besitzer],PlayerName(playerid),false) == 0)
    {
    //...
    return true;
    }


    gleich wieder beendet o.o


    d.h. entweder das erste Haus gehört dir oder nicht, mehr fragst du da im moment ned ab wegen dem:

    Zitat

    else
    {
    return SendClientMessage(playerid,Rot,"Du hast kein Haus!");
    }



    Merke: return beendet die Schleife ;)

    Gute Frage gute Antowrt ;)


    Es wird dort erstellt wo sich der Player befindet und in die richtung in die der Charakter schaut (Achtung: nicht die Kamera).
    Und ja man kann es dann genauer einstellen mit /editgate, dieser Befehl nutzt die neue Möglichkeit von 0.3e um Objekte peer Maus zu verschieben ;)


    EIn Video dazu kommt bald :)

    ja fast :D


    das Problem wird sein, das du vehicleid nicht herraus bekommen wirst.
    mach es am besten unter onGameModeInit so:



    public OnGameModeInit()
    {
    for(new i;i<MAX_PLAYERS;i++)
    {
    for(new f;f<MAX_VEHICLES;f++)
    {
    LoadFahrzeug(i,f);
    }
    }
    return 1;
    }


    ich hoffe das stimmt so denn, dass da noch der Spielername mit drin ist bringt mich um die Uhrzeit ausm Konzept :D

    Benutzt du kein Enum ? Weil das wäre viel einfacher bei Vielen Fahrzeugen...



    Zitat

    angle = dini_Int(Fahrzeugdatei,"PositionAngle");
    CreateVehicle(id,x,y,z,angle,0,0,-1000);
    return 1;

    hier solltest du dem Fahrzeug noch eine Globale Variable geben, egal ob Enum oder nicht.
    genauso wie beim KAuf eines Autos:


    ohne Enum:
    ganz oben eine Variable zb new carID[MAX_VEHICLES]



    carID[id]=CreateVehicle(id,x,y,z,angle,0,0,-1000);



    dabei ist das [id] von deiner Variable ;)

    Als erstes musst du jedem Fahzeug das am erstellt wird eine neue ID geben, denn sonst ist es so wie du sagst, du hast kein Plan welches Fahrzeug welche Id hat.


    Ich würde das so machen:

    enum
    {
    //deine Auto daten
    fID
    }
    new bsp[MAX][enum];


    public OnGameModeInit()
    {
    for(new i;i<MAX_VEHICLES;i++)
    {
    bsp[i][fID]=CreateVehicle(...)
    return 1;
    }
    }


    dann hat jedes Fahrzeug seine eigene ID.
    Natürlich musst du vorher noch die Daten des Fahrzeugs laden ;)

    Also, bei mir funktioniert es irgendwie nicht. Habe ein Tor gemappt, gehe hin mache /gatecreate gemacht und es funktioniert net.

    Du musst kein Tor Mappen, dies wird automatisch erstellt :)
    Bist du als RCON eingeloggt ?
    Das musst du nähmlich zum erstellen,löschen und editieren der Tore sein, nur zum öffnen muss man nicht Admin sein ;)


    kleine Idee, du machst nen kleines Public welches die Benutzer in ihren Gamemode einfügen können und z.B. als return [pMember] nehmen im Fall von Godfather so dass man bei der Torerstellung statt Skin die ID der Fraktion/Gang angibt.




    Jedoch das größte Problem wird dabei sein, dass nicht jeder Godfahter verwendet; es nicht immer pMember heißt; dass man es nicht Fraktionenabhängig sondern z.B. abhängig haben will; es nicht mit einem Godfather Server benutzt .D


    Da mir da auch nicht gleich was eingefallen ist, hab ich dies etwas umgangen indem ich das mit den Skins eingebaut haben, also damit nur ein bestimmter Skin ein Tor öffnen kann.
    Werde mir das aber nochmal durch den Kopf gehen lassen ;)



    mfg
    Growen