Beiträge von Kaliber

    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:

    Sehr gute lösung in einer schleife ein return zu nutzen damit die nachicht auch nur ein spieler bekommt...


    Da vertut sich einmal Jeffry... :whistling:


    Schreis so:


    public OnPlayerText(playerid, text[])
    {
    new Float: pos[3], rad = 20, i, str[128];
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]),format(str,sizeof(str),"%s : %s",SpielerName(playerid),text);
    for(; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i, rad, pos[0], pos[1], pos[2])) continue;
    SendClientMessage(i,0xDCDCDCFF,str);
    }
    return 0;
    }


    mfg. :thumbup:

    Ja, sie wird erstellt...
    Was soll ich mir da angucken? ...
    Steht ja "Admin=5"...


    Kann es sein, dass du nirgends "SpielerLaden(playerid)" aufrufst?


    Solltest das mal überprüfen, wenn du das aber auch tust, liegt ein Fehler im Include oder so vor, dann wende dich mal an Hauke ;)


    mfg. :thumbup:

    Hast du denn mal in die Datei geschaut, also wird diese überhaupt erstellt und wenn ja, dann schau dir doch mal an, was da so drinnen steht :rolleyes:


    Normalerweise sollte das so funktionieren ;)


    mfg. :thumbup: