Beiträge von Kaliber

    Landmode auf 0 stellen LANMODE 1 = Online = Keine spieler zulassen...


    So ein Quatsch :wacko:


    Der Punkt ist einfach, entweder du gehst auf "www.wieistmeineip.de" und gibst diese IP-Addresse deinem Bruder und schaltest den Port 7777 auf deinem Router frei oder du verwendest Hamachi :rolleyes:


    PS: Das bind brauch man nicht für Localhost Server...


    //Edit:
    Du solltest das Nächste mal nicht den Namen deines Gamemodes zensieren, sondern das Rcon-Passwort ;)


    mfg. :thumbup:

    Schreib es einfach so:


    new const cars[20] = {417,425,447,460,469,476,487,488,497,511,512,513,519,520,548,553,563,577,592,593};


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetPVarInt(playerid,"Flugschein")) return 1;
    for(new i; i<sizeof(cars); i++) {
    if(GetVehicleModel(vehicleid) != cars[i]) continue;
    return RemovePlayerFromVehicle(playerid),SendClientMessage(playerid,rot,"** Du hast keinen Flugschein.");
    }
    return 1;
    }


    mfg. :thumbup:

    WantedLabel


    Da wo du das deklarierst (new WantedLabel) ein Text3D: davor schreiben ;)


    warning 203: symbol is never used: "Weapons"


    Da handelt es sich wohl um eine Variable die du nicht benutzt, wenn ja diese löschen (oder ein stock davor setzen, wenn sie global deklariert ist) ;)


    warning 203: symbol is never used: "ret_memcpy"


    Kannst oben in dein Script (unter die Includes) #pragma unused ret_memcpy schreiben oder es ignorieren ;)


    mfg. :thumbup:

    Und so geht das immer weiter.


    Benutzt du zufällig öfter Sleep, wo du auch a eingegeben hast? :huh:


    BZW hast du was an den Makros verändert oder rufst du die Funktion bei dir öfters auf? :huh:


    Ich verstehe diese <a> nicht? Muss das benutzt werden kannst mir das mal erklären mit i also Spieler und a?


    Les dir den Text doch nochmal genau durch, habe doch eine genaue Erklärung dafür...bzw schau dir das Makro an ^^


    mfg. :thumbup:

    Neiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiin


    Du musst halt versuchen, das alles auf der 1. Ebene zu regeln, dass sollte eigentlich auch relativ gut möglich sein...musst halt ein paar Dinge anpassen und mit den Pausen spielen ;)


    mfg. :thumbup:

    Besser macht es das trotzdem nicht :d


    Weil du den Text immer noch nicht gelesen hast -.-


    Schau mal, der Code ist nur nutzbar, solange er auf der 1. Lokalen Ebene ist!


    public / stock Test()
    {
    //Hier nur möglich!!
    if() { /*Hier nicht möglich!! 2. Lokale Ebene */ }
    switch() case: /*Hier nicht möglich!! 3. Lokale Ebene */
    }


    mfg. :rolleyes:

    Ich bekomme leider ein paar Fehler *sad*


    Weil du meinen Text nicht richtig gelesen hast :rolleyes:


    Das funktioniert leider nur so:


    forward TutorialTimer(playerid,npcid);
    public TutorialTimer(playerid,npcid)
    {
    new string[128];
    if(TutTime[playerid] > 1) return 1;
    TutTime[playerid] = 2;
    ApplyAnimation(Medic,"MEDIC","CPR",4.1,0,1,1,1,1);
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    pSleep(1000)<a,"i",playerid>; //pSleep da du playerid für die SendClientMessage brauchst
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    pSleep(1000)<b,"i",playerid>; //pSleep da du playerid für die SendClientMessage brauchst
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    return 1;
    }


    mfg. :thumbup:

    weist du auch wie man zb mehrere isplayerinrage abfragen darein packen kann?


    Kannst es so machen:


    //oben in dein Script btw 2 ist die Anzahl deiner Koordinaten ;)
    static const Float:ranges[2][3] = {
    {0.0, 0.0, 0.0}, {5.0, 1.0, 5.0} //hier alle deine Koordinaten rein
    };


    //und dann in deinem Befehl
    new bool:ok,x;
    for(; x<sizeof(ranges); x++) {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,ranges[x][0],ranges[x][1],ranges[x][2])) continue;
    ok = true;
    break;
    }
    if(!ok) return SendClientMessage(playerid,-1,"Du befindest dich nicht an einem bestimmten Ort!");
    //und hier unten dann dein Rest-Code


    mfg. :thumbup:

    Dann musst du den Befehl so schreiben:


    ocmd:makeadmin(playerid,params[])
    {
    new alevel,pid;
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,rot,"Du bist kein Adminstrator und darfst diesen Command nicht nutzen!");
    if(sscanf(params,"ud", pid, alevel))return SendClientMessage(playerid,rot,"Befehl: /makeleader [SpielerID] [Adminlevel (1-3)");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online!");
    if(GetPVarInt(pid,"Adminlevel") == alevel) return SendClientMessage(playerid,rot,"Dieser Spieler hat schon das gewünschte Adminlevel!");
    SetPVarInt(pid,"Adminlevel",alevel);
    SendClientMessage(pid,blau,"Du bist nun ein Adminstrator/Supporter");
    SendClientMessage(playerid,rot,"Der Spieler wurde zum Adminstrator gemacht.");
    return 1;
    }


    mfg. :thumbup:

    Schreib das mal so:


    ocmd:makeadmin(playerid,params[])
    {
    new alevel,pid;
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,rot,"Du bist kein Adminstrator und darfst diesen Command nicht nutzen!");
    if(sscanf(params,"ud", pid, alevel))return SendClientMessage(playerid,rot,"Befehl: /makeleader [SpielerID] [Adminlevel (1-3)");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online!");
    if(IstSpielerAdmin(pid,alevel)) return SendClientMessage(playerid,rot,"Dieser Spieler hat schon das gewünschte Adminlevel!");
    SetPVarInt(pid,"Adminlevel",alevel);
    SendClientMessage(pid,blau,"Du bist nun ein Adminstrator/Supporter");
    SendClientMessage(playerid,rot,"Der Spieler wurde zum Adminstrator gemacht.");
    return 1;
    }


    mfg. :thumbup:

    Also...ich war gerade auf dem Server, habe geairbreaked und hab nur gecheatet, mich teleportiert und fly-hack genutzt und auch richtig lange und extrem...nix passiert? :huh:


    Solltest vielleicht nochmal überarbeiten?!


    mfg. :rolleyes:

    Schreib es so, dann ist es besser:


    public OnPlayerText(playerid, text[])
    {
    new Float:Q[3],string[128],i;
    GetPlayerPos(playerid,Q[0],Q[1],Q[2]),format(string,sizeof(string),"%s sagt: %s",PlayerName(playerid), text);
    for(; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i,30.0,Q[0],Q[1],Q[2])) continue;
    SendClientMessage(i,0xF0F0F0FF, string);
    }
    return 0;
    }


    mfg. :thumbup: