[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 Leute ich glaube ich habe einen Denk fehler. Aber irgendwie bekomme ich ihn nicht weg -.-
    Ich habe folgendes Problem:
    Wenn ich in meiner "Arena" bin und dort sterbe soll man da auch wieder Spawnen.
    Jeodch tut man das nicht sonder Spawnt mitten in der Luft(die Koordinate müsste sogar stimmen)
    Also wird das Interior nicht wieder genutzt.
    Ich dacht es würde reichen, wenn ich die person einfach nach dem Tod und den benötigten Abfragen einfach wieder in das Interior setzte aber das Klappt auch nicht.
    Dann bin ich hin gegangen, und habe erst das Interior auf 0 und anschließend auf 15 gesetzt aber es will immer noch nicht funktionieren.
    Jetzt weiß ich nicht mehr weiter wie ich die Person eben doch wieder dort hin bekomme -.-
    Vllt könnt ihr mir ja helfen.
    Mfg Tool

    Zurzeit bin ich an einem Script schreiben, dass sich so gut es machbar ist an GTA Online orientiert ;)


    Falls jemand Frage hat, bzw mir helfen will soll mir einfach hier oder bei PSN schreiben ^^

  • Bevor ich jetzt mit dem ganzen anfange
    Ist es möglich das wenn ein Polizist in der nähe einer Tür ist diese automatisch zu öffnen ohne jeglichen Befehl? Ich brauche keinen Code ich will nur wissen ob es möglich ist. Und wenn ja ist das stark Ressourcenfressend?


    //Edit und wo muss ich das ganze dann hin scripten :D

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Ja ist möglich.
    Mit einem Timer abfragen ob er in der Nähe ist.


    zum 2. Punkt:


    Erhlich gesagt keine Ahnung.
    Doch kommt glaube ich auf den Timer drauf an.
    In welchem Abstand der halt läuft (ka obs stimmt :D )


    Ich glaube ich lass das lieber sonst muss ich am ende alles wieder ändern weil der Server nicht startet :D

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Hab es geschaft
    Hab es jetzt mit einem Timer.
    man sieht zwar das man "2mal" geportet wird, aber ist nicht schlimm oder so
    also ich habe da auf servern schon viel schlimmere gesehen ;)

    Zurzeit bin ich an einem Script schreiben, dass sich so gut es machbar ist an GTA Online orientiert ;)


    Falls jemand Frage hat, bzw mir helfen will soll mir einfach hier oder bei PSN schreiben ^^

  • Ich hatte es bei Spawn und Death probiert und es hat bei keinem irgendwie geklappt.
    Kann aber auch daran liegen das ich bei Spawn an sich schon 4 verschiedene Abragen hab.
    Ich denke wenn ich es soweit fertig hab dann fange ich an solche Sachen umzuschreiben und zu "optimieren"

    Zurzeit bin ich an einem Script schreiben, dass sich so gut es machbar ist an GTA Online orientiert ;)


    Falls jemand Frage hat, bzw mir helfen will soll mir einfach hier oder bei PSN schreiben ^^

  • Schreibe seit heute an meinem Selfmade und gleich mal ein Problem.
    Mein Schöner Textdraw String streikt.
    Er will sich nicht anzeigen lassen.
    Pawno Compiler zeigt kein Error.


    format(reason2,sizeof(reason2),"Gesperrt hat dich [%s] %s aufgrund von: %s ",adminrang(playerid),SpielerName(playerid),reason);
    PlayerTextDrawSetString(pID,Ban4[pID],reason2);
    PlayerTextDrawShow(pID,Ban0[pID]);
    PlayerTextDrawShow(pID,Ban1[pID]);
    PlayerTextDrawShow(pID,Ban2[pID]);
    PlayerTextDrawShow(pID,Ban3[pID]);
    PlayerTextDrawShow(pID,Ban4[pID]);
    PlayerTextDrawSetString(pID,Ban4[pID],reason2);


    Playerid = Der Befehl schreibt also Admin
    PID = der wo gebannt werden soll.
    Gebannt wird er auch aber der Textdraw mit Grund kommt nicht

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

  • Unglaublich, wie einfach es doch war :P


    Ein wenig sscanf, format und eine for schleife und es ist gelöst =)


    forward ReturnHelp(playerid, text[]);


    public ReturnHelp(playerid, text[])


    {


    new rows, lines;


    cache_get_data(rows, lines);


    if(!rows)


    {


    new string[128];


    format(string, sizeof string, "[Helpsystem]Konnte keinen Eintrag mit dem Namen '%s' finden.", text);


    SendClientMessage(playerid, COLOR_RED, string);


    }


    else


    {


    if(rows > 1)


    {


    new string[10][100];


    new data[64], string2[128], data2[1000];


    format(string2, sizeof string2, "%s", "Bitte auswählen");


    for(new i; i<rows; i++)


    {



    cache_get_field_content(i, "name", data);


    format(string2, sizeof string2, "%s\n%s", string2, data);


    format(helpids[playerid][i][hename], 128, data);


    cache_get_field_content(i, "text", data2);


    sscanf(data2,"p<.>s[100]s[100]s[100]s[100]s[100]s[100]s[100]s[100]s[100]s[100]",string[0],string[1],string[2],string[3],string[4],string[5],string[6],string[7],string[8],string[9]);


    //format(helpids[playerid][i][hetext], 1000, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", string[0],string[1],string[2],string[3],string[4],string[5],string[6],string[7],string[8],string[9]);


    format(helpids[playerid][i][hetext], 1000, "");


    for(new a=0; a<10; a++)


    {


    if(strlen(string[a]) == 0)continue;




    format(helpids[playerid][i][hetext], 1000, "%s\n%s.", helpids[playerid][i][hetext], string[a]);


    format(string[a], 100, "");


    }





    helpidscount[playerid]++;


    }


    ShowPlayerDialog(playerid, DIALOG_RETURNHELP, DIALOG_STYLE_LIST, "Helpsystem - Auswahl", string2, "Auswählen", "Abbrechen");


    }


    else if(rows == 1)


    {


    SendClientMessage(playerid, COLOR_RED, "test");



    }


    }


    }

    Zitat von Sharpadox

    Echt fantastisch, dieses "Google" ^^



  • format(reason2,sizeof(reason2),"Gesperrt hat dich [%s] %s aufgrund von: %s ",adminrang(playerid),SpielerName(playerid),reason)); <------Fehlte hier nicht noch eine Klammer?
    PlayerTextDrawSetString(pID,Ban4[pID],reason2);
    PlayerTextDrawShow(pID,Ban0[pID]);
    PlayerTextDrawShow(pID,Ban1[pID]);
    PlayerTextDrawShow(pID,Ban2[pID]);
    PlayerTextDrawShow(pID,Ban3[pID]);
    PlayerTextDrawShow(pID,Ban4[pID]);
    PlayerTextDrawSetString(pID,Ban4[pID],reason2);


  • Nein? Woher den bitte.
    Die Klammer wird nirgends geöffnet.


    // Sorry leute hatte Reason falsch Definiert :)>

  • So ein kleiner Blöder Fehler..


    bitte einmal helfen..


    variable mit enum:

    Spoiler anzeigen
    enum zJobinfo
    {
    Jobname[50],
    Jobskin,
    JobGH,
    minLevel,
    Description,
    dutyCount,
    }

    Spoiler anzeigen
    new Ziviljobs[5][zJobinfo] = {
    {"Busfahrer", 253, 0, 1, "", 3},
    {"Taxifahrer", 7, 0, 1, "", 3},
    {"Holzfäller", 16, 0, 1, "", 1},
    {"Müllman", 42, 0, 1, "", 1},
    {"Farmer", 158, 0, 1, "", 4}


    Anwendung mit Fehler:

    Spoiler anzeigen
    new Float:rPos[3][Ziviljobs[j][dutyCount]];


    Fehler:

    Spoiler anzeigen
    error 008: must be a constant expression; assumed zero
    error 009: invalid array size (negative, zero or out of bounds)

  • Hatte gerade was am 5. wert geändert gehabt, ist nun wieder ein string.


    Hmm klappt das so nicht? wäre ja schade :D


    wenn jemand einen Job aussucht, soll einer der möglichen "duty Stationen" in Form eines Checkpointes angezeigt werden und zwar zufällig jedesmal ein anderes.
    Da jeder Job verschiedend viele Stationen hat, dachte ich mir das ich die Varable einfach nie größer mache als maximum an duty stationen.


    Aber der braucht wohl einen einmaligen festen Wert..

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