Beiträge von Kaliber

    So:


    //Unter OnGameModeInit
    SetTimer("@No_Weapons", 1000, 1);


    //Irgendwo im Script (nur in keinem Callback)
    @No_Weapons();@No_Weapons() {
    for(new i; i<MAX_PLAYERS; i++) if(GetPlayerScore(i) <= 3 && IsPlayerConnected(i)) SendClientMessage(i,ROT,"Du bist kein Level 3 und kannst deswegen keine waffen tragen!"),ResetPlayerWeapons(i);
    return 1;
    }


    mfg. :thumbup:

    Versuchs mal so:


    if(!strcmp(cmd,"/enter",true)) {
    if(IsPlayerInRangeOfPoint(playerid,4.0,1025.4730,-1032.6969,31.8924)) {
    if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid,2490.1204,-1621.3774,708.1284);
    else SetVehiclePos(GetPlayerVehicleID(playerid),2490.1204,-1621.3774,708.1284),LinkVehicleToInterior(GetPlayerVehicleID(playerid),0); //Hier evtl auch anpassen die 0
    SetPlayerInterior(playerid,0); //Ob 0 hier stimmt?!
    }
    else if(IsPlayerInRangeOfPoint(playerid,4.0,2490.1204,-1621.3774,708.1284)) {
    if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid,1025.4730,-1032.6969,31.8924);
    else SetVehiclePos(GetPlayerVehicleID(playerid),1025.4730,-1032.6969,31.8924),LinkVehicleToInterior(GetPlayerVehicleID(playerid),0);
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }


    mfg. :thumbup:

    Les doch einfach, was der Autor des Editors dazu sagt:


    Zitat von Zamaroht

    Important:
    - Remember, to be able to use your creations, you have to select the Export option from the menu. The .tde and .lst files are used internally by the Editor, and are not meant to be modified or used by humans.


    Sprich, mit der Datei sollst du gar nichts machen ^^


    mfg. :thumbup:

    Hey, stehe grad echt aufm Schlauch..
    Wie kann ich Variablen returnen?


    Immer wenn ich die returnen will kommt ingame ein Wert von 11, obwohl mir als der Wert der Variable in der Console 81 oder Ähnliches angezeigt wird.
    Könnt ihr mir helfen?


    Mich würde interessieren, wie dein Code aussieht...man kann das z.B. so machen:


    printf("%d",Test()); //Würde 81 printen


    Als Funktion:
    stock Test() return 81;
    //oder
    Test() return 81;
    oder als Makro:
    #define Test() 81


    mfg. :thumbup:

    Und wie kann ich die benutzen, beispiel wäre nett :)


    Nun, ganz einfach so:


    public OnPlayerUpdate(playerid) {
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);

    if(ud == KEY_UP) SendClientMessage(playerid, -1, "UP");
    else if(ud == KEY_DOWN) SendClientMessage(playerid, -1, "DOWN");

    if(lr == KEY_LEFT) SendClientMessage(playerid, -1, "LEFT");
    else if(lr == KEY_RIGHT) SendClientMessage(playerid, -1, "RIGHT");

    return 1;
    }


    mfg. :thumbup:

    @Music4You:


    Das würde zu Fehlern kommen, wenn der Spieler im Dialog ist und gleichzeitig wer anders im Dialog ist und dann würde der andere die ID vom anderen übernehmen ;)


    Deshalb muss man das nochmal Spielerspezifisch machen, sprich so:


    new nameid[MAX_PLAYERS char];//oben im script.


    ocmd:kick(playerid,params[])
    {
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Red,"Eingabe: /kick [ID] [Grund]");
    format(string,sizeof(string),"%s hat %s gekickt! Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
    SendClientMessageToAll(Red,string);
    ShowPlayerDialog(playerid,DIALOG_KICK,DIALOG_STYLE_MSGBOX,"Kick","Möchtest du den Spieler wirklich kicken?","Ja","Nein");
    nameid{playerid}=pID;
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_KICK) {
    if(!response) return SendClientMessage(playerid,Red,"Du hast den Vorgang abgebrochen!"),nameid{playerid}=0;
    return Kick(nameid{playerid});
    }
    return 1;
    }


    mfg. :thumbup:

    Schreibs so:


    ocmd:gotocoords(playerid, params[]) {
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Hellrot,"* Du bist dazu nicht befugt.");
    new Float:Pos[3],string[128];
    if(sscanf(params,"fff",Pos[0],Pos[1],Pos[2]))return SendClientMessage(playerid,Grau,"FEHLER: /gotocoords [Koordinaten]");
    if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),Pos[0],Pos[1],Pos[2]);
    else SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    format(string,sizeof(string),"* Du hast dich zu den Koordinaten %i %i %i teleportiert.",Pos[0],Pos[1],Pos[2]);
    SendClientMessage(playerid,Gelb,string);
    format(string,sizeof(string),"%s hat den Befehl /gotocoords benutzt. (Nur zur Info!)",SpielerName(playerid));
    print(string);
    return 1;
    }


    mfg. :thumbup:

    Ja, diese kleine Operation dauert halt keine ms, sondern nur ns...


    Mach eine Schleife mit einem Wert von 1000 dazwischen oder so und du wirst merken, er gibt dir ms aus ;)


    mfg. :thumbup: