[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
  • Ok das wäre dann bei mir geklärt, wenn ich nun die San News Base betretet und dann rausgehe funktioniert alles.
    Aber wenn ich beim Sfpd reingehe komme ich dann bei der San News Base wieder raus.
    else if (IsPlayerInRangeOfPoint(playerid,4.0,2814.7673,973.4995,10.7500))// San News Enter
    {
    if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9 || IsACop(playerid))
    {
    SetPlayerPos(playerid,246.375991,109.245994,1003.218750);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid, 6);
    SetPlayerFacingAngle(playerid,2.5225);
    }
    }
    else if (IsPlayerInRangeOfPoint(playerid,4.0,246.375991,109.245994,1003.218750))//San News Exit
    {
    if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9 || IsACop(playerid))
    {
    SetPlayerPos(playerid,2814.7673,973.4995,10.7500);
    SetPlayerFacingAngle(playerid,222.1635);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid,4.0,-1605.6937,711.6380,13.8672))//SFPD/LSPD /enter
    {
    SetPlayerPos(playerid,246.3121,109.1336,1003.2188);
    SetPlayerInterior(playerid,10);
    SetPlayerFacingAngle(playerid,358.7832);
    }
    else if (IsPlayerInRangeOfPoint(playerid,4.0,246.6916,109.3309,1003.2188))//SFPD/LSPD /exit
    {
    SetPlayerPos(playerid,-1605.6937,711.6380,13.8672);
    SetPlayerInterior(playerid,0);

  • Gibt es ein Codeschnipsel in dem man ein bestimmtes Zeichen aus einem String löschen kann.


    Beispiel:
    new kommastr[50];
    format(kommastr,sizeof(kommastr),"Hallo, ich, heiße, Simon");
    und nun will man alle Kommas raus haben und macht zum Beispiel:
    Chardel(kommastr,',');
    und der neue string ist: "hallo ich heiße Simon"


  • strdel(kommastr,strfind(kommastr,","),strfind(kommastr,",")+1);

  • Simon:


    Habe ich schnell geschrieben, ist eigentlich recht simpel:
    stock stringDelChars(input[], character){
    for(new i=0; i<strlen(input); i++)
    {
    if(input[i] == tolower(character) || input[i] == toupper(character)){
    strdel(input, i, i+1);
    i--;
    }
    }
    }



    new string[32] = "Hallo, ich, heiße, Simon";
    print(string); // Ausgabe: "Hallo, ich, heiße, Simon"
    stringDelChars(string, ',');
    print(string); // Ausgabe: "Hallo ich heiße Simon"

  • if(dialogid == DIALOG_REGSTEP_2)
    {
    new year, month,day;
    getdate(year, month, day);
    new DateInfo[3][20];
    split(inputtext, DateInfo, '.');
    if(response == 1)
    if (strlen(inputtext) > 10) { // nicht länger als 10 zeichen (xx/xx/xxxx)
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if (!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]))) {
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
    {
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    new check = year - strval(DateInfo[2]);
    if(check == year)
    {
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    return 0;
    }
    if(strval(DateInfo[1]) > month)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
    {
    check -= 1;
    }
    PlayerInfo[playerid][pAge] = check;
    format(string, sizeof(string), "Ok, du bist also %d Jahre alt.",PlayerInfo[playerid][pAge]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    RegistrationStep[playerid] = 3;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nÖsterreich\nSchweiz","Weiter");
    if(response == 0)
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    SendClientMessage(playerid,COLOR_YELLOW,"Vielen Danke für deine Information, nun folgt das Tutorial. Viel Spass.");
    RegistrationStep[playerid] = 0;
    }
    }
    return 1;


    Könntet ihr mir bitte sagen wo ich einen Klammerfehler gemacht habe? :)

  • Flake:
    Wie kommst du darauf, dass da ein Klammerfehler ist?
    Also ich sehe keinen ^^


    Der Auszug von Pawno:


    Code
    C:\Users\Nico\Desktop\****.\gamemodes\****.pwn(64518) : error 001: expected token: ";", but found ")"
    C:\Users\Nico\Desktop\****.\gamemodes\****.pwn(64518) : error 029: invalid expression, assumed zero
    C:\Users\Nico\Desktop\s****.\gamemodes\****.pwn(64518) : fatal error 107: too many error messages on one line
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Flake:
    Könnte ja daran liegen, dass du den 2. Button nicht angegeben hast (was aber wohl unwahrscheinlich ist für diesen Error):


    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nÖsterreich\nSchweiz","Weiter");
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nÖsterreich\nSchweiz","Weiter","");

  • Flake:
    Könnte ja daran liegen, dass du den 2. Button nicht angegeben hast (was aber wohl unwahrscheinlich ist für diesen Error):


    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nÖsterreich\nSchweiz","Weiter");
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nÖsterreich\nSchweiz","Weiter","");

    Ne den habe ich ja weggemacht.
    Es scheint ja angeblich statt ein ";" eine ")" da zus ein, ich weiß aber nicht wo

  • Ne den habe ich ja weggemacht.
    Es scheint ja angeblich statt ein ";" eine ")" da zus ein, ich weiß aber nicht wo

    Wieso wird hier keine geschweifte Klammer "{" geöffnet?


    if(response == 0)
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_2,DIALOG_STYLE_INPUT,"Alter","ANGABEFEHLER:Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Weiter"," ");
    SendClientMessage(playerid,COLOR_YELLOW,"Vielen Danke für deine Information, nun folgt das Tutorial. Viel Spass.");
    RegistrationStep[playerid] = 0;
    }