[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
  • Kann mir jemand Erklären warum der Server manchmal Crasht, wenn diese Funktion Aufgerufen wird?? (Alle 2 Minuten)


    AC:: SaveAntiCheatConfig()
    {
    if(dini_Exists(CONFIG_FILE))
    {
    for (new i = 0; i < MAX_VARIABLES; ++i)
    {
    dini_IntSet(CONFIG_FILE,VariableNames[i], Variables[i]);
    }
    }
    return 1;
    }

  • Servus Leute, hat sich irgendwas an der Funktion ConnectNPC("NAME","NAME");geändert? Bei mir will kein einziger Bot connecten ..
    Hat wer von euch gerade irgendein zu 100% funktionierenden Bot welcher er mal uppen könnte für mich zum testen? Wäre nett.

    KleineHilfe 2.0

  • mal eine Frage an unsere Profis hier ;)


    Ich würde gerne einen eigenen Rcon Befehl erstellen welcher einen Parameter hat (welcher Text ist). Der Befehl soll dem rcon say gleich sein & über die Rcon API (PHP) aufrufbar sein. Da ich jetzt länger nichts mehr mit pawn gemacht habe, fehlt mir die Kenntnis dazu ;)


    public OnRconCommand(cmd[])
    {
    if(!strcmp(cmd,"cpsay",true))
    {
    new text[512];
    text = str_replace("cpsay", "", cmd);
    SendClientMessageToAll(0xFFFFFFAA,text);
    return 1;
    }
    return 1;
    }


    so ist das ganze nun in einem Filterscript (str_replace kommt von einer include die strlib heißt)


    Hat vielleicht jemand eine Idee? Er gibt mir auf dem Server nämlich nichts aus. Aufgerufen von der api wird sie. Müsste ich das über sscanf machen oder gehts auch oben mit dem "str_replace" ?


    MfG

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern


  • Mit strings geht man nicht mit "=" um... dafür gibt es format und andere string Funktionen


    Das ganze optimiert:
    public OnRconCommand(cmd[])
    {
    if(!strcmp(cmd,"cpsay",true))
    {
    SendClientMessageToAll(0xFFFFFFAA,cmd[5]); // ab 6ter stelle
    return 1;
    }
    return 1;
    }


  • Erstmal danke. Habe das genau so im Script, Filterscript ist geloadet, allerdings gibt er nichts aus...


    zum "=" ich glaub das liegt daran das ich zu viel mit php gemacht habe , danke ;D

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • $this->getuser();:
    public OnRconCommand(cmd[])
    {
    printf("OnRconCommand(%s) start", cmd);
    if(!strcmp(cmd,"cpsay",true))
    {
    printf("Send: %s", cmd[5]);
    SendClientMessageToAll(0xFFFFFFAA,cmd[5]); // ab 6ter stelle
    print("Send: done");
    return 1;
    }
    printf("OnRconCommand(%s) end", cmd);
    return 0; // 0 damit andere scripts weiter gecheckt werden
    }


    Ausgabe ?
    Wenn gar nichts kommt, dann blockiert ein anderes FilterScript OnRconCommand (blockieren = return 1 zuvor)

  • [19:36:53] OnRconCommand(cpsay blaa) start
    [19:36:53] OnRconCommand(cpsay blaa) end
    [19:36:53] Unknown command or variable: cpsay

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Guten Tag


    Ich suche eine Funktion, mit der man eine zufällige Position zwischen 2 festgelegten Position bekommt.


    Ein Code-Beispiel:
    new Float:minX = 1000.0, Float:maxX = 2000.0, Float:minY = 1000.0,Float: maxY 2000.0, Float:newX, Float:newY, Float:z = 1500.0;
    newX = GetRandomPosition(minX, maxX);
    newY = GetRandomPosition(minY, maxY);
    SetPlayerPos(playerid, newX, newY, z);


    Quasi eine zufällige Positions innerhalb eines festgelegtem Bereiches bzw einer festgelegten Zone.

  • Ich suche eine Funktion, mit der man eine zufällige Position zwischen 2 festgelegten Position bekommt.


    stock GetRandomPos(Float:x, Float:X, Float:y, Float:Y, &Float:newX, &Float:newY) //©Jeffry
    {
    new iX = floatround(floatabs(X - x));
    new iY = floatround(floatabs(Y - y));
    newX = random(iX) + x;
    newY = random(iY) + y;
    return 1;
    }


    So anwenden:
    new Float:newX, Float:newY;
    GetRandomPos(10.0, 20.0, -50.0, 10.0, newX, newY);
    printf("%f, %f", newX, newY);

  • Kann mir jemand sagen, warum mein kleiner Text (hinweis auf fehlenden Führerschein) alles nachfolgende "killt"? Der text für die Rentcars erscheind zumindest nichtmehr



    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vm = GetVehicleModel( vehicleid );
    if( vm == 581 || vm == 522 || vm == 461 || vm == 521 || vm == 523 || vm == 463 || vm == 586 || vm == 468 )
    {
    if(PlayerInfo[playerid][pBikelic] == 0)
    {
    SendClientMessage(playerid, COLOR_SYSTEM, "You do not have a Motorcycle license, if you are spotted, you might get fined!");
    }
    }


    ...........................



    if((vehicleid >= 122) && (vehicleid <= 124)) // Carset5
    {
    if(VRented[vehicleid] == 0)
    {
    format(string, sizeof(string), "~g~Wang's Vehicle Renter~n~~n~~w~This vehicle can be rented for ~g~$%d~w~~n~To rent this vehicle type /rentvehicle", CarSet5);
    InfoBoxForPlayer(playerid, string);
    TogglePlayerControllable(playerid, 0);
    CanEnter[playerid][vehicleid] = 1;
    }
    }

  • Ich hab eine Frage, unzwar arbeite ich derzeit an einem Selfmade Script und möchte eine Koordinate einfügen. Also geht man in samp_debug und stellt sich dahin, wo man die Koordinate haben will und dann /save [Was auch immer]. Bei mir kommt aber diese Meldung: "I can't oben the savepositions.txt file for append".
    Kann mir da jemand weiterhelfen?

  • Ich hab eine Frage, unzwar arbeite ich derzeit an einem Selfmade Script und möchte eine Koordinate einfügen. Also geht man in samp_debug und stellt sich dahin, wo man die Koordinate haben will und dann /save [Was auch immer]. Bei mir kommt aber diese Meldung: "I can't oben the savepositions.txt file for append".
    Kann mir da jemand weiterhelfen?


    Windows 8 ? Wenn ja die datei savedpositions : Rechtsklick drauf : dann Eigenschaften : Dann Schreibgeschützt wegmachen,steht da ihrendwo