[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
  • Fehler... Obwohl, ich es eigentlich geschlossen habe, meint er zu mir, ist nicht geschlossen naja gut.



    C:\DOKUME~1\Daniel\Desktop\SAMPSE~1\pawno\GERMAN~1.PWN(44848) : error 030: compound statement not closed at the end of file (started at line 44670)


    if(response) //<--------- 44670
    {
    switch(dialogid) // dialogid auswählen
    {
    case DIALOG_LOGIN: // ID Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    new var[64];
    format(var, 64, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
    {
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 64, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
    format(var, 64, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);


    Dan geht es so ein bisschen weiter... und dan komme ich hier wieder zum ende..


    if(gPlayerLogged[playerid]) SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    switch(dialogid)
    {
    case DIALOG_REG:
    {
    if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "users/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    gPlayerLogged[playerid] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    }
    }
    return 1;
    }


    Keiner eine Lösung ?

    Einmal editiert, zuletzt von xivo ()

  • dcmd_fightstyle(playerid,params[])
    {
    new name[32];


    if(sscanf(params, "s",name))
    {
    SendClientMessage(playerid,weiß,"Benutzung: /fightstyle [Name]");
    SendClientMessage(playerid,weiß,"normal | boxen");
    SendClientMessage(playerid,weiß,"kungfu | knie");
    SendClientMessage(playerid,weiß,"kick | ellbogen");
    }


    if(strcmp(name,"normal",true))
    {
    SetPlayerFightingStyle(playerid,4);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den normal Fightstyle");
    }
    else if(strcmp(name,"boxen",true))
    {
    SetPlayerFightingStyle(playerid,5);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den boxen Fightstyle");
    }
    else if(strcmp(name,"kungfu",true))
    {
    SetPlayerFightingStyle(playerid,6);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den kungfu Fightstyle");
    }
    else if(strcmp(name,"knie",true))
    {
    SetPlayerFightingStyle(playerid,7);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den knie Fightstyle");
    }
    else if(strcmp(name,"kick",true))
    {
    SetPlayerFightingStyle(playerid,15);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den kick Fightstyle");
    }
    else if(strcmp(name,"ellbogen",true))
    {
    SetPlayerFightingStyle(playerid,26);
    SendClientMessage(playerid,weiß,"Du benutzt jetzt den ellbogen Fightstyle");
    }
    else
    {
    SendClientMessage(playerid,rot,"Fehler: Dieser Fighstyle existiert nicht");
    }
    return 1;
    }


    Wenn ich nichts eingeben, sagt er mir wie der befehl ausgefürt wird, aber auch das der name nicht existiert, obwohl ich nix eingegeben hab.


    außerdem wird bei allem was ich eingebe, egal ob existiert oder nicht, der normale style gesetzt.


    Nur wenn ich "normal" mache, wird boxen gesetzt.


    Weiß mal jemand Rat ?



    @dit:


    K Danke funktioniert

    Einmal editiert, zuletzt von Hagi ()

  • unter
    SendClientMessage(playerid,weiß,"kick | ellbogen");
    machst du return 1;
    aus "strcmp" machst du immer "!strcmp"
    dann müsste es gehen

  • Minuten,Sekunden, Stunden berechnen.


    Ich bekomms grad nicht hin aus einer variable mit sekunden (ontime) welches jede sekunden um 1 erhöht wird die oben genannten zeiten zu berechnen.


    Mein Versuch sieht momentan so aus, ist aber totaler kaudawelsch


    new string[128],stunden,minuten,sekunden;


    sekunden = ontime-(minuten*60);
    minuten = (ontime/60) - (sekunden*60);
    stunden = minuten/60;

    format(string,sizeof(string),"Server online:~n~ Stunden: %d~n~ Minuten: %d~n~ Sekunden: %d",stunden,minuten,sekunden);
    GameTextForPlayer(playerid,string,1000,3);


    Kann mir grad mal jemand ne Berechnung reinschreiben ?


    @dit: 500 Beitrag


    @dit: Danke funtkioniert

    Einmal editiert, zuletzt von Hagi ()

  • stunden=ontime/3600;
    minuten=(ontime-stunden*3600)/60;
    sekunden=ontime%60müsste gehen

  • er machhallo ich bin noch nicht so erfahren im scripten deswegen will ich wissen wei cih den timer setzen muss das er nur für einen spieler ist
    bsp.:
    isomattenscript (wenn spieler /isomatte macht dann createt sich ein objetc(isomatte) er wird darauf gefreezt und für ihn läuft eiun timer von 180 Sekunden ab und danach wird das object zerstört und er hat volles leben und er kann sich wieder bewegen......)
    jetzt wüsste ich gerne wie ich es machen muss dass der timer für den spieler gilt....
    ???
    thx im voraus

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