[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
  • Hey :3


    Wie kann ich einem NPC eine Waffe geben?


    Ich habe es jetzt so , er wird aber nur teleportiert und der Skin wird gesetzt!



    if(!strcmp(botname, "Waffendealer", true))
    {
    SetPlayerPos(playerid,-1978.4358,428.3746,24.8660);
    GivePlayerWeapon(playerid,30,500);
    SetPlayerSkin(playerid,272);
    }

  • 1. Das SetPlayerPos kannst du dir sparen, der ist automatisch beim Aufzeichnungsort. Und soweit ich weiß, musst du ihm auch keine Waffe geben. Wenn er einfach nur da steht, obwohl er bei der Aufzeichnung des NPCs geschossen hat, dann geh kurz aus dem Gebiet raus und wieder rein - dann dürfte er schießen.
    EDIT: Das er eine Waffe besitzt, muss nicht unbedingt heißen, dass er Sie dann auch trägt

  • 1. Das SetPlayerPos kannst du dir sparen, der ist automatisch beim Aufzeichnungsort. Und soweit ich weiß, musst du ihm auch keine Waffe geben. Wenn er einfach nur da steht, obwohl er bei der Aufzeichnung des NPCs geschossen hat, dann geh kurz aus dem Gebiet raus und wieder rein - dann dürfte er schießen.


    ne er soll nur mit der Waffe rumstehen ;)


    Ich dachte , man müsste ihm die Waffe nach dem Aufzeichnen geben , und nicht die Waffe beim Aufzeichnen tragen :)


    Edit: Achso , ich wollte nämlich machen , dass er dasteht mit einer Waffe , damit er gefährlicher wirkt :thumbup:


    Edit2:


    Neues Problem:
    Ich möchte , dass man mit /verkaufewaffe [ID/Name] [Waffe] [Preis] jemanden eine Waffe verkaufen kann.
    Dieser bekommt dann einen Dialog , wo er [Okay] und [Abbrechen] wählen kann. Wenn er okay wählt , wird ihm die Waffe gegeben und das Geld abgezogen und dem Waffendealer das Geld gegeben. Nur wie geht das?


    Der Command sieht so aus:


    ocmd:verkaufewaffe(playerid,params[])
    {
    new pID,waffe[64],preis;
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    if(sscanf(params,"us[64]i",pID,waffe,preis))return SendClientMessage(playerid,Rot,"Fehler: /verkaufewaffe [ID/Name] [Waffe] [Preis]");
    {
    if(strcmp(waffe,"deagle",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matsprodeagle)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir eine Deagle mit 80 Munition für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_WaffenangebotDeagle,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else if(strcmp(waffe,"9mm",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matspro9mm)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir eine 9MM mit 100 Munition für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_Waffenangebot9mm,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else if(strcmp(waffe,"mp5",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matspromp5)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir eine MP5 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_Waffenangebotmp5,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else if(strcmp(waffe,"m4",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matsprom4)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir eine M4 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_Waffenangebotm4,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else if(strcmp(waffe,"ak47",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matsproak47)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir eine Ak47 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_Waffenangebotak47,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else if(strcmp(waffe,"blumen",false)==0)
    {
    if(dini_Int(Spieler,"Materialien")<=matsproblumen)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
    new string[256];
    format(string,sizeof(string),"Waffendealer %s bietet dir Blumen für %i€ an.",PlayerName(playerid),preis);
    ShowPlayerDialog(pID,Dialog_WaffenangebotBlumen,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Die Waffe existiert nicht!");
    }
    }
    return 1;
    }


    Es muss ja irgendwas in OnDialogResponse sein!

  • Heyho, mein Lohnsystem hat irgendwie momentan einen kleinen Aussetzer, das Schlimme ist, das mir das erst jetzt aufgefallen ist.
    Zum Problem:
    Ich habe für jeden Job Lohn verteilt, das Geld wird auch gegeben, aber beim Payday steht als Einkommen immer nur 1$.


    Mein stock für den Lohn:
    stock SetLohn(playerid)
    {
    switch(GetPVarInt(playerid,"Job"))
    {
    case 0:
    {
    GivePlayerMoney(playerid,500);
    }
    case 1:
    {
    GivePlayerMoney(playerid,2500);
    }
    case 2:
    {
    GivePlayerMoney(playerid,0);
    SendClientMessage(playerid,ROT,"Du bekommst keinen Lohn, geh Waffen verkaufen!");
    }
    case 3:
    {
    GivePlayerMoney(playerid,1500);
    }
    case 4:
    {
    GivePlayerMoney(playerid,1500);
    }
    case 5:
    {
    GivePlayerMoney(playerid,2500);
    }
    }
    return 1;
    }


    Die Zeile vom Payday:
    format(Payday,sizeof(Payday),"Einkommen: %i$\nGeld: %i$\nLevel: %i\nPayday-Punkte: %i",SetLohn(i),GetPlayerMoney(i),GetPlayerScore(i),GetPVarInt(i,"Payday"));
    Warum steht ständig 1, wenn er doch eigentlich eine ganz andere Zahl auslesen müsste?

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • Wie kann man im Tacho den Fahrzeugnamen und Kmh anzeigen lassen ?

  • Hey,


    ich wollte /rcon login ein bisschen absichern und habe mir gedacht das wenn der Spieler sich erfolgreich einloggt aber sein Name nicht "MeinName" (Beispiel) ist das er dann gebannt wird.
    Sollte er jedoch "MeinName" heißen passiert nichts und er ist eingeloggt.
    Ich bin nur anscheinend zu doof um strcmp zu verwenden.


    if(success)
    {
    if(!strcmp(LeiterName, "MeinName", false))
    {
    SendClientMessage(i,0xC30000FF,"Bann");
    }
    else
    {
    return 1;
    }
    }


    EDIT:


    new LeiterName[MAX_PLAYER_NAME];

    Einmal editiert, zuletzt von |»Timmeyable«| () aus folgendem Grund: Was hinzugefügt

  • So ähnlich vielleicht? ^^


    public OnRconLoginAttempt(ip[], password[], success)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new pname[256]; GetPlayerName(i, pname, 256);
    if(!success)
    {
    //Bla
    }
    if(success)
    {
    if(!strcmp(pname, "MeinName", false))
    {
    SendClientMessage(i,0xC30000FF,"Bann");
    return 1;
    }
    }
    }
    return 1;
    }

  • Habe ein Probelm da kommt der warning

    if(!GetPlayerState(playerid) == 2) return SendClientMessage(playerid,Rot,"Du sitzt nicht bei deinem Kunden im Auto");

    (1962) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Moin.


    Ich habe die Dark - Trigardon Reloaded V.1.1 und versuche, seit Tagen etwas in dem Gamemode zu editieren.
    Solange ich nichts veränder läuft alles super, wenn ich nun aber
    ShowPlayerDialog(id,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Step 1/6 | Tutorial Einweisung","{FFFFFF}Ersteinmal wünsche ich dich Herzlich Willkommen auf dem {FFFF00}Dark-Trigardon Reloaded{FFFFFF} Reallife Server.\nWie du bestimmt gesehen hast ist dies ein Reallife Server.Verhalte dich bitte dementsprechend.\nDeathmatch oder sonstige nicht Reallife Aktivitäten werden von unseren Administratoren bestraft.\n\n{00FFFF}Ich wünsche dir viel Spass beim dem Tutorial.","Weiter","");



    in


    ShowPlayerDialog(id,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Step 1/6 | Tutorial Einweisung","{FFFFFF}Ersteinmal wünsche ich dich Herzlich Willkommen auf dem {FFFF00}SanMonster {FFFFFF} Reallife Server.\nWie du bestimmt gesehen hast ist dies ein Reallife Server.Verhalte dich bitte dementsprechend.\nDeathmatch oder sonstige nicht Reallife Aktivitäten werden von unseren Administratoren bestraft.\n\n{00FFFF}Ich wünsche dir viel Spass beim dem Tutorial.","Weiter","");


    änder,



    Funktioniert nichts mehr. ?( (auch bei anderen veränderungen wie der HP oder TS3 IP)
    Ich habe keine ERRORS!!! und keine Warnungen!!!
    werde aber nach ediet immer an irgend einem komischen Ort gespawnt, und keine Plugins/Befehle o.ä funktionieren.


    Kann es sein das ein schutz eingebaut ist, der es verhindert das der bearbeitete Gamemode genutzt wird?
    Wenn ja, dann wäre es doch ein wenig unlogisch, da unter der Info von Dark-Trigardon Reloaded (homepage) und (in WINRAR) steht:


    Du darfst :
    Das Script auf deinem Server benutzen & editieren.


    bin echt am verzweifeln.


    Bitte um Hilfe, bevor ich mich erschieße.


    lg, AooH

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen