Beiträge von SoulMan

    Guten Morgen, liebe breadfish'ler!


    Ich hab mir vor ein paar Tagen die aktuellste Version des Streamer Plugins von Incognito heruntergeladen (siehe hier) und kann seitdem
    mein Script nicht mehr kompilieren.


    Das wird angezeigt:


    J:\Pawno Scripts\Server\SA-MP 0.3Z RC 4\pawno\include\streamer.inc(487) : warning 235: public function lacks forward declaration (symbol "OnPlayerWeaponShot")
    J:\Pawno Scripts\Server\SA-MP 0.3Z RC 4\pawno\include\streamer.inc(489) : error 017: undefined symbol "BULLET_HIT_TYPE_PLAYER_OBJECT"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hat jemand ne' Idee, was man da machen könnte?
    Ich muss das neuste Plugin aufgrund meines vServers nehmen, daher wäre es gut, wenn ich mein Script damit weiterhin kompilieren könnte.


    Greetz, Soul

    Das playerid bezieht sich auf die playerid, für die die public ausgeführt wird.
    Die Schleife ist nur da, um den SpielerName mit allen aus der Liste (MAX_NPCS) zu vergleichen und wenn es den
    Namen gibt, wird derjenige in das Fahrzeug gesetzt, das die ID "i" aus der Schleife hat.


    *Edit*


    Versteht zumindest irgendjemand das System?
    Hab bis jetzt noch nirgends eine Lösung für dieses Problem gefunden, irgendjemand muss sich doch gut
    mit Bots auskennen..


    Aussehen tut das ganze so, vielleicht besser zur Verständlichkeit mit MAX_NPCS


    enum server_bots
    {
    Float:npc_x,
    Float:npc_y,
    Float:npc_z,
    npc_name[MAX_PLAYER_NAME],
    npc_script_name[32],
    npc_veh_var,
    npc_veh_id
    }
    new npc_data[MAX_NPCS][server_bots] = {
    {1731.0669,-1951.1475,14.1172,"NPC_Zug","Zug",npc_train,538},
    {-2006.5000,137.9100,27.9973,"NPC_Tram","Tram",npc_tram,449}
    };


    stock CreateNPCVehicles(){for(new i;i<MAX_NPCS;i++){npc_data[i][npc_veh_var] = AddStaticVehicleEx(npc_data[i][npc_veh_id],npc_data[i][npc_x],npc_data[i][npc_y],npc_data[i][npc_z],0,-1,-1,-1);}}
    stock NPCConnect(){for(new i;i<MAX_NPCS;i++){ConnectNPC(npc_data[i][npc_name],npc_data[i][npc_script_name]);}}

    *Edit*:


    Hab mir das eben nochmal angeschaut und
    im Script sieht das jetzt so aus:


    Bei OnPlayerRequestClass wird man als NPC direkt zu OnPlayerSpawn geschickt
    if(IsPlayerNPC(playerid))return SpawnPlayer(playerid);


    Bei OnPlayerSpawn findet man dann folgende Zeile:
    if(IsPlayerNPC(playerid))return NPCVehicleLink(playerid);


    Und die Funktion dazu sieht so aus:


    stock NPCVehicleLink(playerid)
    {
    if(IsPlayerNPC(playerid))
    {
    for(new i;i<MAX_NPCS;i++)
    {
    if(!strcmp(SpielerName[playerid], npc_data[i][npc_name], true))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    PutPlayerInVehicle(playerid, npc_data[i][npc_veh_var], 0);
    print("Wird ausgeführt!");
    }
    }
    }
    return 1;
    }


    Die print Zeile erscheint 2x, daher wird die Funktion auch ausgeführt und die Abfragen nach dem connecten
    sollten funktionieren.
    Trotzdem werden die Bots nicht in ihr Fahrzeug gepackt.


    Bitte helft mir :D

    Guten Abend, breadifsh'ler!
    Habe eben mal mein altes Zug und Tram System rausgekramt um es mal in meinem Gamemode einzubinden und
    hab da etwas Probleme.


    Die NPCs connecten auf den Server und befinden sich an ihren Fahrzeugen (/goto 0 spawnt mich zum Fahrzeug), aber sie sind unsichtbar
    und fahren tut auch nix.
    Habt ihr irgendwelche Ideen oder Vorschläge, was man da machen kann?


    Greetz SoulMan

    Da hier auf die fehlenden Features verwiesen wurde, werde ich mal paar neue Bilder posten.


    Es gibt ein relativ gut durchdachtes Drogensystem auf unserem Server, bei dem Zivilisten mit Gangs zusammengeführt werden,
    was die Interaktion der Spieler miteinander, sowie das Roleplay fördern soll.


    Als Mitglied der Ballas kann man die Produktion von kleineren Crackpäckchen starten, welche anschließend nur von einem Drogenkurier, der
    für die Ballas arbeitet abgeholt werden können, um sie nach LV zur Endproduktion zu transportieren. Dort im Lager können Ballas Mitglieder dann
    ihr Crack abholen. Crack, sowie Cannabis können konsumiert werden und haben eine spezielle Wirkung.


    Hier mal ein paar Bilder dazu















    Es gibt aber auch andere illegale Jobs, wie zum Beispiel den Autodieb, den Waffendealer oder den Taschendieb welche auch von Gangmitgliedern genutzt werden können.




    Um ein Fahrzeug aufzubrechen benötigt man jedoch auch das passende Werkzeug, welches man in jedem beliebeigen 24/7 kaufen kann.




    24/7 Shops können, wie Tankstellen, Fahrzeuge und Häuser dynamisch Ingame erstellt und geändert oder verwaltet werden.
    Jeder beliebige Shop, sei es ein Binco, Cluckin Bell oder Ammunation kann mit Risiko ausgeraubt werden.


    Es gibt natürlich noch mehr Features, wie z.B. die Möglichkeit, sich in einen der Polizeicomputer zu hacken, um Wanteds zu vergeben oder zu löschen.
    Auch dafür gibt es einen Computer im 24/7 zu kaufen.


    Ich setz mich mal dran, weitere Features zu präsentieren, primär gilt meine Aufmerksamkeit jedoch dem Script.


    LG


    SoulMan



    //Edit:


    Der Server ist nun nicht mehr passwortgeschützt und somit für jeden erreichbar.
    Es ist nach wie vor noch die Beta des Servers.


    Gameserver: gamesome.de:7777
    Forum: forum.gamesome.de
    Teamspeak: gamesome.de

    Das hab ich auch aus deinem ersten Post entnommen. Die Antworten danach bezogen sich eher auf die sinnlose Diskussion, die wir hier führen.


    Kritik angenommen.


    Das mit den internen Absprachen war auf die Aussage mit den Leadern gerichtet.

    Schön, dass du unsere internen Absprachen besser kennst als wir.
    So viel zu deiner sinnvollen Kritik.


    Dann komm halt nicht auf unseren Server ich werde niemanden davon überzeugen. Wer will der kommt, wer nicht, der eben nicht.


    Worüber soll ich da noch nachdenken? Bin ich dir irgendeine Erklärung schuldig? Ich denke nicht, vor allem wenn du nicht mal auf dem Server warst.


    Guten Tag.

    Keine neuen Features seit dem letzten Mal oder generell?
    Was für eine Erwartungshaltung legt ihr denn einer Beta gegenüber an den Tag..


    Seit dem letzten Mal gibt es auf jeden Fall neue Features, wie gesagt, Bilder dazu folgen noch. Wer kein Interesse daran zeigt den Server zu testen braucht eigentlich gar nichts zu schreiben, denn das hier ist für Leute die mit uns was aufbauen wollen und nicht für irgendwelche semiprofessionellen Servertester/bewerter.


    Eure Meinung in allen Ehren, aber das Forum oder die Vorstellung einer Beta zu bewerten ist irgendwie nicht sehr sinnvoll oder?


    Nicht, dass ich sinnvoller Kritik gegenüber nicht offen wäre.


    - SoulMan

    Ich war in letzter Zeit sehr inaktiv auf breadfish, daher kenn ich mich bzgl. anderer Server im Prinzip gar nicht aus.
    Zumindest ist auf unserem Server nichts wissentlich kopiert. Dafür leg ich meine Hand ins Feuer, sonst braucht man auch kein Selfmade zu schreiben.

    Willkommen zur Vorstellung von GAMESOME!


    Die Einführung

    Guten Abend, ihr SA-MP Mitspieler!
    Hiermit kündige ich offiziell die Open Beta von GAMESOME (ehem. Think-Roleplay) an.
    An dem Script arbeite ich inzwischen seit 2010 mit einigen Pausen und Liebe zum Detail.


    Ohne viele Worte zu verlieren, werde ich ein paar Systeme des Servers zur Schau stellen, die auch damals
    enthalten waren, aber inzwischen verbessert wurden o.Ä.



    Der Gameserver


    Falls ihr unterwegs seid und kein Leben, Hunger oder einen leeren Tank habt, könnt ihr euch einfach
    mit /service helfen lassen.



    Eure Lizenzen könnt ihr euch mit /licenses anzeigen lassen, dort seht ihr sowohl, welche Lizenzen
    ihr bereits besitzt, sowie die Strafpunkte der jeweiligen Scheine (Inzwischen gibt es auch die Unterscheidung zwischen
    A & B Waffenschein).




    Falls ihr n' fahrbaren Untersatz braucht, schaut doch mal bei dem nächsten Autohaus vorbei und
    holt euch was, das zu euch passt. Ihr habt die Wahl zwischen dem Billighändler Coutt und Schutz oder
    einem, sagen wir, eher dem Wohlstand angepasstem Autohaus.




    Auf der Minimap seht ihr nicht nur, wo Norden ist, sondern auch alle verfügbaren Läden und Lokalitäten wie
    dem Polizeirevier, gibt guten Kaffee und Donuts dort. Auf eine frühzeitige Entlassung eures besten Freundes könnt ihr jedoch
    nur vergeblich warten, da uns die Hektik von Anwälten nicht überzeugt hat.





    Stattdessen sucht euch doch lieber einen Job, mit dem ihr echte Dienstleistungen anbieten könnt, wie den Mechaniker oder den
    Taxifahrer. Auch der Pizzalieferant ist gern gesehen auf geselligen Partys.



    Oder seid ihr keine langweiligen Städter mit geordnetem Leben und braucht das nötige Kleingeld für n' Haus?
    Dann sagt euch sicher ein illegaler Job zu, sie sind nicht einfach zu finden ohne Insider, aber seid ihr erstmal dabei, gibt's kein zurück! Außer ihr nutzt /canceljob natürlich.
    Bei solchen Jobs solltet ihr auch Kontakte zu bestimmten Gangs knüpfen, da eure Bezahlung von ihnen abhängt.
    Tipp: Am Cracklabor der Ballas könnt ihr euch sicher nützlich machen.




    Wenn ihr dann genug Bares für ein neues Haus zusammengekratzt habt, könnt ihr euch mal umsehen, es gibt gute Angebote!


    Verwalten könnt ihr das (/)Haus auch, nutzt ein paar der Upgrades, um euch die Bude noch gemütlicher zu machen oder zieht den Mietern bisschen
    mehr Geld ab, falls sie euch nerven. Ihr müsst ja schließlich auch was daran verdienen, dass sie in eurem Haus übernachten oder nicht?



    Falls ihr mal durch gefährlichere Gegenden, wie Ganton oder den Jefferson Park kommt, solltet ihr euch lieber bewaffnen, denn dort gilt das Recht
    des Stärkeren. Die Ausrüstung erhaltet ihr in jedem Ammunation, auch sie sind auf eurer Minimap verzeichnet.




    Egal auf welche Seite ihr euch schlagt, es gibt immer etwas zu entdecken, ihr könnt eure Fraktion z.B. mit neuen Fahrzeugen ausstatten.



    Oder die Fraktion verwalten.



    Auch Tankstellen könnt ihr erwerben, aber es gibt nicht sehr viele, lasst sie euch nicht wegschnappen!
    Mit der ersten eigenen Tankstelle kann man so einiges anfangen, sie wird Ingame erstellt und kann durch euch verwaltet werden.
    Das Häusersystem, sowie das Autosystem basieren auf dem selben Prinzip, alles kann Ingame komplett dynamisch erstellt und verändert werden




    Wenn ihr in ein Auto steigt, sollte euch das simpel gestaltete Speedometer auffallen, nur die nötigsten Infos sind
    vorhanden, um bei einem schnellen Blick während der Fahrt direkt zu sehen, ob man demnächst eine Tankstelle braucht oder
    wie schnell man fährt.




    Und zu guter letzt eure persönliche Statistik, die man ab und zu mal aufrufen sollte,
    um sich ein Überblick über den Ingame-Charakter zu verschaffen.





    Das Schlusswort


    Dies sind nur ein paar Bilder (teilweise von der alten Vorstellung) zur Open Beta und natürlich längst nicht alles (weitere Bilder folgen), falls euer Interesse geweckt wurde, schaut einfach mal vorbei und werdet Teil unserer Community. Zu dieser soll gesagt sein, dass wir uns auf Roleplayer freuen, denn wir nehmen uns da ein Beispiel an englischsprachigen Servern dieser Art. Es gibt bei uns kein Gesetzbuch oder ähnliches, da wir auf ein nettes Miteinander abzielen, aus dem sich eine reife Community bilden soll in der man sich nicht nur selbst profilieren will.



    GAMSESOME Zugangsdaten


    Gameserver: gamesome.de:7777
    Forum: forum.gamesome.de
    Teamspeak: gamesome.de


    Zu dem Forum sei gesagt, dass es noch längst nicht fertig ist, da es dafür vor dem Start der Beta Phase nicht mehr genug Zeit gab. Zur Eröffnung des Servers
    wird es fertig sein. Im Moment dient es dem reinen Informationsaustausch.


    Wir hoffen, euch hat die Werbung gefallen und wir sehen uns demnächst auf dem Server.


    Freundliche Grüße vom GAMESOME Admin Team!

    Tut mir Leid, hab vergessen, den Server zu schließen. Die Datenbank ist nicht aktuell, daher fehlt dort quasi die Hälfte.
    Nachher sieht das alles ganz anders aus, ist auch nicht das aktuelle Script drauf.



    Edit:


    So, hab den Server erstmal dicht gemacht, später geht's dann mit kompletter Datenbank und neustem Script weiter.

    Er ist ja auch noch nicht komplett eröffnet.
    Wir sind in der RC (Release Candidate) Phase und somit noch nicht mit allen Features durch.


    master:


    Du hast dich als Co-Leader beworben, diese Bewerbung gehört nicht in meinen oder den eines anderen Admins Aufgabenbereich.
    Dafür ist der Leader zuständig. Die Bewerbung hatte ich längst gelesen.


    Die Inaktivität sei mir doch bitte verziehen, da meine Schule wieder angefangen hat und ich eben anderes zu tun habe.
    Sonst bin ich immer für den Server und unsere User da und jederzeit ansprechbar per PN.


    Mit freundlichen Grüßen,


    Walker


    Inoffizielle Ankündigung


    Edit Nov. 2013:


    Guten Tag, breadfish'ler, hiermit kündige ich fast offiziell an, dass
    wir unser damaliges Projekt weiterführen werden.
    In den letzten Monaten habe ich mich am Script zu schaffen gemacht und Vieles verbessert oder neu entwickelt.


    Das Projekt läuft jetzt unter neuem Namen weiter und wird vermutlich noch heute zur Beta freigegeben und angekündigt.
    Das Script läuft jetzt sehr stabil, nicht 100% bugfrei (welches Script tut das schon von Anfang an), aber mir wären momentan keine Fehler bekannt.
    Und dafür brauch ich euch, denn ihr werdet sicher noch einige Bugs finden können im Laufe der Beta Phase.


    Das Projekt läuft über einen vServer, was uns unabhängig von anderen Hostern macht und dadurch keine Zeit durch Einbrüche dieser kostet.
    Auch ein neues Forum mit TLD gibt es schon, jedoch ohne angepasstes Design, da wir unser Altes aufgrund der neuen Namensgebung verwerfen mussten.


    Detailliertere Infos folgen im Laufe des Tages.


    Mit freundlichen Grüßen,


    SoulMan

    So, jetzt hab ich Zeit, zu antworten.


    Ich werde jetzt einfach mal OnPlayerDeath komplett reinhauen.


    public OnPlayerDeath(playerid, killerid, reason)
    {
    GivePM(playerid,100);
    SetPVarInt(playerid,"mech_dienst",0);
    SetPVarInt(playerid,"pizza_dienst",0);
    SetPVarInt(playerid,"farm_dienst",0);
    SetPVarInt(playerid,"taxiduty",0);
    SetPVarInt(playerid, "d_dienst", 0);
    SetPVarInt(playerid, "m_dienst", 0);
    SetPVarInt(playerid, "dienst", 0);
    SetPVarInt(playerid, "fdienst", 0);
    LoseProperty(playerid);
    SetPVarInt(playerid,"Dead",1);
    lastkillerID[playerid] = killerid;
    if(pVars[playerid][Auswahl] == 1)return 0;
    if(pInfo[killerid][Fraktion] != 4 && pInfo[killerid][Fraktion] != 9)
    {
    new Zeuge = GetNearestPlayer(killerid,25.0);
    if(Zeuge != -1 && pInfo[killerid][Fraktion] > 0 && pInfo[Zeuge][Fraktion] != pInfo[killerid][Fraktion])
    {
    new str3[128],strZ[128];
    new grund[128] = "Mord";
    pInfo[killerid][lastreason] = grund;
    format(strZ,sizeof(strZ),"Du hast ein Verbrechen [Mord] begangen - Zeuge: %s",SpielerName[Zeuge]);
    format(str3,sizeof(str3),"Aktuelles Wantedlevel: %i",pInfo[killerid][Wanteds]);
    SendClientMessage(killerid,0xFFFA00FF,str3);
    SendClientMessage(killerid,COLOR_RED,strZ);
    SendCrimeMessageEx("[HQ] Verbrechen: {FF9933}%s hat einen Mord begangen, Zeuge: %s",SpielerName[killerid],SpielerName[Zeuge]);
    new Wantedsterne = GetPlayerWantedLevel(killerid);
    SetPlayerWantedLevel(killerid,Wantedsterne+1);
    pInfo[killerid][Wanteds]++;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(killerid,x,y,z);
    SetCrimeMarker(x,y,z);
    }
    else SendClientMessage(killerid,COLOR_RED,"Du hast ein Verbrechen [Mord] begangen - Zeuge: Keiner");
    }
    else if(pInfo[killerid][Fraktion]==4 || pInfo[killerid][Fraktion]==9 && pInfo[playerid][Wanteds] > 0)
    {
    new Bonus = pInfo[playerid][Wanteds] * 1000;
    pInfo[playerid][JailTime] = pInfo[playerid][Wanteds] * 60000 * 4;
    GameTextForPlayer(killerid,"~g~Straftaeter getoetet",3000,3);
    GivePM(killerid,Bonus/10);
    FrakInfo[pInfo[playerid][Fraktion]][f_Kasse] += Bonus;
    }
    if(Spawned[playerid] == 1 && pInfo[playerid][JailTime] < 1 || killerid == INVALID_PLAYER_ID)
    {
    ResetPlayerWeapons(playerid);
    new str[128];
    format(str,sizeof(str),"Du bist im Krankenhaus~n~~g~Behandlung: ~r~%d Minuten",sVars[KrankenhausZeit]*1000/60000);
    GameTextForPlayer(playerid,str,sVars[KrankenhausZeit]*1000,3);
    SetTimerEx("KrankenhausTimer",sVars[KrankenhausZeit]*1000,0,"i",playerid);
    TogglePlayerControllable(playerid, 0);
    new Float:xx, Float:yy, Float:zz;
    GetPlayerPos(playerid, xx, yy, zz);
    if((xx > -992.5172 && xx < 4000.0000) && (yy < 528.0000 && yy > -4000.0000)) //Los Santos
    {
    KrankenhausLS[playerid] = 1;
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    SetPlayerInterior(playerid, 0);
    //Los Santos
    }
    if((xx > -4000.0000 && xx< -992.5172) && (yy < 4000.0000 && yy > -4000.0000)) //San Fierro
    {
    KrankenhausSF[playerid] = 1;
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, -2452.4099,628.8833,64.9522);
    SetPlayerCameraLookAt(playerid, -2618.7205,649.4597,67.2017);
    SetPlayerInterior(playerid, 0);
    //San Fierro
    }
    if((xx > -992.5172 && xx< 4000.0000) && (yy < 4000.0000 && yy > 528.0000)) //Las Venturas
    {
    KrankenhausLV[playerid] = 1;
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid,1617.1127,1889.3317,33.4111);
    SetPlayerCameraLookAt(playerid,1607.3221,1818.3948,31.4688);
    SetPlayerInterior(playerid, 0);
    //Las Venturas
    }
    }
    if((GangWar[pInfo[playerid][Fraktion]][Gegner]==pInfo[killerid][Fraktion] && GangWar[pInfo[playerid][Fraktion]][Gegner]!=0) || (GangWar[pInfo[killerid][Fraktion]][Gegner]==pInfo[playerid][Fraktion] && GangWar[pInfo[killerid][Fraktion]][Gegner]!=0))
    {
    GameTextForPlayer(playerid,"~r~Gangwarkill",2000,6);
    GameTextForPlayer(killerid,"~g~Gangwarkill",2000,6);
    new frak = pInfo[killerid][Fraktion];
    FrakInfo[frak][f_Kasse] += 200;
    UpdateFrak(FrakInfo[frak][f_Kasse],GangWar[frak][Gegner],GangWar[frak][WarGrund],FrakInfo[frak][f_Gehalt],frak);
    }
    pInfo[playerid][MaskeOben]=0;
    pInfo[playerid][Maske]=0;
    RemovePlayerAttachedObject(playerid,1);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    ShowPlayerNameTagForPlayer(i, playerid, 1);
    }
    }
    return 1;
    }


    Funktionieren tut nicht:


    - Verbrecher töten (GameText: "Straftaeter getoetet")
    -> Auch nicht Cops erhalten teilweise (nicht immer) die Nachricht
    - Bei Selbstmord in das Krankenhaus kommen.

    Ich wollte nur wissen, ob es anderen ähnlich geht bei OnPlayerDeath, denn das ist der einzige Abschnitt im Script, in dem
    theoretisch korrekter Code permanent nicht funktioniert.
    Man kann dort auch teilweise die Abfragen gar nicht sinnvoll weiter verändern.