[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • new OChat;


    if(!strcmp(cmdtext,"/omenu",true)){
    if(!OChat)return OChat = 1;//Aktiv für Spieler
    return OChat = 0;//Nicht Aktiv für Spieler
    }
    Jetzt kannst du abfragen, wenn die Variable auf 1 steht, können Spieler schreiben, wenn nicht, dann nicht.

  • Kann man irgendwie ganz einfach einen Bot hinstellen auf eine Position?
    Sprich der NPC steht einfach und macht garnichts?


    Oder muss ich extra einen Recorden?


    Danke.


    Jap das musst du recorden, geh einfach ins Spiel und stell dich für 5 sekunden einfach an den ort deiner Wahl und fertig.
    Den Rest einfach wie du bots lädst etc.

  • Ich habe da ein Problem, undzwar :


    Am Anfang hat man 25.000$, wenn man nun in ein Interrior geht verdoppelt sich der Betrag.
    Das passiert auch, wenn man ein Relogg macht.


    Kann das der Grund dafür sein ?



    public GivePlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = ACNewMoney[playerid] + money;
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    public SetPlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = money;
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    Mfg Saphire


  • public OnPlayerConnect(playerid)
    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid, Andreas);
    gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
    gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
    gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
    gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
    gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
    for(new x=0; x < SELECTION_ITEMS; x++)
    {
    gSelectionItems[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
    }
    gItemAt[playerid] = 0;


    if(!INI_Exist(pName(playerid)))
    {
    ShowPlayerDialog( playerid, DIALOG_REGISTER, DIALOG_STYLE_MSGBOX, "[ ... ]", "Weiter", "");
    else
    ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, "[ ... ]","Anmelden", "");
    return 1;
    }
    if(GetPVarInt(playerid, "Banned") == 1 )
    {
    SendClientMessage(playerid,-1,"[ ... ]");
    Kick(playerid);
    return 1;
    }
    return 0;
    }


    Kriege grad gar nichts hin ... Will dass gebannte Spielernamen gekickt werden, kriege jedoch die Zeilen nicht hin (Zahl 1 wird nach Bann gespeichert)

  • ..code..code
    format(string, sizeof(string2), " Last Login: %s | Register Date: %s | Todays Date: %d.%d.%d\n",tmp2,RegisterDatum,tag,monat,jahr);
    ShowPlayerDialog(playerid,DIALOG_TRACK,DIALOG_STYLE_MSGBOX,"Statistics",string2,"Close","");

    if(IsPlayerInAnyVehicle(player1))
    {
    new Float:VHealth, carid = GetPlayerVehicleID(playerid);
    GetVehicleHealth(carid,VHealth);

    format(string, sizeof(string2),"\nVehicle Name: %s | Model ID: %d | Vehicle ID: %d | Vehicle Health: %d\n",VehicleNames[GetVehicleModel(carid)-400],GetVehicleModel(carid),carid,floatround(VHealth)), strcat(string2,string), ShowPlayerDialog(playerid,DIALOG_TRACK2,DIALOG_STYLE_MSGBOX,"Statistics",string2,"Close","");
    }


    Der eigentliche Stats Dialog funktioniert wunderbar. Nun wollte ich abfragen, ob der Spieler in einem Fahrzeug sitzt und seine Informationen zum Wagen abfragen.
    Dies funktioniert aber jedoch nur, wenn ich meine eigene /stats ID verwende. Bei anderen Spielern (ID's die ich in /stats verwende) wird mir der Fahrzeug Part nicht angezeigt und ich bekomme die Meldung Unknown CMD, während der vorherige Part angezeigt wird.


    Mfg Salpoe

  • Kann einer schnell helfen ?

    CMD:eat(playerid,params[0])
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(!IsPlayerInPizza(playerid)) return SendClientMessage( playerid, -1, "Du bist in keinem Laden.");
    if(GetPlayerMoney(playerid) < 20) return SendClientMessage(playerid,-1, "Du hast nicht genug Geld dabei.");
    if(health > 100.0) return SendClientMessage(playerid, -1, "Du bist bereits satt.");
    GivePlayerHealth(playerid, 20.0);
    GivePlayerMoney(playerid, -20);
    ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
    return 1;
    }


    • Wie kann ich vermeiden, dass man sich nicht über 100 HP pushen kann ?
    • Animation wird nicht ausgeführt
  • CMD:eat(playerid,params[0])
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(!IsPlayerInPizza(playerid)) return SendClientMessage( playerid, -1, "Du bist in keinem Laden.");
    if(GetPlayerMoney(playerid) < 20) return SendClientMessage(playerid,-1, "Du hast nicht genug Geld dabei.");
    if(health > 100.0) return SendClientMessage(playerid, -1, "Du bist bereits satt.");
    if(health + 20.0 > 100){
    //HP auf 100 setzen
    }else{
    //HP um 20 erhöhen
    }
    GivePlayerMoney(playerid, -20);
    ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
    return 1;
    }


    müsste so passen, aus dem Kopf um 8 vor 1 Nachts geschrieben.

  • Also man macht die Animation, verliert Geld aber bekommt nie Leben dazu.

    • Offizieller Beitrag

    Du kannst jede Schriftart benutzen die du besitzt, falls ein anderer User diese Schriftart nicht besitzt wird die Schriftart Arial genutzt.
    Aber alle die sie besitzen sehen es dann auch mit der ausgewählten Schriftart.


    Eine Frage von mir,
    kann man das Rennen in SAMP verhindern?
    Also man soll nur die W A S D Tasten nutzen können ohne die Leertaste.
    Habe einiges schon, z.B. ClearAnimation, jedoch sieht es aus als ob ich lagge :D


    Edit:
    Andreaas: Wurde par Beiträge darüber schon beantwortet, entweder nutzt du RNPC ist ein Plugin oder du nimmst die NPCs auf.

    • Offizieller Beitrag

    Kann man eigentlich jede Schriftart bei SetObjectMaterialText benutzen? Oder gibt es nur bestimmte?

    Alle Standardfonts die Windows mitbringt (minimal alle die bei Windows XP dabei waren)

    • Offizieller Beitrag

    Alle Standardfonts die Windows mitbringt (minimal alle die bei Windows XP dabei waren)

    Du kannst jede Schriftart benutzen die du besitzt, falls ein anderer User diese Schriftart nicht besitzt wird die Schriftart Arial genutzt.
    Aber alle die sie besitzen sehen es dann auch mit der ausgewählten Schriftart.