Beiträge von Zunno

    Wenn du jetz alle CreateObject mit CreateDynamicObject ersetzt darfst du auch nicht vergessen wenn du Objecte Löschen willst DestroyDynamicObject zu verwenden da DestroyObject keine Wirkung auf Objecte hat die mit CreateDynamicObject erstellt worden sind.
    Desweiteren musst du genau so bei MoveObject alle Objecte mit MoveDynamicObject bewegen lassen.


    Das soll nur eine kleine Info sein, damit da nicht vielleicht auch gleich probleme auftauchen ;)


    /Edit: Rechtschreibung ^^

    public OnPlayerConnect(playerid)
    {
    new string[60], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername);
    format(string, sizeof(string), "%s ist Online gekommen",sendername);
    SendClientMessageToAll(0x00FFFFFF,string);
    return 1;
    }


    Hier bitteschön :D


    /Edit: Einrückung verbessert

    preis = dtcKaufliste[ah][dtc_CarPreis];
    Desweiteren musst du gucken, du lässt in der Schleife eine weitere Schleife durchlaufen welche die Daten auf eine Variable packen. (Preis und car)
    Diese werden aber immer überschrieben da es nur ein wert speichern kann, und du diese nicht sofort auslesen lässt. somit kommt nur der "Roller" bei raus.
    Ich würde dir raten die Funktion nochmal von grund auf zu überdenken^^

    for(new pv = 0; pv < sizeof(AutohausVehs); pv++)
    {
    new car;
    new preis;
    for(new ah = 0; ah < sizeof(dtcKaufliste);ah++)
    {
    if(car == 0)
    {
    car = dtcKaufliste[ah][dtc_CarModel];
    preis = dtcKaufliste[ah][dtc_CarModel];
    }
    }
    new s[100];
    new Text3D: vehicle3Dtext;
    format(s, sizeof(s), "Autohaus\nFahrzeug: %s\nPreis: %d",VehicleName[car-400],preis);
    vehicle3Dtext = Create3DTextLabel( s, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
    Attach3DTextLabelToVehicle( vehicle3Dtext,AutohausVehs[pv] , 0.0, 0.0, 0.0);
    }


    verusch es mal so,



    LG, Zunno

    Zitat

    MoveObject(Gate,324.69921875, -1185.599609375-10,218.74877929688,5);

    damit vernderst du die Y Achse und nicht die Z Achse (Höhe) würde also nich den richtigen efekt bringen.


    Mein Tipp: verändere die Z Achte (je nach dem wo das Tor ist) auf ca 20.0 oder map es neu ;)

    Er meint damit das du beim Registrieren den Query

    SQL
    INSERT INTO `tabelle` (Name) VALUES(XYZ)


    benutzen musst damit du nachher mit

    SQL
    UPDATE `tabelle` SET `Feld` = '24' WHERE `Name` = 'XYZ'

    den Account speichern kannst ;)


    Lg,Zunno

    was willst du mit einem VServer wenn du nicht weißt wofür du ihn benutzen willst?
    Wenn du nicht weißt was du da drauf laufen lassen willst, dann würde ich mir keinen Vserver anschaffen. :rolleyes:

    so z.B.


    ocmd:gate(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1589, -1638, 14.800000190735)) //LSPD GaragenTor
    {
    if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid, 2))
    {
    MoveObject(tor[2],1589+8, -1638, 14.800000190735,2);
    SendClientMessage(playerid,Gelb,"Das Tor schließt in 7 Sekunden");
    SetTimer("LSPDGaragenGateClose",7000,false);
    return 1;
    }
    return 1;
    }
    return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/mv",true) == 0)
    {
    if(PlayerToPoint(25.0, playerid,3025,-1336.8866,13.3352))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    SetTimer("GateClose", 3000, 0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    MoveObject(LCNTor,1270.9865722656, -1337.7030029297, 5.112417221069, 2.0);
    SendClientMessage(playerid, COLOR_GRAD1,"** Du hast das Tor geöffnet, es schließt sich automatisch wieder!");
    }
    else SendClientMessage(playerid, COLOR_GRAD1, "** Du bist kein Beamter!");
    }
    }
    if(strcmp(cmdtext, "/motor",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }
    return 1;
    }

    Versuch es so:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/mv",true) == 0)
    {
    if(PlayerToPoint(25.0, playerid,3025,-1336.8866,13.3352,235))
    {
    if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
    {
    SetTimer("GateClose",3000 , 0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    MoveObject(LCNTor,1270.9865722656, -1337.7030029297, 5.112417221069, 2.0);
    SendClientMessage(playerid, COLOR_GRAD1,"** Du hast das Tor geöffnet, es schließt sich automatisch wieder!");
    }
    else SendClientMessage(playerid, COLOR_GRAD1, "** Du bist kein Beamter!");
    }
    }
    if(strcmp(cmdtext, "/motor",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }
    return 1;
    }


    /Edit: Einrückung verbessert

    Füg es mal so ein:
    ocmd:makeadmin(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid) && Player[playerid][admin] < 4) return SendClientMessage(playerid, COLOR_RED,"Dafür brauchst du Admin Level 4!");
    new pID,alevel;
    if(sscanf(params,"ud",pID,alevel)) return SendClientMessage (playerid,COLOR_RED,"USAGE: /makeadmin [playerid] [adminlevel]");
    if(!IsPlayerConnected(pID)) return SendClientMessage (playerid,COLOR_RED,"Niemand ist online mit dieser ID!");
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    Player[pID][admin] = alevel;
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast das Admin Level von %s auf %d gesetzt!",name,alevel);
    format(string2,sizeof(string2),"Server Besitzer %s hat dein Admin Level auf %d gesetzt!",aname,alevel);
    SendClientMessage(playerid,COLOR_GREEN,string);
    SendClientMessage(pID,COLOR_GREEN,string2);
    return 1;
    }


    /Edit: Dann kannst du dich ins RCON Einloggen und mit /makeadmin dich zum Admin machen ;)


    LG, Zunno

    Öhm ja....
    das was bei USAGE: /makeadmin [playerid] [adminlevel] steht bitte mal großräumig kopieren und hier mit den pwn BB-Code einfügen..