Beiträge von SBIKA


    public MyDialogStatsSystem(playerid)
    {
    new string1[128],string2[128],string3[128],string4[128],string5[128],string6[128],string8[128],string9[128],string10[128],string11[128],string12[128],string13[128],bussgeldpolkata[1280];
    format(string1, sizeof string1, "Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]", pLevel,pSex,pAge,pOrigin,pHealth+50, pCash, pAccount, pPnumber);


    Sieht so aus, als ob du vergessen haettest pLevel und die ganzen anderen p...Variablen zu setzen. Ausserdem brauchst du die ganzen string1, string2, etc. nicht:

    new bussgeldpolkata[1280];
    format(bussgeldpolkata, sizeof bussgeldpolkata, "Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]", pLevel,pSex,pAge,pOrigin,pHealth+50, pCash, pAccount, pPnumber);
    // '%s\n' am Anfang und %s = bussgeldpolkata
    format(bussgeldpolkata, sizeof bussgeldpolkata, "%s\nPremium Rang:[%s] Verheiratet:[%s] Spielzeit:[%d] LottoNr:[%d] Job:[%s]", bussgeldpolkata, pDonateRank,pMarried,pConnectTime,pLottoNr,pJob);

    '%s\n' am Anfang von jedem String, bis auf den ersten und als ersten Parameter bussgeldpolkata.
    Oder direkt mit einem Aufruf zu format():

    new bussgeldpolkata[1280];
    format(bussgeldpolkata, sizeof bussgeldpolkata,
    // '\n' am Ende des strings und string mit '\' in naechster Reihe fortfuehren lassen
    "Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]\n" \
    "Premium Rang:[%s] Verheiratet:[%s] Spielzeit:[%d] LottoNr:[%d] Job:[%s]\n" \
    //"FishesCaught:[%d] GrösterFisch:[%d] Verbrechen:[%d] Gefängniszeit:[%d] Gesucht:[%d]\n" \ .. und so weiter
    // variablen erste reihe
    , pLevel,pSex,pAge,pOrigin,pHealth+50, pCash, pAccount, pPnumber,
    // variablen zweite reihe
    pDonateRank,pMarried,pConnectTime,pLottoNr,pJob
    // .. und so weiter
    );
    Wird bei der zweiten Methode eventuell etwas unuebersichtlich.


    Edit:
    Du hast string1-6 mit den Stats gefuellt. Wozu brauchst du dann noch string7-13, die du einfach mit '%s\n' hinten an den gesamten String dran setzt? Wenn es nur um den Abstand zu der letzten Zeile geht - das kannst du mit \n\n\n\n\n... erreichen, ohne unnoetig ressourcen zu verschwenden.

    Design(V1): Copyright by Creative-Styles
    Design(V2): Design-Teile(Header & Navibar) by Creative-Styles


    Info: Das Design ist kein Selfmade Design sondern Stammt von einem WBB Design.
    Daher verkaufe ich das Design nicht mit. Sondern den Design Ordner gibt es Kostenlos dazu ;)
    (Wers nicht versteht: Ich verkaufe nur den Script Teil ohne Design. Das Design gibt es Kostenlos dazu da mir die Rechte nicht gehören)


    Weil dir die Rechte daran nicht gehoeren gibst du es einfach an alle Kaeufer weiter? Wenn du einen gebrauchten Wagen verkaufst, gibst du dann auch Firmeninterne Bau- und Schaltplaene etc. mit dazu, nur weil sie dir nicht gehoeren? (Nicht sehr passend der Vergleich, aber ein passenderer faellt mir gerade nicht ein.)
    Zumal du schreibst, dass das Design !Copyright! by Creative-styles ist und auf deren Webseite steht, dass der Weiterverkauf von Lizenzen gestattet ist, aber nur, wie bei WBB Lizenzen, wenn die gesamten Daten nach dem Lizenztransfer geloescht werden. ( Letzter Abschnitt unter http://www.creative-styles.org/index.php?page=ProductHelp )
    Also darf pro Lizenz auch nur eine Lizenz weitergegeben werden. Oder hast du fuer das mit enthaltene Design eine andere Lizenzvereinbarung?

    Anfangs war ich von dem Projekt begeistert. Danach habe ich mir aber ein paar Videos angesehen.. Nach spielspass sieht das nicht aus. Die Fahrphysik in GTA:IV war ziemlich gut und es hatte auch Spass gemacht einfach nur rumzufahren. In diesem Projekt gibt es damit jedoch Probleme, wenn man sich mal die Videos davon ansieht und wie oft die Autos schon bei dem Auffahren auf Fussgaengerwegen umfallen sieht das nicht nach Fahrspass aus. Zumindest fangen die Autos nicht grundlos an zu brennen, wie in San Andreas. :P
    Wenn der Mod ausgereifter ist und diese nervigen Bugs behoben sind ist es bestimmt ein interessanter mod.


    Du suchst in der falschen Zeile. (Der Fehler wird durch das was davor ist ausgeloest.)
    Du kannst keine Befehle zwischen den if-else if Abfragen schreiben.
    if( variable == 1 )
    { dostuff(); }
    domorestuff();
    else if ( variable == 2 ){}

    Du kannst auch 'else if' verwenden. Sieht besser aus und hat eine hoehere performance, als diese unuebersichtlichen
    if(kinder == 1){}
    else{
    if(kinder == 2){}
    else{
    if(kinder == 3){}else{ ... }
    }
    }Konstruktionen.


    kann ihm aber nicht debuggen


    Habe noch nie mit dem Debugger in .NET oder allgemein interpretierten Sprachen gearbeitet, aber eventuell hilft dir dieser Link: http://msdn.microsoft.com/de-de/vcsharp/aa336801.aspx
    Oder meinst du nicht ausfuehren? Mehr details waeren hilfreich. Was funktioniert nicht, wie erwartet? Gibt der compiler, oder der interpreter (beim ausfuehren) warnungen oder error aus?

    Ich habs jetzt mal getestet und es funzt...


    Funktioniert bestimmt, aber bestimmt nicht, wie du dir das vorstellst:
    // v nicht initialisiert und ist somit nicht unbedingt = 0
    new i,v;
    for(;v!=MAX_VEHICLES; v++)
    {
    if(FractionCars[v][fFraction][0] != PlayerLeader(playerid)) continue;
    i=0;
    for(;i!=MAX_PLAYERS;i++)
    {
    // was soll diese abfrage? GetPlayerState(player) = DRIVER & PASSENGER? Habe ich noch nie gesehen, dass jemand
    // Fahrer und gleichzeitig Beifahrer ist. Ausserdem wird hier nicht ueberprueft, ob der Spieler DIESES Fahrzeug 'v'
    // faehrt, was vermutlich eigentlich ueberprueft werden sollte.
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerState(i) == PLAYER_STATE_PASSENGER) continue;
    DestroyAndCreateFractionCar(v);
    //SetVehicleToRespawn(v);
    }
    }

    Habe den code mal etwas ueberarbeitet:
    ...
    new i,v, destroy;
    for(v = 0;v<MAX_VEHICLES; v++)
    {
    // continue, wenn Spieler nicht leader der Fraktion dieses vehicles ist
    if( !IsPlayerLeaderOfFraction(playerid, FractionCars[v][fFraction][0])) continue;
    i = 0;
    destroy = 1;
    while ( i < MAX_PLAYER && destroy == 1 )
    {
    // Player connected & in vehicle?
    if ( IsPlayerConnected(i) && (GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER)
    // in diesem vehicle?
    && GetPlayerVehicle(i) == FractionCars[v][vehicleid] )
    destroy = 0;
    i++;
    }
    if ( destroy )
    DestroyAndCreateFractionCar(v);
    //SetVehicleToRespawn(FractionCars[v][vehicleid]);
    }

    Ist aber definitiv noch nicht korrekt. Denn FractionCars[MAX_VEHICLES]? MAX_VEHICLES sollte in diesem Code mit der Nummer der Fractions autos ersetzt werden (mit sizeof, oder einer bereits vorhanden variable). Ausserdem muessten die Befehle angepasst werden und auch die Referenzen zu FractionCars[v][vehicleid].

    Es ist mit sicherheit nicht moeglich ein Bild in ein anderes Bild mit <img src..> und der Funktion imagettftext einzufuegen. Ist zumindest offiziell nicht so dokumentiert. Also muss das Bild manuell eingefuegt werden. Imagecopymerge ist in dem Fall sicherlich hilfreich. Man muss dann allerdings den Pixel-Offset selbst berechnen, oder man weiss inetwa wie lang in der Schriftart das geld maximal wird und fuegt einfach am Ende der Zeile das Bild ein.

    Nette Idee.
    Man koennte auf dem Prinzip bestimmt auch einen Interessanten Gamemode aufbauen. Ich denke da zum Beispiel an ein Attack&Defense Szenario, wo die Verteidiger die Bruecke sprengen koennen, um die gegnerischen Einheiten zu verlangsamen. Also dann mit Move/RotateObject, CreateExplosion und einem Timer, der durch die Angreifer noch mit einem entschaerfen-command gestoppt werden kann.


    Das nur mal als kleinen Denkanstoss, der mir spontan bei dem Anblick der eingestuertzten Bruecke gekommen ist, weil ich zu viele Kriegsfilme gesehen habe :P

    Hab mich da selbst mal schlau gemacht, wenn du zum Ftp server connectest, müssen die Daten unerverschlüsselt sein, da sonst das Passwort nicht stimmt, sprich es muss im Klartext gesendet werden


    Exakt. Und im Moment des sendens kann der Nutzer die FTP Account Daten bequem mit einem Packetlogger abgreifen. Das heisst es hilft auch nichts, wenn dein Programm super schwer zu entziffern ist, da es immer noch Funktionen vom Betriebssystem nutzen muss, um mit der Netzwerkkarte zu 'sprechen'. (Nicht unbedingt, aber der Aufwand und die Chance, dass das Programm als Virus eingestuft wird, machen es fuer ein derartiges Programm nicht lohnenswert erst noch Aenderungen vorzunehmen, um das Betriebssystem zu umgehen.)

    Das UserControlPanel kurz UCP wird nicht x mal verkauft sondern nur eine bestimmte Anzahl wird verkauft.
    Wie viele genau, entscheide ich später. ;)


    Ahja. Es wird also nicht x mal sondern nur y mal verkauft?


    Zugriff auf die Scriptfiles
    Ja!(Als FTP User)


    Wie ich bereits in Flummi's 'UCP-Programm' Thread geschrieben habe ist ein Zugriff via FTP User nicht gerade die beste Loesung in Bezug auf Sicherheit.
    Ich nehme mal an, dass das gesamte Programm mit FTP funktioniert und es sich nicht um ein zusaetzlich mitgeliefertes ACP handelt, welches FTP nutzt? Denn, wenn es auch das Programm fuer die Spieler ist koennen die FTP Daten ausgelesen werden und im worst-case (admin FTP, oder falsch konfigurierte FTP Accounts) der gesamte Server unter die Kontrolle eines derartigen Spielers gebracht werden. (Habe das Problem bereits etwas ausfuehrlicher mit etwas sichereren Loesungsansatz, mit PHP, in Flummi's Thread geschrieben.)

    Browsergames sind nur gut, wenn man sie auch gut macht. Das heißt: Erst ein Konzept schreiben, danach abscripten. So mache ichs zumindest bei allem (Webseiten, PAWN-Scripts, Verfilmungen, Serverprojekten, C++ Anwendungen). Ich will dich nicht aufhalten, aber meiner Meinung nach gehört die Zukunft den Nicht-Browser Games. Daher würde ich dir empfehlen, C++ zu lernen.


    Kann man sehen wie man will. Wenn die Computer weiterhin immer Leistungsfaehiger werden, oder die Entwickelung von Browserspielen weiter geht (oh nein!) kann es durchaus sein, dass irgendwann keiner mehr Altmodische Anwendungen haben will, sondern Browserspiele, die eventuell aehnlich Leistungsfaehig werden, wie eine 'Normale' Anwendung. Ausserdem gibt es ja bereits 3D Browserspiele und der unterschied zwischen Browserspielen und normalen Anwendungen ist, bis auf die Performance aufgrund von Sandbox Methoden, um Schadcode zu verhindern, nicht so gross. Klar es gibt fuer normale Anwendungen z.B. OpenGL oder DirectX, aber da laesst sich ja etwas aehnliches fuer Browseranwendungen entwickeln.


    Wichtig ist aber nicht das Medium, sondern, dass was man daraus macht. Die Simpsons sind, wenn man es genau nimmt, einfache Bleistift Zeichnungen, ohne grosse Spezialeffekte und Glitzer und sind trotz dessen noch immer relativ beliebt.


    Nach dem riesen fast schon Offtopic teil einen Satz Thema: Flash ist bei Browserspielen auch beliebt.

    Das J steht für Java, daher ist die Scriptsprache natürlich auch Javascript.
    Alles per Drag&Drop nutzbar(Anpassung natürlich notwendig). Leicht und simpel aber dennoch leistungsstark und bestimmt für viele sehr nützlich ;) .


    Was kann JBuilder?
    Der JBuilder kann viele verschiedene JavaCodes generieren.


    Java ist nicht Javascript.


    Die Idee mit dem Passwortschutz-Generator finde ich nicht so gut. Nachher denkt noch jemand, dass es sicher sein koennte etwas mit Javascript zu 'sichern', was ein Trugschluss ist, denn Javascript wird auf dem Client system ausgefuehrt. Manipulation und Auslesen des Scriptes bei den meisten Browsern ohne Probleme moeglich. Mir ist zumindest kein Browser bekannt bei dem es nicht moeglich waere.

    Mir ist aufgefallen, dass der Bereich 'Neuigkeiten' unter 'Allgemeines und Foreneigenes' nicht fuer Gaeste sichtbar ist. Da dort nicht unbedingt schuetzenswertes Material ist, was nicht jeder sehen sollte, sondern informatives, was auch fuer nicht registrierte SA-MP interessierte Nutzer sicherlich interessant ist (wie z.B. das kuerzlich erstellte Thema zu dem 0.3d RC, oder zu den Server updates) schlage ich vor die Sektion auch fuer Gaeste frei zu schalten. Ist vielleicht auch nur ein versehen, dass der Bereich nicht fuer Gaeste lesbar ist (denn wie gesagt, ist der Bereich recht informativ) ?

    Wenn ich einfach mal Maddins Beitrag aus einem solchen Thread zitieren darf...


    Man muss nichtmal an woltlab schreiben, anstatt dessen hilft es sich die Lizenzbedingungen durchzulesen, bevor man willkuerlich behauptet dieses oder jenes wuerde in den Bedingungen stehen.
    Fuer alle, die google nicht benutzen koennen und ihr halbwissen auf der Meinung anderer mit halbwissen stuetzen - lest es euch doch einfach mal durch: http://www.woltlab.com/de/wbb/license-agreement.html
    (Fuer die lesefaulen, es ist sektion 03, die, wo ganz gross "Weitergabe" hinter steht.)

    Finde die AudioStream funktion nicht so toll und durchdacht. Hauptsaechlich aus dem Grund, dass man diese Funktion vom Client her weder deaktivieren kann, noch die Lautstaerke einstellen kann.

    Man könnte die ganze San Andreas Map entfernen, per custom sa-mp files die ganze map von Vice City hernehmen und nur auf dieser zocken.


    Du kannst aber nur 1000 objekte verwenden.

    Ein clientseitiges Programm, dass die Serverdaten anzeigen soll?
    An wen verkaufst du das? Die Serveradmins, oder die Spieler - d.H. darf ein Admin das Programm an die Spieler weitergeben, oder muss jeder einzelne Nutzer das Programm erwerben?
    Wie soll das Login/account system funktionieren? Loggen sich die Spieler am Spiel-Server ein, oder gibt es einen Server fuer alle Gameserver und die Spieler muessen sich bei dem zentralen system einloggen (wie bei Steam)? Der letzte Punkt interessiert mich hauptsaechlich, da ich wissen moechte, wie die Datenuebertragung des Account-systems funktionieren soll - muss der Spiel-Server staendig updates an einen Hauptserver senden, oder direkt an den Client und wie sieht die Kommunikations API aus (irgendwie muessen ja die Spielserver daten an den Client, oder an einen Hauptserver kommen) - ist es ein plugin, das auf dem Server laufen soll, um die Daten zu uebertragen?
    Recht verwirrend und ein wenig suspekt, wie ich finde. Habe auch irgendwie den Sinn von dem ganzen nicht ganz Verstanden.

    Der boolean wird zwar auf false gesetzt wenn OnPlayerUpdate ausgeführt wird, aber warum sollte der sich dann von selbst auf true setzen nur weil OnPlayerUpdate nichtmehr ausgeführt wird ?


    Wegen dem timer.

    bei einem 1 sekunden timer
    if(!Desktop[i]) Desktop[i] = true;


    Ist aber sicherlich kein Idealer Loesungsweg, da die Chance besteht, dass jemand faelschlicher weise als auf dem Desktop erkannt wird. Die chance ist aber bei einer update rate von 30ms und bei einem reset timer von 1sekunde nicht sehr hoch. Den Faktor koennte man so gut, wie eliminieren, indem man Desktop[] fuer mehr als nur 2zustaende nutzt und in dem 1sekunden timer abfragt, ob Desktop[] < 3 ist und in dem Fall Desktop[]++, dann bei IsPlayerDesktop() nur true, ausgibt wenn Desktop[] = 3 ist. Auf diese weise muss der Spieler mindestens 3 sekunden pausiert sein. Wenn man dann auch noch die 3 sekunden etwas anpasst werden dann auch keine Leute gekickt (bei einem Anti-Desktop system), die nur mal kurz irgendetwas im hintergrund mache wollen, denn das Spiel neustarten nur weil man kurz z.B. bei einem Messenger eine Nachricht schreibt dauert sicherlich meistens laenger als zu pausieren.

    script von mir 0 fehler


    Mit so einer Aussage lehnst du dich recht weit aus dem Fenster und als Anfaenger stehst du schon so gut, wie in der Luft.
    Was ist denn z.B. in dem Fall, dass ein Admin /aduty eintippt ( ADMIN[playerid]=1; ) und einfach den Server verlaesst? Der naechste Spieler hat dann immer noch ADMIN[playerid]=1;. Eventuell ist es nichtmal noetig, dass ein Admin sich vorher einloggt, da pawn wahrscheinlich eher nicht die neu erstellten arrays durch geht und jedes byte auf 0 setzt.
    Also, wenn das keine Absicht ist koennte man das einen Fehler nennen.

    wie gesagt VB.net würde ich als Anfänger empfehlen.


    VB wuerde ich einem Anfaenger nicht empfehlen, sofern er vor hat das Programmieren auf einem beruflichen Level auszufuehren, da es viele unterschiede aufweist im Vergleich zu anderen bekannten und weit verbreiteten Sprachen, wie C/C++/Java/etc. und ein umstieg auf eine von den Sprachen schon fast als neu einstieg bezeichnet werden kann.


    Welche ist die meist verwendete und mit welcher sollte ich Anfangen? Und welche ist die Neuste?


    Meist verwendete Sprachen: TIOBE index (Assembly sollte eigentlich auf Platz 1 sein, wobei es meistens nicht Menschen sind, die Assembly verwenden ;) )
    Welches die neuste ist, ist schwer zu sagen, da es auch einige recht unbekannte Sprachen gibt. Eine der neusten bekannten Sprachen duerfte wohl google's "go", vorgestellt 2009, sein.
    Mit welcher du anfangen solltest vermag ich nicht zu beurteilen. Es haengt auch davon ab, was du machen moechtest. Wenn du etwas Betriebssystem nahes willst, einfach nur so ein wenig rumprobieren und schnell zu Ergebnissen kommen willst ist VB empfehlenswert, wenn du etwas professionelleres anstrebst und betriebssystem nah arbeiten moechtest koennte ich C/C++ empfehlen, wenn du verstehen willst, was ein Programm eigentlich macht waere Assembly interessant, wenn du Betriebssystem unabhaengig sein moechtest, aber nicht unbedingt web-applikationen im Sinn hast ist Java ganz gut, ansonsten ist bei Webapplikationen PHP fuer den Anfang empfehlenswert.
    Da du aber bereits gesagt hast, dass du Grafiker bist und dir bereits Flash mit Actionscript3 angeschaut hast, ist es eventuell nicht schlecht damit deine Kenntnisse zu vertiefen?
    Wobei damit ein Programm, wie Virtual router zu entwickeln ist wahrscheinlich nicht moeglich. (Virtual router wurde in C# entwickelt.)

    Sehr kreative Vorschlaege bis jetzt. Ich hoffe meiner wird nicht dazu gehoeren.
    So wie sich das anhoert, hast du die zugrunde liegenden Scripts nicht auf junkbuster konfiguriert. Schritt 3 in der readme duerfte abhilfe schaffen. (junkbuster.inc in gamemode und alle filterscripts einbinden und neu kompilieren)
    Junkbuster ersetzt ueberigends keinen aufmerksamen Admin. Dafuer hat es zu viele bugs, die das cheaten erlauben.


    PS.: Lol. Liegt es an mir, oder bezeichnet sich der junkbuster autor selbst in der readme als homosexuell - woher sonst sollte er derartige details ueber .. haben :P