Beiträge von IPrototypeI

    schau dir doch mal den Syntax an


    MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX, Float:RotY, Float:RotZ);


    zum vergleich dein code


    MoveObject(Gate,3000,316.70001220703,-1183.3000488281,80.099998474121,0,0,0);


    hier wird klar das du zum einen die objekt id drinnen stehen hast was falsch ist.


    in dem moment wo du


    gate = CreateObject.... machst werden die ganzen daten an die variabel übergeben also das script weiß welches objekt sich unter gat befindet


    was dir auch noch fehlt ist zum einen die geschwindigkeit als wie viele "Floateinheiten" sich das objekt bewegen soll pro sekunde.

    Hallo Rocky,


    wie dir ja auch ihrgend wann man per PN mitgeteilt hatte habe ein kleinen codeschnipsel datu gepostet


    sieh hier
    du kannst das ganze per mysql und der netten ordner funktion machen dazu wäre es danach noch sinnvol die ganzen Daten mit TRUNCATE TABLE wieder aus der tabelle zu entfernen
    http://forum.sa-mp.de/san-andr…Ctzliche-codeschnipsel-39


    zu dem hast du noch die möglichkeit eine seite weiter dahinter das ganze per quicksort beziehungsweise array-sortierung zu machen .


    Was du am besten beachten solltest ist die Zeit die du bei rtime bekommst zu ordnen.

    sollte so gehen


    if(strcmp(cmd, "/motor", true) == 0)
    {
    new vid = GetPlayerVehicleID(playerid), string[64];
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Du bist in keinem Fahrzeug.");
    if(IsAFahrrad(vid)) return SendClientMessage(playerid, COLOR_GRAD2, "Fahrräder haben keinen Motor.");
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    GetVehicleParamsEx(vid, engine, light, alarm, doors, bonnet, boot, objective);
    if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET){
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, light, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "* %s betätigt die Zündung. Der Motor springt an!", SpielerName(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }else{
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, light, alarm, doors, bonnet ,boot, objective);
    format(string, sizeof(string), "* %s stellt den Motor ab.", SpielerName(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    return 1;
    }


    zum einen hast du if(IsAFahrrad(vid)) und gibst zum schluss die else abfrage falls da snicht so sein sollte also wird dir bestimmt ein message ausgeben ich geh mal davon aus das
    diese funktion den wert 1 zurück gibt und den string brauchst du auch nicht so groß machen ein name hat nur maximal 16 Zeichen und der text wird zusätzlich auch nicht aus
    48 Zeichen bestehen.

    hier

    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }


    für die funktionen reicht es in maddins tutorial zu schauen jedoch bietet sich es mehr an das ganze mit hilfe von sscanf zu laden zum ersten ist das ganze nicht so umständlich
    und zum zweiten ist es auch viel weniger code und ressourcen schonender

    dazu brauchst du einen string
    siehe beispiel:


    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));


    zum thema speichern
    kannst du das so als string verpacken

    GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 16);


    und dann als string abspeichern ich map generel diese stocks nicht da werden nur unötig viele querys aufgerufen


    genau so wie beim laden :D

    Zu dem kannst du ja hier rat suchen und dich auch falls du nicht scripten solltest das dir aneignen ich muss sagen 50 Euro für bug fixxes da wärst du dumm wenn du überhaupt geld für sowas aus gibst
    und zu dem so viel.


    Da schließ ich mich der Meinung von RTF an

    Ich hoffe euch die hier ein code gepostet haben euch bewusst ist das ihr hier alle das return 1; vergessen habt.


    das ergebnis die nachricht wird zwar ausgegeben und noch dahinter Unknow Command.

    Ich persönlich muss sagen das die Bank vom Aufbau und von der Idee beziegungsweise kreativität sehr gut ist nur gibt es diese kleine Mängel die
    du beseitigen könntest , wie bei den Fenstern oder die Decke die mir zu niedrig ist .
    Im großen und ganzen hast du ein gut Map kreiert und für deine erste , welche du hier veröffentlicht hast . Konntest du ja schonmal zeigen das
    du auch als Mapper potenzial hast.

    Wo findet man diese Wände , würde die auch gerne haben , weil alle Mappen damit ^^


    ansonsten ganz gut bis auf den TV Raum ist ziemlich groß.


    download dir dem samp mapeditor


    http://forum.sa-mp.com/showthread.php?t=282801


    objekte findest hier


    http://www.k-dst.de/


    und viel spaß :D


    _____________________________


    Die Map ist gut geworden nur wäre es wohl besser gewesen wenn sie als begehbares interior in einem Haus integriert wäre ^^.
    wegen den Fenstern da kann man ja wunderbar ins blaue nix schauen :D

    Um abzufragen in welcher Zone sich ein Spieler befindet benutzt du eine forschleife und prüfst das ganze mit IsPlayerInArea
    und wenn er in einer ist lässt du die schleife abbrechen mit break;


    zu dem sollte dir mal bewusst sein das du die daten der Zonen speichern muss. Bei dir wäre es der neue besitzer später kannst du weitere variabeln folgen lassen.


    dann setzt mal die ganzen zonen in ein array.

    enum zonen {
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY,
    }
    #define MAX_ZONEN 6
    new ZonenInfo[MAX_ZONEN][zonen] = {
    {2203.125, -1980.46875, 2531.25, -1734.375},
    {1951.171875, -1939.453125, 2097.65625, -1751.953125},
    ......
    };


    dann kannst du das ganze dann per for schleife erstellen lassen und auch die farbe hinzufügen anhand der gespeicherten fraktion

    ocmd:score(playerid,params[])
    {
    new pName[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME+10],pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Benutzung: /score <playerid>");
    GetPlayerName(pID,pName,MAX_PLAYER_NAME);
    format(string,sizeof(string),"Name: %s",pName);
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Geld: %d",GetPlayerMoney(pID));
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Level: %d",GetPlayerScore(pID));
    SendClientMessage(playerid,-1,string);
    return 1;
    }


    hier bitte