Beiträge von Stylernero

    Wie schon erwähnt habe ich mir bereits die Datei neu heruntergeladen und ersetzt, aber die Fehlermeldung erscheint weiterhin. Ich habe auch bereits gegoogelt und Aussagen anderer besagen, dass es bei ihnen nach der neuinstallation nicht funktioniert hat. Daher liegt es wohl nicht daran :/

    Hey, leute. Mein samp-debug funktioniert nicht mehr, bzw will nicht mehr starten, weil folgende Fehlermeldung angezeigt wird "Initialization failed. Please reinstall"
    Habe mir samp debug bereits neu gedownloadet, aber es wil weiterhin nicht starten. Hat jemand eine Idee? MFG

    Es handelt sich hierbei um einen Teil meines Report Systemes. Der Spieler muss die ID eingeben und anschließend in einem weiteren Dialog den Grund angeben. Dieser Grund sollte eigentlich im "key" eingespeichert werden und die .txt Datei soll mit dem Namen des Spielers erstellt werden gegen die man die Beschwerde beschwerde aufsetzt. Leider stürzt der Server nach dem eingeben des Grundes ab, dies muss an folgendem Stock liegen. warum? :s


    stock Beschwerden(playerid,key[])
    {
    new Bugmeldedatei[128];
    new spieler[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];;
    GetPlayerName(BeschwerdeID[playerid],name,sizeof(name));
    GetPlayerName(playerid,spieler,sizeof spieler);
    format(Bugmeldedatei,sizeof(Bugmeldedatei),"/Serverdatei/Reports/Beschwerden/%s.txt",name);
    dini_Create(Bugmeldedatei);
    dini_Set(Bugmeldedatei,"Beschwerde",key);
    return 1;
    }

    Hallo, ich möchte mein System so ausbauen, dass man die davor eingetragenen Bugs mithilfe eines Befehls aus der dini datei auslesen und dann in einer Nachricht ingame anzeigen lassen kann. Ich habe es mal ein wenig versucht, aber der Text wird nicht angezeigt, lediglich der Spielername. Könnte mir jemand meinen stock vervollständigen bzw bearbeiten? :)



    stock BugReports(playerid)
    {
    new string[128],stringsss[128],spieler[MAX_PLAYER_NAME];
    format(string,sizeof string,"Serverdatei/Bugs/%s.txt",spieler);
    format(string,sizeof string,"%s",dini_Get(string,"Bugs"));
    GetPlayerName(playerid,spieler,sizeof spieler);
    format(stringsss,sizeof stringsss,"%s: %s",spieler,string);
    SendClientMessage(playerid,gelb,stringsss);
    }


    stock Bugmeldung(playerid,key[])
    {
    new Bugmeldedatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Bugmeldedatei,sizeof(Bugmeldedatei),"/Serverdatei/Bugs/%s.txt",name);
    dini_Create(Bugmeldedatei);
    dini_Set(Bugmeldedatei,"Meldung: ",key);
    return 1;
    }

    Hallo, der Präsident sollte dem kompletten Server Flugverbot erteilen können, zwar funktioniert der Befehl, aber irgendwie speichert er die Veränderung in der .txt datei nicht ab. Diese sollte in dem Ordner "Serverdateien" unter Scriptfiles gespeichert werden, da sie allerdings schon gar nicht erstellt wurde, habe ich das übernommen und die .txt Datei Flugverbot erstellt. Allerdings speichert er es weiterhin nicht in der Datei ab, irgendwelche Ideen ? :s


    OnGameModeInit:

    new string2[40];
    format(string2,sizeof string2,"/Serverdatei/Flugverbot.txt");
    flugverbotlaufend=dini_Int(string2,"MomentanigerStatus");


    OnPlayerConnect:

    new string2[40];
    format(string1,sizeof string1,"/Serverdatei/Flugverbot.txt");
    flugverbotlaufend=dini_Int(string2,"MomentanigerStatus");


    OnPlayerDisconnect:

    new string[40];
    format(string,sizeof string,"/Serverdatei/Flugverbot.txt");
    dini_IntSet(string,"MomentanigerStatus",flugverbotlaufend);

    Hallo, ich möchte bei OnPlayerStateChange abfragen 'wenn die VehicleID ein Flugzeug ist'. Ich weiß aber nicht, wie man das anstellt.
    Gibt es dafür eine bestimmte Funktion?

    Das war der erste Befehl
    dcmd_passvergabe(playerid,params[])
    {
    if(SpielerInfo[playerid][Fraktion] == 3)
    {
    if(SpielerInfo[playerid][Rank] >= 5)
    {
    if(IsPlayerConnected(playerid))
    {
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME],pID,paesse[18],derpass[15],derpasss[15],string[128];
    if(sscanf(params,"us",pID,paesse)) return SendClientMessage(playerid,weiß,"Verwendung: /passvergabe [playerid] [Pass (/paesse)]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    if(SpielerInfo[pID][Eingesperrt] == 1) return SendClientMessage(playerid,weiß,"Dieser Spieler befindet sich im Gefängnis.");
    if(SpielerInfo[pID][Tot] == 1) return SendClientMessage(playerid,weiß,"Dieser Spieler befindet sich im Krankenhaus.");
    if(GetDistanceBetweenPlayers(playerid,pID) < 10)
    {
    if(strcmp(paesse,"Los Santos",true) == 0 || strcmp(paesse,"los santos",true) == 0)
    {
    if(SpielerInfo[playerid][LSPass] == 0)
    {
    if(GetPlayerMoney(pID) < 25000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-25000);
    GivePlayerMoney(playerid,10000);
    Staatskasseeingezahlt += 15000;
    SpielerInfo[pID][LSPass] = 1;
    PassVergeben[playerid] = 1;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Los Santos Pass ausgestellt. Preis: $25000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $25000, Verdienst: $10000, Staatskasse: $15000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Los Santos Pass."); }
    }
    if(strcmp(paesse,"Las Venturas",true) == 0 || strcmp(paesse,"las venturas",true) == 0)
    {
    if(SpielerInfo[playerid][LVPass] == 0)
    {
    if(GetPlayerMoney(pID) < 40000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-40000);
    GivePlayerMoney(playerid,16000);
    Staatskasseeingezahlt += 24000;
    SpielerInfo[pID][LVPass] = 1;
    PassVergeben[playerid] = 2;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Las Venturas Pass ausgestellt. Preis: $40000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $40000, Verdienst: $16000, Staatskasse: $24000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Las Venturas Pass."); }
    }
    if(strcmp(paesse,"Bayside",true) == 0 || strcmp(paesse,"bayside",true) == 0)
    {
    if(SpielerInfo[playerid][BSPass] == 0)
    {
    if(GetPlayerMoney(pID) < 50000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-50000);
    GivePlayerMoney(playerid,20000);
    Staatskasseeingezahlt += 30000;
    SpielerInfo[pID][BSPass] = 1;
    PassVergeben[playerid] = 3;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Bayside Pass ausgestellt. Preis: $50000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $5000, Verdienst: $20000, Staatskasse: $30000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Bayside Pass."); }
    }
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if(PassVergeben[playerid] == 1) { format(derpasss,sizeof derpasss, "Los Santos"); }
    else if(PassVergeben[playerid] == 2) { format(derpasss,sizeof derpasss, "Las Venturas"); }
    else if(PassVergeben[playerid] == 3) { format(derpasss,sizeof derpasss, "Bayside"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s hat %s den %s Pass ausgestellt. *",spieler,spieler2,derpasss);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Fraktion] == 3)
    {
    if(SpielerInfo[i][Rank] >= 5)
    {
    SendClientMessage(playerid,gelb,string);
    }
    }
    }
    }
    }
    else { return SendClientMessage(playerid,weiß,"Der Spieler ist nicht in deiner Nähe."); }
    }


    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht der Präsident von San Andreas oder der Minister."); }
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    Denke eher weniger, ich nenn mal ein Bespiel.
    Ich hatte drei Befehle .. /stats /lohnaktivieren /buylevel


    Das erste mal ging /lohnaktivieren nicht, dann habe ich /lohnaktivieren verschoben und dann ging der Befehl wieder. Allerdings funkte dann /stats nicht mehr, Grund: Server Unkown Command

    Ich habe da mal eine Frage zum Pawn Compiler. Mein Script fasst 7.000 zeilen und nach dem letzten neuen Command sieht meiner so aus:


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 4208 bytes
    Code size: 357760 bytes
    Data size: 421772 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=4707 cells (18828 bytes)
    Total requirements: 800124 bytes


    ist das etwas negatives? Vorallem, nachdem kommt bei mindestens einem Befehl "Server Unknown Command" obwohl diese Befehle vorher ohne Probleme funktioniert haben.
    Kann mich da einer Aufklären?

    dcmd_kill(playerid,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] >= 3)
    {
    new string[128],pID,grund[128];
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,weiß,"Verwendung: /kill [playerid] [Grund]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    if(SpielerInfo[pID][Adminlevel] > SpielerInfo[playerid][Adminlevel]) return SendClientMessage(playerid,weiß,"Einen höheren Admin kannst du nicht töten.");
    SetPlayerHealth(pID,0);
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"AdmCmd: Du hast %s getötet. Grund: %s.",spieler2,grund);
    SendClientMessage(playerid,rot,string);
    format(string,sizeof string,"AdmCmd: %s hat dich getötet. Grund: %s.",spieler,grund);
    SendClientMessage(pID,rot,string);
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    Folgendes Problem,
    ich habe ein Krankenhaus System gescriptet, dass eigentlich funktionierte. Heißt, man ladete nach dem Tot im Krankenhaus etc .. Nun, heute wollte ich etwas testen und habe mich zufälliger weise selber mit dem Befehl "/kill" getötet und wurde direkt wieder gespawnt. Aber eigentlich, sollte ich doch direkt im Krankenhaus landen & ich weiß nicht woran das liegt.


    Hier mal ein kleines Teil des OnPlayerDeath teils vom Krankenhaus system:


    SpielerInfo[playerid][Gestorben] += 1;
    SpielerInfo[killerid][Verbrechen] += 1;
    //////////////////////////////////////////////////////////
    GameTextForPlayer(playerid, "~r~Gestorben!", 5000, 3);
    TogglePlayerControllable(playerid, 0);
    ResetPlayerWeapons(playerid);
    SpielerInfo[playerid][Tot] = 1;
    SpielerInfo[playerid][TotZeit] = 5*60;
    SetPlayerPos(playerid,1159.8018, -1324.1633, 25.1710);
    SetPlayerCameraPos(playerid, 1214.5242, -1379.3278, 32.4827);
    SetPlayerCameraLookAt(playerid, 1165.6816, -1335.8361, 25.1710);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    ClearChatBox(playerid,10);
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,gelb,"* Du liegst mit einer Verletzung im Krankenhaus. (/aufenthalt) *");
    if(SpielerInfo[playerid][Krankenversicherung] == 0)
    {
    new string[128];
    new randmoney = 300+ random(150);
    GivePlayerMoney(playerid,-randmoney);
    SendClientMessage(playerid,gelb,"Da du über keine Krankenversicherung verfügst,");
    format(string,sizeof string,"musst du die kompletten Behandlungskosten selbst bezahlen. Kosten: $%d.",randmoney);
    SendClientMessage(playerid,gelb,string);
    }
    else if(SpielerInfo[playerid][Krankenversicherung] == 0)
    {
    SendClientMessage(playerid,gelb,"* Deine Krankenversicherung wird alle Behandlungskosten übernehmen. *");
    }


    Danke im Vorraus:)