Beiträge von Pablo Borsellino

    Tag, heute fiel mir auf - und vor einiger Zeit auch, das meine DCMD Befehle die mit sscanf arbeiten nicht richtig funktionieren wenn ich die specifier "u", "r" o. "q" benutze. Dann wird immer die Zahl 0 egal bei welcher Eingabe von Namen zurückgegeben - z.B: /slap mit specifier "u" im Befehl:


    dcmd_slap(playerid,params[])
    {
    new Spieler,Text[52];
    if(sscanf(params,"u",Spieler))return SendClientMessage(playerid,0xAFAFAFFF," Benutze: /slap [Spieler]");
    if(!IsPlayerConnected(Spieler))return SendClientMessage(playerid,0xAFAFAFFF," Kein Spieler mit diesem Namen/dieser ID gefunden!");
    format(Text,sizeof Text,"Du hast %s (%d) geslappt.",SpielerInfo[Spieler][Name],Spieler);
    SendClientMessage(playerid,0xAFAFAFFF,Text);
    SlapPlayer(Spieler);
    return 1;
    }
    Online Liste:

    Zitat

    ID 0: [NPC]DeagleBot
    ID 1: [NPC]Flieger1
    ID 2: Pablo_Borsellino
    ID 3: Frank_Borsellino
    ID 4: [NPC]Roflkopter
    ID 6: Ro_Man


    Eingaben/Ausgaben:

    Code
    /slap 3 » Du hast [NPC]DeagleBot (0) geslappt!/slap 0 » Du hast [NPC]DeagleBot (0) geslappt!/slap 7 » Du hast [NPC]DeagleBot (0) geslappt!/slap 4 » Du hast [NPC]DeagleBot (0) geslappt!


    Hat jemand eine Lösung für dieses Problem parat? Habe die ganz normalen Datein in den richtigen Ordnern, und auch richtig eingebunden ins Script/in den Server - daran liegt es nicht.
    Greetz!

    Um den Bug im Fahrzeug zu vermeiden:
    new Var=GetPlayerVehicleID(playerid);
    RemovePlayerFromVehicle(playerid);
    SetPlayerSkin(playerid, 16);
    PutPlayerInVehicle(playerid,Var,0);
    //oder nur:
    new Var=GetPlayerVehicleID(playerid);
    SetPlayerSkin(playerid, 16);
    PutPlayerInVehicle(playerid,Var,0);
    Sollte eig. gehen. ;)

    Ohne den Code (Script Ausschnitt), kann dir hier kaum jemand helfen. Wenn du lieber Fernwartung via TeamViewer o.ä. möchtest - solltest du dies erwähnen. Niemand kann dein Problem lösen, wenn er nicht mal einsehen kann - wo das Problem/der Fehler steckt. Bitte denk nächstes mal daran, den benötigten Code mit zu posten, damit es zu keiner erhöten Wartezeit deiner sowie unserer Seite gibt.

    Julian: Du verstehst meinen Post falsch - und dies habe ich durch deine Verwarnung gerade besonders gemerkt. Ich kann lesen, was soll das den heißen? Den Link habe ich doch aus seinem Thread aufgegriffen - Witzbold. Mein Kentnissstand / Know-how zum Thema WBB Plugins ist geringfügig - zuvor dachte ich, er hat das komplette Plugin selbst gemacht - doch heute morgen fiel mir das Gegenteil auf. ;) Das du meinen Post direkt als unerwünschten Post (Spam) siehst, finde ich überflüssig - wenn du nicht mal richtig interpretiert hast, was ich mit dem Post aussagen wollte - Naja du bist der Kon-Administrator, und wiederstand wegen falscher Verwarnung einzulegen - wäre mit Sicherheit zwecklos.
    Greetz!


    Mein Vorschlag wäre das Speak to @Me Plugin. Dies bewirkt - wenn ein User einen anderen User in einem Thread/Post via name: anspricht, das der angesprochene User eine Benachrichtigung erhält & eine beim einloggen in das Auge stechende Infobox mit dem Vermerk das man von User X im Thema Y direkt angesprochen wurde. Dies hilft, wenn man zum Beispiel nicht immer zurückgreift auf Themen - in denen man hilft, da man diese vergisst - aber keine Lust hat diese zu abbonieren - da sonst etliche Benachrichtigungen erscheinen. Bei einem Lob - würde auch der gelobte schneller erfahren , das er gelobt ist durch die Benachrichtigung, falls der Threadersteller im Thema z.B. folgendes schreibt: Ein Lob an name:, einfach klasse Arbeit!.


    • Benutzer Rezensionen:



    Dieser Code funktioniert nur wenn du DCMD & sscanf im Script eingebunden hast & du musst die If-Abfragen ändern.


    Über den Befehlen /live & /tv:
    new bool:LiveModus[MAX_PLAYERS]=false,
    ImLiveModus[MAX_PLAYERS]=-1;


    Im Public OnPlayerCommandText:
    dcmd(live,4,cmdtext);
    dcmd(tv,2,cmdtext);


    Außerhalb andere Public's/Funktionen im Script:
    dcmd_live(playerid, params[])
    {
    #pragma unused params
    // if(playerid!=NACHRICHTENREPORTER)return SendClientMessage(playerid,0xAFAFAFFF," ** Du bist kein Nachrichtenreporter!");
    new Text[80],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof Name);
    if(LiveModus[playerid]==false)
    {
    format(Text,sizeof Text," ** %s hat die Live Ansicht gestartet! (Tippe /tv)",Name);
    SendClientMessageToAll(0xAFAFAFFF,Text);
    LiveModus[playerid]=true;
    return SendClientMessage(playerid,0xAFAFAFFF," ** Du hast den Live Modus gestartet!");
    }
    else if(LiveModus[playerid]==true)
    {
    LiveModus[playerid]=false;
    for(new Zuschauer=0;Zuschauer<MAX_PLAYERS;Zuschauer++)
    {
    if(ImLiveModus[Zuschauer]==playerid)
    {
    ImLiveModus[Zuschauer]=-1;
    format(Text,sizeof Text," ** %s hat die Live Ansicht beendet!",Name);
    SendClientMessage(Zuschauer,0xAFAFAFFF,Text);
    }
    }
    return SendClientMessage(playerid,0xAFAFAFFF," ** Du hast den Live Modus beendet!");
    }
    return true;
    }


    dcmd_tv(playerid, params[])
    {
    if(ImLiveModus[playerid]>=0)
    {
    TogglePlayerSpectating(playerid,0);
    SetCameraBehindPlayer(playerid);
    ImLiveModus[playerid]=-1;
    return SendClientMessage(playerid,0xAFAFAFFF," ** Du hast den Zuschauer Modus beendet!");
    }
    new Spieler;
    if(sscanf(params,"u",Spieler))return SendClientMessage(playerid,0xAFAFAFFF," ** Benutze: /tv [Name/ID]");
    if(!IsPlayerConnected(Spieler))return SendClientMessage(playerid,0xAFAFAFFF," ** Dieser Spieler ist nicht Online!");
    // if(SPIELER!=NACHRICHTENREPORTER)return SendClientMessage(playerid,0xAFAFAFFF," ** Dieser Spieler ist kein Nachrichtenreporter!");
    if(LiveModus[Spieler]==false)return SendClientMessage(playerid,0xAFAFAFFF," ** Dieser Spieler hat den Live Modus nicht gestartet!");
    TogglePlayerSpectating(playerid,1);
    PlayerSpectatePlayer(playerid,Spieler,SPECTATE_MODE_FIXED);
    return SendClientMessage(playerid,0xAFAFAFFF," ** Du hast den TV Modus gestartet! (Beenden per /tv)");
    }

    Benutz blinkende Lichter. Sind nicht die schicksten, aber während der Fahrt leuchtende Objekte an Fahrzeuge ranmachen ist unschön. Desshalb empfehle ich die blinkenden Lichter. Wenn du willst (via PN) verrate ich dir auch gerne - wie man die Lichter an ein Fahrzeug anheftet - ohne das diese abgehen (egal in welcher Rotation sich das Fahrzeug befindet! Ohne das Objekt neu ranzumachen.


    $!lv3rR4!n: Doch. ;)


    Cal44: Und das bringt: '_' Genau, keine Änderung außer der Attributen des Lichtes (Größe & Farbe).

    stock CreateExplosionEx(Float:X,Float:Y,Float:Z,Typ,Range)
    {
    CreateExplosion(X,Y,Z,Typ,Range);
    return 1;
    }
    zu:
    CreateExplosionEx(Float:X,Float:Y,Float:Z,Typ,Range)
    {
    printf("[DEBUG] CreateExplosionEx(%f,%f,%f,%d,%d);",X,Y,Z,Typ,Range);
    CreateExplosion(X,Y,Z,Typ,Range);
    return 1;
    }


    Und schauen ob es Explosionen gibt & was in der Konsole ausgegeben wird.

    Erstmal zum Thema Ressourcen, mach am besten folgendes:
    #define MAX_NAGELBAENDER 30
    Und alle Zahlen: 9999 ersetzt du mit MAX_NAGELBAENDER
    Wer hat schon 9999 Nagelbaender auf dem Server, geschweige denn 1000 o. 50!
    Die Range bei IsPlayerInRangeOfPoint erhöhen, sonst müsste der Spieler exact in der mitte des Nagelbandes sein.


    Cal44: Ist so eine Tonlage (Schriftlich) wirklich passend? Er kann nicht alles wissen, er ist ein Mensch!


    @S!lv3rR4!n: Doch, man kann sogar bestimmen welche Räder man genau zerstören möchte: » Klick mich «

    Entschuldige, bin müde und habe kaum Konzentration für Pawno:
    SetTimerEx("CreateExplosionEx",1000,false,"fffdd",BombeX[playerid],BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",2000,false,"fffdd",BombeX[playerid]+5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",2500,false,"fffdd",BombeX[playerid]-5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",3000,false,"fffdd",BombeX[playerid],BombeY[playerid],BombeZ[playerid]+5,6,999);
    SetTimerEx("CreateExplosionEx",3500,false,"fffdd",BombeX[playerid],BombeY[playerid],BombeZ[playerid]-5,6,999);
    SetTimerEx("CreateExplosionEx",4500,false,"fffdd",BombeX[playerid]+5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",5000,false,"fffdd",BombeX[playerid]-5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",5500,false,"fffdd",BombeX[playerid]+5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",6000,false,"fffdd",BombeX[playerid]-5,BombeY[playerid],BombeZ[playerid],6,999);
    SetTimerEx("CreateExplosionEx",5000,false,"fffdd",BombeX[playerid],BombeY[playerid],BombeZ[playerid]+5,6,999);