Viele Script Probleme !

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 !


    Mein ganzes Script funktioniert nicht richtig :\


    Problem 1: Makeleader

    Spoiler anzeigen

    Wenn ich dann einen Befehl der entsprechenden Fraktion mache , bekomme ich die Meldung , das man nicht in der Fraktion ist , man wird nicht respawnt mit richtigen Skin/Waffen

    Spoiler anzeigen
    ocmd:makeleader(playerid,params[])
    {
    new pID;
    new frak;
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    if(IsPlayerAnAdmin(playerid,3))
    {
    if(sscanf(params,"ui",pID,frak))return SendClientMessage(playerid,Rot,"Fehler: /makeleader [ID/Name] [FraktionsID] \nFraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
    {
    //SendClientMessage(playerid,Rot,"FraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
    if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Der Spieler exisitert nicht !");
    {
    if(dini_Int(Spieler,"Fraktion")!=0)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits in einer Fraktion.");
    {
    if(dini_Int(Spieler,"Fraktion")==frak && dini_Int(Spieler,"Fraktionsrang")>=4)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits Leader der Fraktion!");
    {
    dini_IntSet(Spieler,"Fraktionsrang",5);
    dini_IntSet(Spieler,"Fraktion",frak);
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s zu dem Leader der Fraktion %i gemacht !",PlayerName(pID),frak);
    format(string2,sizeof(string2),"Du wurdest von %s zu dem Leader der Fraktion %i gemacht !",PlayerName(playerid),frak);
    SendClientMessage(playerid,Gruen,string);
    SendClientMessage(pID,Gruen,string2);
    SpielerSpeichern(pID);
    SpielerLaden(pID);
    //SetSpawnInfo(pID,0,220-548.3002,2593.3633,53.7338,269.8591,0,0,0,0,0,0);
    SpawnPlayer(pID);
    }
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht befugt diesen Befehl zu benutzen.");
    return 1;
    }
    return 1;
    }



    Problem 2: Spawns

    Spoiler anzeigen
    Man wird nicht mit dem richtigen Skin/waffen gespawnt !

    public OnPlayerSpawn(playerid)
    {
    StopAudioStreamForPlayer(playerid);
    inKamera[playerid]=false;
    KameraGelegt[playerid]=false;
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    if(ersterspawn[playerid]==true)
    {
    SetPlayerColor(playerid,Weiss);
    TutTime[playerid] = 2;
    TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
    TogglePlayerControllable(playerid,false);
    SetPlayerCameraPos(playerid,829.5406,-2067.8027,12.9786);
    SetPlayerCameraLookAt(playerid,828.4743,-2070.1067,14.4608);
    SetPlayerPos(playerid,0.0,0.0,0.5); // Tutorial Position
    ersterspawn[playerid]=false;
    }
    else
    {
    if(IsPlayerInFraktion(playerid,0))
    {
    SetPlayerSkin(playerid,137);
    SetPlayerColor(playerid,Weiss);
    SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
    SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
    SetCameraBehindPlayer(playerid);
    //SetPlayerPos(playerid,-532.09960938,2636.19921875,53.09999847);
    }
    if(IsPlayerInFraktion(playerid,1))//TERROR
    {
    SetPlayerColor(playerid,Weiss);
    GivePlayerWeapon(playerid,18,10);
    SetPlayerSkin(playerid,220);
    SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
    SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
    SetCameraBehindPlayer(playerid);
    }
    if(IsPlayerInFraktion(playerid,2))//SAN NEWS
    {
    SetPlayerColor(playerid,Weiss);
    GivePlayerWeapon(playerid,43,25);
    SetPlayerSkin(playerid,150);
    SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
    SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
    SetCameraBehindPlayer(playerid);
    }
    if(IsPlayerInFraktion(playerid,3))
    {
    SetPlayerColor(playerid,Weiss);
    GivePlayerWeapon(playerid,27,50);
    GivePlayerWeapon(playerid,31,120);
    GivePlayerWeapon(playerid,24,50);
    GivePlayerWeapon(playerid,17,100);
    SetPlayerSkin(playerid,285);
    SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
    SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
    SetCameraBehindPlayer(playerid);
    }
    }
    knacker[playerid]=false;
    SetTimerEx("checkparea", 1500, 1,"i",playerid);
    SetTimerEx("weapontest",1000,1,"i",playerid);
    SetTimerEx("rcladenkaufpunkttimer",2000,1,"i",playerid);
    SetTimerEx("lspdeingangtimer",1000,1,"i",playerid);
    //SetPlayerHealth(playerid,dini_Float(Spieler,"Leben"));*/
    return 1;
    }


    Problem 3: Speichern

    Spoiler anzeigen

    Die Sachen werden immer falsch gespeichert! zB Adminlevel=0

    Spoiler anzeigen
    public savetimer(playerid)
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    GetPlayerPos(playerid,sSpieler[playerid][XPosition],sSpieler[playerid][YPosition],sSpieler[playerid][ZPosition]);
    if(dini_Exists(Spieler))
    {
    new Float:leben;
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_FloatSet(Spieler,"Leben",GetPlayerHealth(playerid,leben)*100);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Fraktionsrang",sSpieler[playerid][Fraktionsrang]);
    dini_FloatSet(Spieler,"X",sSpieler[playerid][XPosition]);
    dini_FloatSet(Spieler,"Y",sSpieler[playerid][YPosition]);
    dini_FloatSet(Spieler,"Z",sSpieler[playerid][ZPosition]);
    dini_IntSet(Spieler,"Interior",GetPlayerInterior(playerid));
    dini_FloatSet(Spieler,"KameraX",0);
    dini_FloatSet(Spieler,"KameraY",0);
    dini_FloatSet(Spieler,"KameraZ",-100);
    dini_IntSet(Spieler,"Kamera",0);
    dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spieler,"Wanteds",GetPlayerWantedLevel(playerid));
    }
    }


    Problem 4: /Verbrecher

    Spoiler anzeigen

    Der Befehl funzt nicht , es wird auch keine Nachricht ausgegeben :o

    ocmd:verbrecher(playerid,params[])
    {
    if(isPlayerACop(playerid))
    {
    new string[64],
    spielername[MAX_PLAYER_NAME];
    SendClientMessage(playerid, 0xBFC0C2FF,"*========Verbrecher========*");
    for(new i = 0; i < MAX_PLAYERS; i++)//eine schleife die durch alle spieler (MAX_PLAYERS) loopt
    {
    if(!IsPlayerConnected(i)) continue;
    {
    if(GetPlayerWantedLevel(i) >=1)//musst du natürlich auf die variable ändern in der du die wanteds des Spielers speicherst
    {
    GetPlayerName(i, spielername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Verbrecher: %s | Wanteds: %d", spielername,GetPlayerWantedLevel(i));
    SendClientMessage(playerid, 0xBFC0C2FF,string);
    }
    }
    }
    }
    return 1;
    }


    Problem 5: Krankenhaus

    Spoiler anzeigen

    Man soll , wenn man Hier wählt , vor dem Krankenhaus , und wenn man Unfall wählt, bei seinem todespunkt gespawnt werden!

    TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen soll
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera Positision
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera Blickrichtung
    SetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus ist
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");
    SendClientMessage(playerid,Weiss,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Im Durchschnitt");
    SendClientMessage(playerid,Weiss,"dauert die Untersuchung 30 Sekunden.");
    SendClientMessage(playerid,Weiss,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    SetTimerEx("tot",30000,0,"i",playerid);

    Spoiler anzeigen
    if(dialogid==Dialog_todesfrage)
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    if(response==1)
    {
    SetPlayerPos(playerid, dini_Float(Spieler,"TotX"),dini_Float(Spieler,"TotY"),dini_Float(Spieler,"TotZ")); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
    SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
    GivePlayerMoney(playerid, -2000); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du wurdest von den Sanitätern zu deinem Unfalls-");
    SendClientMessage(playerid,Weiss,"ort gebracht.");
    SendClientMessage(playerid,Weiss,"Kosten der Behandlung: 500$");
    SendClientMessage(playerid,Weiss,"Kosten des Transports: 1500$");
    SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    }
    if(response==0)
    {
    SetPlayerPos(playerid,1182.5331,-1324.3885,13.5793); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
    SetPlayerFacingAngle(playerid,270.8170);
    SetCameraBehindPlayer(playerid);
    SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
    GivePlayerMoney(playerid, -500); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du wurdest entlassen.");
    SendClientMessage(playerid,Weiss,"Kosten der Behandlung 500$");
    SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    }
    }