Beiträge von tonyalva


    COMMAND:licenses(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return cmd_licenses(playerid,playerid); //SendClientMessage(playerid,COLOR_GREY,"[Benutzung]: /licenses [Spieler]");
    new string[128];
    format(string,sizeof(string),"|_________Lizenzen von %s_________|",PlayerName[playerid]);
    SendClientMessage(pID,COLOR_LIGHTBLUE,string);
    if(PlayerInfo[playerid][pCarLic] == 1) { format(string,sizeof(string),"Führerschein: Bestanden. (%d/%d) Strafpunkten",PlayerInfo[playerid][pCarPoints],MAX_CAR_POINTS); }
    else if(PlayerInfo[playerid][pCarEntzogen] >= 1) { format(string,sizeof(string),"Führerschein: Nicht bestanden (entzogen) | %d Stunden Sperre",PlayerInfo[playerid][pCarEntzogen]); }
    else if(PlayerInfo[playerid][pCarLic] == -1) { format(string,sizeof(string),"Führerschein: Nicht bestanden (entzogen)"); }
    else { format(string,sizeof(string),"Führerschein: Nicht bestanden."); }
    SendClientMessage(pID,COLOR_GREY,string);
    format(string,sizeof(string),"* %s zeigt %s seine Lizenzen",PlayerName[playerid],PlayerName[pID]);
    SendRangeMessage(30,playerid,string,Purple);
    return 1;
    }


    Sorry, wegen der Einrückung, es wollte nicht so, wie ich es wollte..
    Ja, ich wusste übrigens was der Error bedeutet, ich habe es mir allerdings so gedacht:
    Da der Parameter einen Namen oder eine ID des Spielers verlangt, sende ich als Parameter die ID des Spielers, der den Befehl getippt hat.
    Ansonsten hatte ich auch keine Idee, daher ja auch die Frage :P


    Grüße,
    tony

    Mh,


    Wie es mit einem Kick / einer Message usw. funktioniert, ist mir ja bewusst, allerdings klappt die Angabe des Parameters so nicht.
    error 035: argument type mismatch (argument 2)


    Wenn der Code deiner Ansicht nach "eigentlich" schon richtig war, dann müsste er doch klappen :P


    Ich weiß auch gerade nicht, wie ich es sonst anstellen muss, der ZCMD/Sscanf-Thread im englischen SAMP-Forum hat mir da ebenfalls nicht geholfen..


    Grüße,
    tony

    Ok,


    doof formulierte Fragestellung, mh? :P


    Dann eben neu:
    Falls es möglich ist, wie stelle ich dies am besten an?
    Könntest du mir ein Beispiel dafür geben, oder mir sagen, wo ich dies "lernen" kann?


    Grüße,
    tony

    Hey,


    eine kurze Frage:


    Ist es möglich, dass wenn in einem Befehl kein Parameter gewählt wird, der Parameter die eigene Spieler-ID annimt?
    Also beispielsweise so:


    if(sscanf(params,"u",pID)) return cmd_licenses(playerid,playerid);


    So klappt es natürlich nicht, aber ich denke, man kann das Prinzip verstehen :)
    Für Befehle benutze ich ZCMD, falls diese Information notwendig ist.
    Dadurch könnten einige meiner Befehle ziemlich kürzer werden..


    Grüße,
    tonyalva

    Hey,


    du könntest für jede Fahrzeugklasse eine eigene Abfrage in Form von Switch & Case benutzen.
    Darin fragst du die Model-ID des jeweiligen Fahrzeuges ab.
    Ein Nachteil wäre halt, dass du jedes einzelne Fahrzeug einzeln zurordnen müsstest.


    Grüße,
    tonyalva

    Btw,


    es lag wohl daran (damit du es in Zukunft weißt):


    SpielerName[pID],SpielerName(playerid)


    Entweder "[]" oder "()", nicht beides :P


    Grüße,
    tonyalva

    Hey,


    erstmal:


    if(GetPVarInt(playerid,"Fraktionsid")==2)
    {
    format(string,sizeof(string),"Ein neuer Auftrag ist verfügbar! Ziel: ID:%d",pID);
    SendClientMessage(playerid,GELB,string);
    }


    Diese Nachricht wird nur an den Spieler, der den Contract in Auftrag gibt, sofern er Fraktionsid 2 hat, gesendet.
    Wenn du willst, dass die Nachricht alle Hitmen bekommen, musst du die Spieler mit einer Schleife durchgehen.


    Zu deinem Problem:


    OnPlayerDeath benutzen..
    Wenn der Spieler einen Contract hat, killerid das Geld geben, die Variable auf 0 setzen.
    Kannst das System allerdings noch um /contract ID Summe ergänzen.. :)


    Grüße,
    tonyalva

    naja gut denn werde ich es wohl raus nehmen müssen ..


    Du musst es nicht rausnehmen.
    Schaue dir einfach den Eintrag im Wiki an, welchen Trooper auch schon erwähnt hat.
    Du kannst in keiner ClientMessage einen Platzhalter verwenden, nur so als Tipp.
    Bei so einer "Moral" lernst du nichts :)


    Grüße,
    tony

    In deinem Befehl benutzt du diesen Code:


    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) + 1);


    Den 2. Teil davon kannst du dann benutzen.
    Das müsstest du schon hinbekommen..


    Grüße,
    tony

    Hey,


    wie kommst du denn auf dieses Ergebnis?

    Zitat

    GetPlayerWanted(Wanted < 0)


    Wenn "Wanted" kleiner ist als 0..
    Abgesehen davon, muss dort ein Parameter für Spieler-ID´s hin.


    Du musst genau wie bei deinem "wantedgeben" - Befehl die Wanteds auslesen.
    Wenn diese größer als 0 sind, den Rest ausführen.


    Grüße,
    tonyalva

    if(sscanf(params,"uis",pID,Wantedlevel,reson))return SendClientMessage(playerid,GELB,"/su [playerid] [Wanted] [Grund]");


    SetPVarInt(pID,"Wanted",Wantedlevel ++);


    Muss es dann nicht:
    SetPVarInt(pID,"Wanted",GetPVarInt(pID,"Wanted") += Wantedlevel);
    heißen?


    Ansonsten bekommt man doch nur ein Wanted dazu?
    Oder WantedLevel + 1?
    Ich bin mir nicht ganz sicher, allerdings glaube ich nicht, dass die Lösung richtig ist.


    //Edit: Übersichtlichkeit, die BB-Codes wollten nicht so, wie ich es wollte :P


    Grüße,
    tonyalva

    Da fällt mir spontan nur ein Textdraw ein, der über den ganzen Bildschirm geht und halt schwarz ist.
    Nach 5 Sekunden benutzt du dann halt "TextDrawHideForPlayer", damit er alles wieder normal sieht.


    Grüße,
    tony

    Nein ich habe den Prox Detector in mein Selfmade Eingebunden ;)
    Und ich brauche ein Beispiel


    Das "Beispiel" erklärt sich bei dieser Funktion selbst.
    Wenn du dies in dein Selfmade einbindest, ist es außerdem kein Selfmade mehr.
    Oder du suchst halt aus dem Script, aus dem du es genommen hast, ein Beispiel raus?..


    Grüße,
    tony

    SetPVarInt(playerid,"Fraktionsid",1);


    Du setzt den Wert, den du als 2. Parameter eingibst, auf 1.
    Allerdings müsstest du dann in diesem Falle die "1" auf den Parameter anpassen.
    So wird der Wert der Fraktion auf die Zahl, die du als Parameter angibst, geändert.


    Grüße,
    tony

    Hey,


    du musst eine Variable für den Skin setzen, wird der Skin dann verändert, muss die Variable den gleichen Wert, wie die Skin-ID annehmen.
    Dann kannst du beim Spawn eines Spielers einfach den Skin vergeben.


    Grüße,
    tony

    Du erwähnst in der Überschrift doch selbst schon den "Prox Detector" aus dem Godfather-Script?
    Alternativ mit einer Schleife die Spieler durchgehen, die in der Nähe sind und dann die Nachricht versenden.


    Grüße,
    tony