Beiträge von [LP]Tochnas

    Hallo Community,


    ich Scripte an einem Selfmade Reallife-Server und suche derzeit Mitstreiter, die mit mir Bugs suchen/finden, den Server testen/verbessern uvm.

    Informationen zum Team:

    - Tochnas (17): Serverleiter, Scripter
    - Konrad (21): Serverleiter, Forumtechniker


    Informationen zum Server:
    - Dynamisches Fraktionssystem

    Zitat

    Fraktionsleader müssen Fraktionsautos kaufen, Sie können sie Parken und abschließen.
    Mitglieder können auch auf- & abschließen


    - Dynamisches Autosystem

    Zitat

    Autos zum kaufen werden InGame erstellt und Editiert.
    Des Weiteren, gibt es Steuern für das Fahrzeug und jedes Fahrzeug hat seine eigene ID


    - Dynamisches Businesssystem

    Zitat

    Business zum kaufen werden InGame erstellt und Editiert.
    Die Preise der Produkte wo man bestellen kann werden alle Std. geändert.


    - Jobsystem

    Zitat

    - Taxifahrer
    - Drogenfarmer (Buggy)
    - Lieferant (Derzeit in Bearbeitung)
    - Mechaniker (In Planung)
    - Abschleppdienst (Derzeit in Bearbeitung)



    Gibt noch mehr Systeme, denek aber das oben reicht erst mal.. Da ja der Serve rin Aufbau ist und ich Leute suche die mit mir den Server verbessern.
    Ich freue mich auf viele Helfer.


    Serverinformationen stehen in der Signatur.



    PS an alle Flamer: DIES IST KEINE SERVERWERBUNG !!!

    Wo muss ich den Post einfügen, wenn ich Spieler suche, die mir helfen meinen Server zu scripten... also welche die mir ihre ideen geben und mit mir den Server testen.... also so genannt betaspieler der art und weise...

    #include <a_npc>
    #define RECORDING "Striperin"// Zivi gegen euren Aufnahmenamen ersetzen!


    main()
    {
    }


    public OnRecordingPlaybackEnd()
    {
    StartRecordingPlayback(2, RECORDING);//2 = Aufnahmetyp - Zu fuß, Recording = Der oben definierte Aufnahmename
    SendCommand("/npcstriba");
    }


    public OnNPCExitVehicle()
    {
    StartRecordingPlayback(2, RECORDING);//2 = Aufnahmetyp - Zu fuß, Recording = Der oben definierte Aufnahmename
    SendCommand("/npcstriba");
    }


    public OnNPCSpawn()
    {
    StartRecordingPlayback(2, RECORDING);//2 = Aufnahmetyp - Zu fuß, Recording = Der oben definierte Aufnahmename
    SendCommand("/npcstriba"); // du hast das "b" von striba vergessen
    }

    Danke Ap0llinaris & Sry4pwn
    aber habe ja schon gesagt das es Funktioniert ^^

    Zitat

    Danke es funktioniert ^^ Auch ein Erfahrener Scripter hat mal Fragen ;-P


    Sry4pwn


    If(getplayerstate(playerid)== player_state_driver) // Bekomme ich 100% ein Error ;-D
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // So sollte es dann aussehen ^^
    Anfänger fragen dann wieder waurm habe ich da Errors ^^ (Copy & Paste), fürs nächste mal schriebe
    mit Groß- & Kleinschreibung :thumbup:

    Wie kann ich Abfragen, ob der Spieler der Fahrer ist.
    Da bei mir der Beifahrer den Motor ausschalten kann...
    Arbeite mit OCMD... ispassenger funktioniert ja nur bei EnterVehicle


    Vielen Dank für eine Antwort

    Willst du mich vereppeln ?
    Ich will dir helfen und du bezeichnest mich hier als unfähig... guck grad wie klar kommst...
    Habe genug Erfahrung um dir was vor zu machen !!

    if(isPlayerInFrakt(killerid,4))
    {
    if(HitmanAuftrag[killerid] == playerid)
    {
    new string[128];
    SendClientMessage(killerid,HELLBLAU," ~ Du hast deinen Auftrag erfolgreich erledigt ~");
    format(string,sizeof(string)," ~ Du hast %d$ bekommen ~",ContractPrice[playerid]);
    SendClientMessage(killerid,HELLBLAU,string);
    GivePlayerMoney(killerid,ContractPrice[playerid] );
    ContractPrice[playerid] = 0;
    HitmanAuftrag[killerid] = 999;
    }
    }


    Du musst dem Hitman geld gebe nicht dem Opfer.... und wenn du der Variable "geld" keinen wert gibst gibt es auch kein geld für niemanden


    Edit: Fehler ausgebessert

    ocmd:contract(playerid,params[])
    {
    new string[200], pID, geld[10], kgeld;
    if(sscanf(params,"ui",pID,geld)) return SendClientMessage(playerid,GRAU,"Benutze: /contract [Spieler/ID] [Geldbetrag]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler nicht Gefunden!");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,HELLBLAU," ~ Es ist ein neuer Contract in Auftrag gegeben worden ~");
    format(string,sizeof(string)," ~ Spieler %s will für %i Dollar Spieler %s getötet haben ~",SpielerName(playerid),geld,SpielerName(pID));
    SendClientMessage(i,HELLBLAU,string);
    SendClientMessage(i,HELLBLAU," ~ Mach dich auf die Suche und töte ihn! ~");
    SetPVarInt(playerid,"HitmanAuftrag",1);
    ContractPrice[pID] = geld;
    HitmanAuftrag[playerid] = pID;
    // Zieh dem Spieler das Geld ab.. Der Spieler ist "playerid" meist GivePlayerMoney(playerid, -geld);
    }
    }
    }
    return 1;
    }

    Machste ganz oben im Script
    new ContractPrice[MAX_PLAYERS];
    new HitmanAuftrag[MAX_PLAYERS] = 999;


    Dein Befehl
    ocmd:contract(playerid,params[])
    {
    new string[200], pID, geld[10], kgeld;
    if(sscanf(params,"ui",pID,geld)) return SendClientMessage(playerid,GRAU,"Benutze: /contract [Spieler/ID] [Geldbetrag]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler nicht Gefunden!");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,HELLBLAU," ~ Es ist ein neuer Contract in Auftrag gegeben worden ~");
    format(string,sizeof(string)," ~ Spieler %s will für %i Dollar Spieler %s getötet haben ~",SpielerName(playerid),geld,SpielerName(pID));
    SendClientMessage(i,HELLBLAU,string);
    SendClientMessage(i,HELLBLAU," ~ Mach dich auf die Suche und töte ihn! ~");
    SetPVarInt(playerid,"HitmanAuftrag",1);
    ContractPrice[pID] = geld;
    HitmanAuftrag[playerid] = pID;
    }
    }
    }
    return 1;
    }


    bei OnPlayerDeath(playerid,killerid)
    if(isPlayerInFrakt(killerid,4))
    {
    if(HitmanAuftrag[killerid] == playerid)
    {
    SendClientMessage(killerid,HELLBLAU," ~ Du hast deinen Auftrag erfolgreich erledigt ~");
    format(string,sizeof(string)," ~ Du hast %d$ bekommen ~",geld);
    SendClientMessage(killerid,HELLBLAU,string);
    //Gib dem Spieler den Betrag !! Der Betrag ist bei ContractPrice[playerid] gespeichert
    ContractPrice[playerid] = 0;
    HitmanAuftrag[killerid] = 999;
    }
    }


    Sollte es probleme geben PN mich

    du musst die Geschwindigkeit als Variable angeben (%d) nicht in (%i)... Dann sollte es Funktionieren
    also
    if(sscanf(params,"ud",pID,gsw)) return SendClientMessage(playerid,COLOR_GREY,"BENUTZUNG: /asp [Name/ID] [Min.Gsw]");
    und
    format(str,sizeof(str),"%s hat eine Bombe in dein Auto implantiert. Mindestgeschwindigkeit: %d",name,gsw);


    Edit:
    Mache einen SekundenTimer !


    Ganz oben im Script
    new aspPlayer[MAX_PLAYERS]
    new aspPlayerGSW[MAX_PLAYERS}
    forward SekTimer();


    bei OnGameModeInit()
    SetTimer("SekTimer", 1000, 1);


    Ganz untem im Script
    public SekTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
    new speeds;
    GetVehicleVelocity(carid, speed_x, speed_y, speed_z);
    final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*93.0; // 136.666667 = kmph // 85.4166672= mph
    final_speed_int = floatround(final_speed,floatround_round);
    speeds = final_speed_int;
    if(aspPlayer[i] == 1)
    {
    if(aspPlayerGSW[i] < speeds)
    {
    SendClientMessage(playerid,COLOR_RED,"Bombe Explodiert");
    CreateExplosion(x,y,z,2,20);
    CreateExplosion(x,y,z,2,20);
    CreateExplosion(x,y,z,2,20);
    CreateExplosion(x,y,z,2,20);
    CreateExplosion(x,y,z,2,20);
    DestroyVehicle(carid);
    return 1;
    }
    }
    }
    return 1;
    }


    In deinem Befehl, sollte dann nun so aussehen
    ocmd:asp(playerid,params[])
    {
    new pID, gsw, carid, name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(PlayerInfo[playerid][pAdmin] >= 2012)
    {
    if(sscanf(params,"ud",pID,gsw)) return SendClientMessage(playerid,COLOR_GREY,"BENUTZUNG: /asp [Name/ID] [Min.Gsw]");
    if(!IsPlayerInAnyVehicle(pID))
    {
    SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist in keinem Fahrzeug!");
    return 1;
    }
    else if(IsPlayerInAnyVehicle(pID))
    {
    format(str,sizeof(str),"%s hat eine Bombe in dein Auto implantiert. Mindestgeschwindigkeit: %d",name,gsw);
    carid = GetPlayerVehicleID(pID);
    aspPlayer[pID] = 1;
    aspPlayerGSW[pID] = gsw;
    SendClientMessage(pID,COLOR_RED,str);
    SendClientMessage(playerid,COLOR_RED,str);
    SendClientMessage(playerid,COLOR_PURPLE,"* AutoSpeedBombe inplantiert!");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    return 1;
    }
    }
    return 1;
    }

    if(isPlayerInFrak(playerid,3))
    {
    new vehicle = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicle) == 403 || 514 || 515 || 552)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(IsTrailerAttachedToVehicle(vehicleid))
    {
    ShowPlayerDialog(playerid,work3,DIALOG_STYLE_LIST,"Wähle deine Route","LV Hafen - LS Hafen $5000\nSF Hafen - LV Hafen $1500\nLS Hafen - SF Hafen $2500\nSF Aufladestadion - LV Abladestation $3000\nSF Aufladestion - LV Inustriegebiet $3500\nLS Flughafen - SF Flughafen $2500\nLS Flughafen - SF Abladestation $3000\nLS Abladestation - LV Armybase $4500","Wählen","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT1,"Du musst erst einen Anhänger haben sonst kannst du keinen Job beginnen");
    return 1;
    }
    }
    **else
    {
    ShowPlayerDialog(playerid,work3,DIALOG_STYLE_LIST,"Wähle deine Route","LV Hafen - LS Hafen $5000\nSF Hafen - LV Hafen $1500\nLS Hafen - SF Hafen $2500\nSF Aufladestadion - LV Abladestation $3000\nSF Aufladestion - LV Inustriegebiet $3500\nLS Flughafen - SF Flughafen $2500\nLS Flughafen - SF Abladestation $3000\nLS Abladestation - LV Armybase $4500","Wählen","Abbrechen");
    return 1;
    }** // Kann weg, der Dialog soll ja nicht erscheinen, wenn es keine Zugmaschine ist !!
    }

    ocmd:invite(playerid,params[])
    {
    if(pInfo[pID][pLeader] >= 1);
    {
    new pID;
    new sendername[MAX_PLAYER_NAME];
    new string[256];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,WEIß,"/invite [playerid]");
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Du hast %s in die Fraktion eingeladen.", name);
    SendClientMessage(playerid, HELLBLAU, string);
    format(string, sizeof(string), "%s hat dich zur Fraktion eingeladen.", sendername);
    SendClientMessage(pID, HELLBLAU, string);
    pInfo[pID][pMember]=pInfo[playerid][pLeader];
    pInfo[pID][pRank]=1;
    SpawnPlayer(pID);
    return 1;
    }
    }