Beiträge von Kaliber

    Das macht man so:


    if(IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z) || IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z))
    {
    //Hier ist er in der Nähe von einem von den 2 Punkten
    }
    else return SendClientMessage(playerid,rot,"Du bist nicht in der Nähe von was weiß ich !");


    mfg. :thumbup:

    Woher hast du die Idee?


    Langeweile :D


    An solch einem Projekt sitzen wir gerade.
    Syntax Highlighter, On Demand Compiling, automatische Fehleranalyse etc.


    Hört sich gut an, ich war zu faul es so ausführlich zu machen, mein Ding sollte lediglich dazu dienen, dass man Codeschnipsel online festhalten kann ;)


    Aber wenn ihr so einen richtiges "Programm" mit Compiler etc. schreiben wollt, viel Spaß :)


    mfg. :thumbup:


    :D das funktioniert so nicht ! Da würde dann 1 stehen :D


    Man muss das so machen:


    ocmd:test(playerid,params[])
    {
    new count = 0, i;
    for(; i<MAX_VEHICLES; i++)
    {
    count++;
    }
    new string[128];
    format(string,128,"Es befinden sich %d Autos auf dem Server",count);
    SendClientMessage(playerid,grey,string);
    return 1;
    }


    mfg. :thumbup:

    Dann bekomm ich folgendes:
    D:\Sherif\Server\gamemodes\Selfmade.pwn(535) : warning 219: local variable "min" shadows a variable at a preceding level


    Ja, dann verwendest du die Variable auch schon in deinem Script :D


    Nenne sie halt "min98" :D


    mfg. :thumbup:

    Also wenn ihr das schon macht, dann sollte das so aussehen:


    In ocmd:


    Spoiler anzeigen
    ocmd:changename(playerid, params[])
    {
    new name[24], neu[24], pID, string[128];
    if(sscanf(params,"us",pID,neu)) return SendClientMessage(playerid,rot,"Verwendung: /changename [spielerid] [neuername]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
    GetPlayerName(pID, name, 24);
    format(string, 128,"Der Name von %s wurde auf %s geändert !",name,neu);
    SendClientMessageToAll(rot, string);
    SetPlayerName(playerid, neu);
    return 1;
    }


    In strcmp:


    Spoiler anzeigen
    if(!strcmp(cmd, "/changename", true))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /changename [spielerid] [neuername]");
    new name[24], neu[24], pID = strval(tmp), string[128];
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /changename [spielerid] [neuername]");
    GetPlayerName(pID, name, 24);
    format(neu, 24, "%s", tmp);
    format(string, 128,"Der Name von %s wurde auf %s geändert !",name,neu);
    SendClientMessageToAll(rot, string);
    SetPlayerName(playerid, neu);
    return 1;
    }


    mfg. :thumbup:

    Was schreibst du da auch für einen Mist !!! 8|


    Schreib das mal so:


    ocmd:ooc(playerid,params[])
    {
    new string[128],text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,BLAU,"/ooc [Text]");
    if(isPlayerAnAdmin(playerid,5)) format(string,sizeof(string),"( (ServerOwner %s:%s ) )",SpielerName(playerid),text);
    else if(isPlayerAnAdmin(playerid,4)) format(string,sizeof(string),"( (Servermanager %s:%s ) )",SpielerName(playerid),text);
    else if(isPlayerAnAdmin(playerid,3)) format(string,sizeof(string),"( (Super Adminstrator %s:%s ) )",SpielerName(playerid),text);
    else if(isPlayerAnAdmin(playerid,2)) format(string,sizeof(string),"( (Adminstrator %s:%s ) )",SpielerName(playerid),text);
    else if(isPlayerAnAdmin(playerid,1)) format(string,sizeof(string),"( (Moderator %s:%s ) )",SpielerName(playerid),text);
    else return 1;
    SendClientMessageToAll(ooc,string);
    return 1;
    }


    mfg. :thumbup:

    Da steht doch ein ausführliches Beispiel :huh:


    if (!strcmp(cmdtext, "/test camera vector")) //aus dem Wiki
    {
    new
    Float:fPX, Float:fPY, Float:fPZ,
    Float:fVX, Float:fVY, Float:fVZ,
    Float:object_x, Float:object_y, Float:object_z;

    // Change me to change the scale you want. A larger scale increases the distance from the camera.
    // A negative scale will inverse the vectors and make them face in the opposite direction.
    const
    Float:fScale = 5.0;

    GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
    GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);

    object_x = fPX + floatmul(fVX, fScale);
    object_y = fPY + floatmul(fVY, fScale);
    object_z = fPZ + floatmul(fVZ, fScale);

    CreateObject(345, object_x, object_y, object_z, 0.0, 0.0, 0.0);

    return 1;
    }


    mfg. :thumbup:

    Ich gebe dir mal eine Grundlage:



    new bool:var; //halt oben noch ins Script


    if(!strcmp(cmd, "/mv", true))
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z)) // X,Y,Z durch die tor coords ersetzen
    {
    if(IsALcn(playerid))//Abfrage anpassen
    {
    if(var)
    {
    MoveObject(lcntor, ....); //Hier das tor zu machen
    var = false;
    }
    else
    {
    MoveObject(lcntor, ....); //Hier das Tor auf machen
    var = true;
    }
    }
    }
    return 1;
    }


    Ich hoffe das hilft dir soweit weiter ^^


    mfg. :thumbup: