[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

  • 2. War nurn Vorschlag
    1. Ka :D



    2. War nurn Vorschlag
    1. Ka :D



    2. War nurn Vorschlag
    1. Ka :D



    ok da du keine ahnung davon so genau hast werde ich dich mal bissle aufklären ^^
    also ein enum(enumerator) ist eine auflistung von variabeln welche sowieso danach per merhdimensionalem array verwendet wird
    ein array ist ein variabel welche man mehrfach nutzen kann allein die variabel array[2] kann man 3 mal verwenden
    einmal array[0], array[1], array[2]

  • Und jetzt noch ein Timer dazu, der mich jedoch auch hasst ...


    ocmd:ausrauben
    ocmd:ausrauben(playerid,params[])
    {
    new Float:X,Float:Y,Float:Z;
    new pID,string[128],string2[128];
    new rand = random(10000);
    GetPlayerPos(pID,X,Y,Z);
    if(!IsPlayerConnected(pID))return SCM(playerid,ROT,"Der Spieler ist nicht online.");
    if(!IsPlayerInRangeOfPoint(pID,2.0,X,Y,Z))return SCM(playerid,ROT,"Du bist nicht in der Nähe des Opfers.");
    if(sscanf(params,"u",pID))return SCM(playerid,HBLUE,"Benutze: /ausrauben [Spieler/ID]");
    if(GetPVarInt(playerid,"Job") == 5)
    {
    GivePlayerMoney(playerid,-rand);
    GivePlayerMoney(playerid,rand);
    format(string,sizeof(string),"Du hast %s beklaut, Beute: %i$.",SpielerName(pID),rand);
    format(string2,sizeof(string),"Dir wurden %i$ von einem Taschendieb geklaut.",rand);
    SendClientMessage(playerid,GOLD,string);
    SendClientMessage(pID,GOLD,string2);
    if(beraubt[playerid] != 1)return SCM(playerid,ROT,"Du musst noch warten.");
    {
    SetTimer("beraubt",180000,false);
    SendClientMessage(playerid,GOLD,"Du musst jetzt 3 Minuten warten bis du wieder jemanden ausrauben kannst.");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Taschendieb.");
    }
    return 1;
    }


    public beraubttimer(playerid)
    {
    beraubt[playerid] = 0;
    }


    forward beraubttimer(playerid);


    Ich kann weiterhin /ausrauben verwenden wie ich will, ich weiß das ein Fehler drin steckt, aber ich finde den nicht. Arbeit mit Timern die Spielerzeugs enthalten sind halt neu. :l

    [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.

  • Ja am besten gehst doch wohl jetzt ins bett weil sonst würde dir auch selbst bewusst werden das man dazu SetTimerEx verwendet und dazu noch die parameter und du solltest
    die variabel für den spieler setten auf 1


    zu dem thema timer

    SetTimerEx("beraubttimer",180000,0,"i",playerid);

  • wollte bei meiner tank abfrage auch abfragen ob der Motor aus ist


    if(Motor[carid] = true)
    {
    SendClientMessage(playerid,Rot,"Du musst den Motor aus machen!");
    return 1;
    }
    warning 211: possibly unintended assignment
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Hey


    for(new i=0,sendstr[128], sendstr1[128],pName2[30],sendstr3[128];i<GetMaxPlayers();i++)
    {
    if(CALL[playerid] == CALL[i])
    {
    GetPlayerName(playerid,pName,sizeof pName);
    GetPlayerName(i,pName2,sizeof pName2);
    JC[playerid] = 0;
    UC[playerid] = 0;
    OC[playerid] = 0;
    AC[playerid] = 0;
    GC[playerid] = 0;
    format(sendstr,sizeof sendstr,"Du sagst:{FFFFFF} %s",text);
    SendClientMessage(playerid,COLOR_YELLOW,sendstr);
    if(strcmp(pName,pName2,false))
    {
    format(sendstr1,sizeof sendstr1,"Eine Stimme sagt:{FFFFFF} %s",text);
    SendClientMessage(i,COLOR_YELLOW,sendstr1);
    if(GetDistanceBetweenPlayers(playerid,i) < 10)
    {
    format(sendstr3,sizeof sendstr3,"{FFFFFF}%s {FFDE00FF}sagt ins Handy:{FFFFFF} %s",pName,text);
    SendClientMessage(i,COLOR_YELLOW,sendstr3);
    }
    }
    }
    break;
    }


    wenn jetzt der angerufe spricht sieht er nur Du sagst: Bla bla & Eine Stimme sagt balblabla aber der andere bekommt nichts anderst rum ist es so das da nur steht Du sagst blabla und der andere bekommt auch nichts...

  • Ich steh grade auf dem Schlauch ... :/


    Wie erstellt man einen RaceCheckpoint für alle. Also nicht für eine playerid und auch ohne for-Schleife.
    Einfach einen globalen RaceCheckpoint.

  • Kann mir jemand kurz sagen , wie ich die Buchstaben eines Input-Dialoges zähle?


    Brauche es für Werbungen , also jeder Buchstabe = 20€ oder so ;)


    schau mal hier rein am ende ^^ dort habe ich das schön erklärt ich hoffe du kannst damit was anfangen


    /ad ...


    //edit


    @ apoolecu erkläre dein problem nochmal genau


    @|»Timmeyable«| ohen einen lope also schleife ist das leider nicht möglich da es kein anderes native als 1 gibt um ein checkpoint zu erstellen
    aber dennoch könntest du dir ein stock erstellen oder auch eine function wo das schon in begriff ist


    //edit 2
    also solltest du an der funktion interesse haben würde die so aussehen


    stock SetRacePointForAll(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size)
    {
    for(new i = 0; i < GetMaxPlayers(); i++){
    SetPlayerRaceCheckpoint(i, type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size);
    }
    return 1;
    }

  • So, der ausrauben Befehl funktioniert nun, das 2. Problem folgt:


    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 017: undefined symbol "PRIVATE_Last_Money"
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Das kommt bei meinem SetMoney Befehl, ich weiß garnicht warum. 8|


    ocmd:setmoney(playerid,params[])
    {
    new pID, money, string[128],string2[128];
    if(!IstSpielerEinAdmin(playerid,3))return SCM(playerid,ROT,"Du bist kein Admin.");
    if(sscanf(params,"ui",pID,money))return SCM(playerid,HBLUE,"Benutze: /setmoney [SpielerID] [Betrag]");
    SetPlayerMoney(pID,money);
    format(string,sizeof(string),"Du hast %s das Geld auf %i gesetzt.",SpielerName(pID),money);
    SendClientMessage(playerid,msg,string);
    format(string2,sizeof(string),"%s hat dir dein Geld auf %i gesetzt.",SpielerName(playerid),money);
    SendClientMessage(pID,ROT,string2);
    return 1;
    }


    Komischerweise nur bei SetPlayerMoney. :huh:
    Nehme ich es raus sind die Errors auch weg..

    [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.


  • ich kenne leider nicht den stock von SetPlayerMoney jedoch eine alternatibe wäre


    ResetPlayerMoney(playerid);
    und danach das geld neu geben


    GivePlayerMoney(playerid, money);

  • Ich kenne den stock ja selber nicht, der scheint in der Include zu sein. ^^
    Danke für die Antwort, ich werde es mal testen.


    //e: Jap danke, das geht so. ^^

    [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.

  • Ich kenne den stock ja selber nicht, der scheint in der Include zu sein. ^^
    Danke für die Antwort, ich werde es mal testen.


    //e: Jap danke, das geht so. ^^


    trotzdem zu dem include problem ist PRIVATE_Last_Money so in der include definiert wenn nicht dann weisst du das dies fehlt

    new PRIVATE_Last_Money[MAX_PLAYERS];

  • ja das habe ich ja muss aber abfragen wen der tank leer ist geht der motor aus habe das so geht aber egen wie nicht


    if(Tank[vehicle] == 0)
    GetVehicleParamsEx(vehicle,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicle,false,lights,alarm,doors,bonnet,boot,objective);
    Motor[vehicle]=false;
    GameTextForPlayer(i,"~r~Der Tank ist leer",3000,4);