forward IsObjectNearPlayer(objectid,playerid)
das oben im script dann dein
public IsObjectNearPlayer(objectid,playerid)
forward IsObjectNearPlayer(objectid,playerid)
das oben im script dann dein
public IsObjectNearPlayer(objectid,playerid)
SpawnPlayer(playerid);
bei OnPlayerSpawn(playerid) fügst du dann deine Coords und alles ein
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
ZitatFraktionsleader müssen Fraktionsautos kaufen, Sie können sie Parken und abschließen.
Mitglieder können auch auf- & abschließen
- Dynamisches Autosystem
ZitatAutos 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
ZitatBusiness 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
ZitatDanke es funktioniert Auch ein Erfahrener Scripter hat mal Fragen ;-P
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
Danke es funktioniert Auch ein Erfahrener Scripter hat mal Fragen ;-P
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 !!
Zeig mal den befehl SAPDCars(vehicleid) !!
ocmd:contract(playerid,params[])
{
new string[200], pID, geld, kgeld;
habe vergessen bei der Variable "geld" den String zu entfernen Error sollte gelöst sein
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
habe mein post editiert... da steht alles drin mit timer usw
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 !!
}
ich werde es mal auf meinem Server machen und testen und den scriptteil dann hier rein posten und erläutern !
Create3DTextLabel("Drücke die Enter Taste, um die Wand zu verlassen.",COLOR_GREEN,288.745971,169.350997,1007.171875,15.0,0,0);
CreatePickup(1239, 1, 288.745971,169.350997,1007.171875);
Problem gelöst
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;
}
}