Beiträge von IceWave

    hi, kurz eine kleine Frage.. finde den Fehler nicht


    ocmd:tazer(playerid,params[])
    {
    if(!IsPlayerACop(playerid))return SendClientMessage(playerid,ROT,"Dazu musst du Polizist sein!");
    if(GetPVarInt(playerid,"Duty")==0)return SendClientMessage(playerid,ROT,"Dazu musst du im Dienst sein!");
    if(GetPVarInt(playerid,"Tazer")==0)
    {
    tazercolor(playerid);
    GivePlayerWeapon(playerid,23,25);
    SetPVarInt(playerid,"Tazer",1);
    PlayerTextDrawShow(playerid,PlayerText:Textdraw8[playerid]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[47]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[48]);
    }
    else
    {
    SetPlayerAmmo(playerid,23,0);
    SetPVarInt(playerid,"Tazer",0);
    PlayerTextDrawHide(playerid,PlayerText:Textdraw8[playerid]);
    TextDrawHideForPlayer(playerid,Text:Textdraw[47]);
    TextDrawHideForPlayer(playerid,Text:Textdraw[48]);
    }
    return 1;
    }


    Warum werden die nicht mehr gelöscht?

    Hi, komme gerade nicht darauf warum sich die Farbe meines Textdraws nicht ändert ???
    Habe das eigentlich schonmal genau so gemacht, darum bin ich etwas verwirrt jetzt weil es nicht geht..



    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(weaponid==23)
    {
    if(GetPVarInt(playerid,"Tazer")==1)
    {
    if(GetPVarInt(playerid,"Tazerhit")==0)
    {
    if(hittype==1)
    {
    TogglePlayerControllable(hitid,0);
    SetTimerEx("TazerTimer",7000,false,"i",hitid);
    SetPVarInt(playerid,"Tazerhit",1);
    SetTimerEx("TazerhitTimer",15000,false,"i",playerid);
    PlayerTextDrawColor(playerid,Textdraw8[playerid],ROT);
    return 0;
    }
    else
    {
    SetPVarInt(playerid,"Tazerhit",1);
    SetTimerEx("TazerhitTimer",15000,false,"i",playerid);
    PlayerTextDrawColor(playerid,Textdraw8[playerid],ROT);
    return 0;
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Tazer muss noch aufladen!");
    return 0;
    }
    }
    }
    return 1;
    }


    müsste doch so stimmen oder ?
    PlayerTextDrawColor(playerid,Textdraw8[playerid],ROT);
    Die Farbe wird aber nicht gesetzt..

    Werde es jetzt vielleicht doch einfacher machen.
    Habe einfach einen Textdraw gemacht, der nach 10 Sekunden oder so Grün leuchtet und
    dem Spieler eben eine Nachricht angezeigt wird, dass der Tazer nur wenn er aufgeladen ist einen Spieler freezt.


    Könnte man ja dann auch einbauen dass er bei halber Ladung nur die Hälfte der Zeit gefreezt ist.



    Aber Danke für deine Hilfe

    was man auch machen könnte, dass man einfach nicht zielen kann mit der Waffe.


    Das geht ja normal oder? Habe ich vorallem in NO DM Zonen immer wieder gesehen.


    Wie macht man dass dann? immer auf den Waffenslot der Hand wechseln?

    Aber wie mache ich dann dass hier:
    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(weaponid==23)
    {
    if(GetPVarInt(playerid,"Tazer")==1)
    {


    }
    }
    return 1;
    }
    Ich will ja wenn es möglich ist mit dem 1 Schuss Damage verursachen, dass der public OnPlayerTakeDamage aufgerufen wird.
    Obwohl ich es auch so machen wollte, dass auch wenn ich keinen Spieler treffe kein Schuss mehr möglich ist bis der Tazer wieder geladen ist.



    Geht dass das man den Spieler bei klicken der Schusstaste nicht schießen lässt?
    Oder würde das gar nicht funktionieren?

    Wie mache ich das jetzt am besten, dass ich dem Spieler nach dem Schuss die Waffe sozusagen Sperre?
    Funktioniert dass?


    Ich möchte dass er schießt, und dann ein Timer gesetzt wird. Soweit bin ich.
    Danach soll er z.B. für 10 Sekunden mit der "Tazerwaffe" nicht mehr schießen können.

    habe dann jetzt die globale Variable Handschellen[MAX_PLAYERS] gelöscht.
    jedoch werden sie immer noch nicht gelöscht?
    if(GetPVarInt(playerid,"Handschellen")==0)
    {
    SetPlayerSpecialAction(pID,24);
    SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    SetPVarInt(playerid,"Handschellen",1);
    }
    else
    {
    SetPlayerSpecialAction(pID,1);
    RemovePlayerAttachedObject(pID,0);
    SetPVarInt(playerid,"Handschellen",0);
    }
    return 1;

    Hi, will gerade Handschellen einfügen.
    Jedoch werden sie nicht mehr entfernt?


    ocmd:hs(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Befehl: /hs [ID]");
    if(!IsPlayerACop(playerid))return SendClientMessage(playerid,ROT,"Dazu musst du Polizist sein!");
    if(GetPVarInt(playerid,"Duty")==0)return SendClientMessage(playerid,ROT,"Dazu musst du im Dienst sein!");
    if(GetPVarInt(playerid,"Handschellen")==0)
    {
    SetPlayerSpecialAction(pID,24);
    Handschellen[pID] = SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    SetPVarInt(playerid,"Handschellen",1);
    }
    else
    {
    SetPlayerSpecialAction(pID,1);
    RemovePlayerAttachedObject(pID,Handschellen[pID]);
    SetPVarInt(playerid,"Handschellen",0);
    }
    return 1;
    }


    Ist es sinnvoll bei solchen Sachen wie hier oder zum Beispiel in Polizeidienst gehen mit PVarInt's zu machen??? Arbeite da sehr viel damit.


    Und hat jemand vielleicht etwas bessere Koordinaten für die Handschellen? habe auf anderen Servern schon welche gesehen die besser anliegen

    noch eine kleine Frage dazu,
    kann man das auch machen, dass man bemerkt wenn ein Spieler einen Schuss abgefeuert hat?


    Muss ich wahrscheinlich machen wenn ich ihm den Tazer gebe mit OnPlayerKeyStateChange oder?

    Ok Danke, also muss ich dann bei IsPlayerACop(issuerid) reinschreiben oder?
    if(issuerid != INVALID_PLAYER_ID)
    und was bedeutet das noch? Dass man sich nicht selbst tazern kann oder ?

    Hi, möchte gerade mit einem Tazer anfangen, habe aber gleich eine Frage zu dem public:
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    if(issuerid != INVALID_PLAYER_ID)
    {
    if(weaponid==23)
    {
    if(IsPlayerACop(playerid))
    {
    Tazer(issuerid);
    }
    }


    }
    return 1;
    }
    was ist die issuerid / playerid?
    Ist die playerid der, der den DMG verursacht und die issuerid der Spieler der den DMG bekommt?




    Danke im vorraus!

    istn bisschen viel,
    bin aber jetzt leider auch durch die Anschuldigungen etwas misstrauisch geworden.


    Man sollte zwar nicht darauf hören, aber da ich schonmal bei sowas abgezogen wurde, bin ich da sehr vorsichtig

    jetzt gehts danke, aber ich verstehe nicht wieso?
    Habe ja bei allen 3 fast die gleiche Box drüber gemacht, bei den anderen 2 hats super funktioniert mit dem TextDrawTextSize von der Box..


    Und Regeln konnte ich gar nicht mehr anklicken dann

    Hey, ich suche ein Wbb3 Design für einen SA:MP Server.
    Eilt nicht, also kann gerne auch erst designt werden!


    Ich moechte so 20-30€ ausgeben. Jedoch sollte es auch gecodet sein/werden.


    Vorstellung habe ich keine Besondere, es sollte aufjedenfall nicht zu umstaendlich sein.
    Was mir aber wichtig wäre ist dass man den (glaube Header nennt man dass) anklicken kann.
    Ist aber nicht zwingend



    MfG



    [Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Hat fast funktioniert
    Habe die Textdraws Login und Abbrechen untereinander stehen, da hat das super funktioniert.


    Jedoch wenn ich das jetzt bei Regeln auch mache mit TextDrawTextSize kann ich es gar nicht mehr anklicken..


    Textdraw[10] = TextDrawCreate(532.500000, 208.833419, ">>Regeln");
    TextDrawLetterSize(Textdraw[10], 0.449999, 1.600000);
    TextDrawTextSize(Textdraw[10], 140.625000, 23.333349);
    TextDrawAlignment(Textdraw[10], 1);
    TextDrawColor(Textdraw[10], -1);
    TextDrawSetShadow(Textdraw[10], 0);
    TextDrawSetOutline(Textdraw[10], 1);
    TextDrawBackgroundColor(Textdraw[10], 51);
    TextDrawFont(Textdraw[10], 0);
    TextDrawSetProportional(Textdraw[10], 1);
    TextDrawSetSelectable(Textdraw[10], true);


    Textdraw[12] = TextDrawCreate(20.000000, 254.333358, ">>Abbrechen");
    TextDrawLetterSize(Textdraw[12], 0.449999, 1.600000);
    TextDrawTextSize(Textdraw[12], 140.625000, 23.333343);
    TextDrawAlignment(Textdraw[12], 1);
    TextDrawColor(Textdraw[12], -1);
    TextDrawSetShadow(Textdraw[12], 0);
    TextDrawSetOutline(Textdraw[12], 1);
    TextDrawBackgroundColor(Textdraw[12], 51);
    TextDrawFont(Textdraw[12], 0);
    TextDrawSetProportional(Textdraw[12], 1);
    TextDrawSetSelectable(Textdraw[12], true);
    Obwohl es gleich wie die anderen ist

    Vielen Dank



    Aber was bis jetzt immer gedacht habe war:


    Onirgendwas..();
    if(test==0)
    {
    blabla
    return 1;
    }
    SendClientMessage....
    Habe immer gedacht dass dann hier z.b. die if Abfrage nur beendet wird und SendClientMessge oder wenn ich eine 2 if Abfrage hätte trotzdem ausgeführt wird.
    Aber wird dann hier auch das komplette Callback beendet ?

    Ich glaube wenn ich mit /veh ein normales erstellt habe und dann /delfrakveh versucht habe wurde es trotzdem gelöscht
    Und andersrum auch..


    Verstehe aber noch nicht wieso




    Habs zwar jetzt so, dass es funktioniert, aber warum die Befehle einzeln nicht funktioniert haben ka..
    ocmd:delveh(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sitzen!");
    new vID=GetPlayerVehicleID(playerid);
    new frakcar = IsCarFrakCar(vID);
    new normcar = IsCarNormCar(vID);
    new query[128];
    if(frakcar!=0)
    {
    format(query,sizeof(query),"DELETE FROM fcars WHERE id='%i'",fcInfo[frakcar][fdb_id]);
    mysql_tquery(dbverbindung,query);
    SendClientMessage(playerid, GRUEN, "Du hast das Fraktionsfahrzeug erfolgreich gelöscht!");
    DestroyVehicle(vID);
    }
    else if(normcar!=0)
    {
    format(query,sizeof(query),"DELETE FROM cars WHERE id='%i'",cInfo[normcar][db_id]);
    mysql_tquery(dbverbindung,query);
    SendClientMessage(playerid, GRUEN, "Du hast das Normfahrzeug erfolgreich gelöscht!");
    DestroyVehicle(vID);
    }
    return 1;
    }






    IsCarNormCar(vID)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==vID)return i;
    }
    return 0;
    }

    Habe hierzu noch eine kleine Frage:
    Bei dem Befehl IsCarNormCar gibt er doch wenn idx == vID ist kurz das i aus, also wenn i=3 ist steht 3 in IsCarNormCar.
    Aber das ist doch nur ganz kurz oder? Weil dann wird ja return 0 wieder ausgeführt oder?

    Konnte das Problem noch nicht lösen. Also das Parken funktioniert,
    aber wenn ich mit frakveh ein Car erstelle kann ich es mit normalen delveh löschen


    und wenn ich eins mit normalen veh erstelle kann ich es mit delfrakveh auch löschen


    Hoffe es kann mir wer helfen..
    Das Problem war mir aber bis jetzt nur bekannt wenn ich es direkt nach dem Erstellen mache.
    Wenn die Cars nach einen Restart gespawnt sind, hat alles bis jetzt funktioniert!