Es gibt doch auch dieses Spray, als Waffe.
Beiträge von Beagle
-
-
Ist doch klar, er will mehr muni bei spray :b
-
-
Nun, ich hab einen Array gemacht "KillCount" nun will ich prüfen, welche der Variablen die höchste ist..
-
Alsooo, ich hab mit 0.3c und AttachObjectToVehicle Kanonen aufs Car gebastelt. Keine Bugs soweit, aber darum geht es ja nicht. Ich will nun, wenn der Spieler eine bestimmte Taste drückt, eine Explosion kommt, funktioniert auch, allerdings sollte die Explosion vor dem Spieler sein, nicht irgendwo in der nähe, oder hinter ihm. Wie finde ich nun raus, wo die Explosion sein muss?
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new bigcargun;
for(new i = 0; i < sizeof(Infernus); i++)//Nimmt die Anzahl die im new oben steht und gibt sie als i aus
{
if(GetPlayerVehicleID(playerid) == Infernus[i])
{
bigcargun = CreateObject(3884, 0, 0, 0, 0, 0, 0);
AttachObjectToVehicle(bigcargun, GetPlayerVehicleID(playerid), 0, 0, 0+0.18, 0, 0, 0);
}
}
for(new i = 0; i < sizeof(Tahoma); i++)
{
if(GetPlayerVehicleID(playerid) == Tahoma[i]){
bigcargun = CreateObject(3884, 0, 0, 0, 0, 0, 0);
AttachObjectToVehicle(bigcargun, GetPlayerVehicleID(playerid), 0, 0-0.5, 0+0.35, 0, 0, 0);
}
}
for(new i = 0; i < sizeof(Slamvan); i++)
{
if(GetPlayerVehicleID(playerid) == Slamvan[i]){
bigcargun = CreateObject(3884, 0, 0, 0, 0, 0, 0);
AttachObjectToVehicle(bigcargun, GetPlayerVehicleID(playerid), 0, 0-1.5, 0-0.2, 0, 0, 0);
}
}
}
return 1;
}public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys & KEY_FIRE)
{
new Float:x, Float:y, Float:z;
for(new i = 0; i < sizeof(Slamvan); i++)
{
if(GetPlayerVehicleID(playerid) == Slamvan[i]){
GetPlayerPos(playerid, x, y, z);
CreateExplosion(x, y+50, z, 6, 20);
}
}
}
return 1;
} -
omg, das dadurch gleich nen Error kommt...
Thx. -
Dann geht der Code dadrunter nicht mehr...
-
C:\Programme\Rockstar Games\GTA San Andreas\RL Server\gamemodes\reallife.pwn(200) : error 010: invalid function or declaration
C:\Programme\Rockstar Games\GTA San Andreas\RL Server\gamemodes\reallife.pwn(202) : error 025: function heading differs from prototype
200:
return 0;
202:
public OnPlayerStateChange(playerid, oldstate, newstate){
...
Edit:// Ohne das von Samp Special Scripter kommt folgendes:
C:\Programme\Rockstar Games\GTA San Andreas\RL Server\gamemodes\reallife.pwn(202) : error 025: function heading differs from prototype
Zeile 202:
public OnPlayerStateChange(playerid, oldstate, newstate){ -
public BehoerdenCars(vehicleid){
-
#include <a_samp>
#include <sscanf2>
#include <dini>#define grau 0xAFAFAFAA
#define gruen 0x33AA33AA
#define rot 0xAA3333AA
#define gelb 0xFFFF00AA
#define weiss 0xFFFFFFAA
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1new Float:EventPosX, Float:EventPosY, Float:EventPosZ, EventAktiv;
new arbenter, arbexit;
new beaglehausto1, beaglehausto2, beaglehaustf1, beaglehaustf2;
new fbi[22];
new PlayerJob;
forward BehoerdenCars(vehicleid);
main()
und
public BehoerdenCars(vehicleid){
for(new i = 0; i < sizeof(fbi); i++)//Nimmt die Anzahl die im new oben steht und gibt sie als i aus
{
if(vehicleid == fbi[i])
{
return 1;
}
}
return 0;
}
public OnPlayerStateChange(playerid, oldstate, newstate){
new Spielerdatei[64], name[MAX_PLAYER_NAME], frak, vehicleid;
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/accounts/%s.txt",name);
frak = dini_Int(Spielerdatei, "Frak");
if(newstate == PLAYER_STATE_DRIVER)
{
if(BehoerdenCars(vehicleid))
{
if(!frak == 1 || !frak == 2 || !frak == 3)
{
SendClientMessage(playerid,rot,"Du bist nicht bei der Army / dem FBI / den Cops!");
RemovePlayerFromVehicle(playerid);
}
}
}
}
Fehler kommt:
C:\Programme\Rockstar Games\GTA San Andreas\RL Server\reallife.pwn(203) : error 025: function heading differs from prototype -
dcmd_report(playerid, params[])
{
new playermsg[128], playername[MAX_PLAYER_NAME], string[128], pstring[128];
if(sscanf(params, "s", playermsg)){
return SendClientMessage(playerid, rot, "ServerWächter: Benutze: /report [nachricht]");
}
format(string, sizeof(string), "%s schickte folgende Nachricht per Report: %s", playername, playermsg);
format(pstring, sizeof(pstring), "ServerWächter: Du hast folgendes an die Admins gesendet:\n %s", playermsg);
SendClientMessage(playerid, grau, pstring);
for(new i; i<MAX_PLAYERS;i++)
{
if(IsPlayerAdmin(i))
{
SendClientMessage(i,grau,string);
}
}
return 1;
}
Runtime Error 19. Wär ausserdem nett, wenn mir jemand erklärt wie 'ne /report funktion aussehen könnte...
Runtime Error 19 kommt bei mir ausserdem auch bei folgendem Script:
dcmd_kick(playerid, params[])
{
if(IsPlayerAdmin(playerid)){
new adminname[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME], grund, kickmsg[130], pID;
if(sscanf(params, "us", pID, grund)) {
return SendClientMessage(playerid, grau,"ServerWächter: Benutze: /kick [playerid / playername] [grund]");
}
if(pID == INVALID_PLAYER_ID){
return SendClientMessage(playerid, grau, "ServerWächter: Kein Spieler mit angegebener ID online.");
}
format(kickmsg, sizeof(kickmsg), "ServerWächter: %s wurde von %s gekickt. Grund: %s", playername, adminname, grund);
SendClientMessageToAll(gelb, "ServerWächter: %s wurde von %s gekickt. Grund: %s");
}else{
SendClientMessage(playerid, rot, "ServerWächter: Du bist kein Admin!");
}
return 1;
}
Ich glaub das liegt an dem INVALID_PLAYER_ID... bzw oben bei dem MAX_PLAYERS...
*n00b sei* -
Danke, ]hp[ und Shinoda, funktioniert jetzt.
-
Nein, geht trotzdem nicht.
-
public OnPlayerDeath(playerid, killerid, reason)
{
new string[130];
new string2[130];
new totenname[40];
new killername[40];GetPlayerName(playerid, totenname, sizeof(totenname));
GetPlayerName(killerid, killername, sizeof(killername));
// -----------------------
if(killerid == playerid){
GivePlayerMoney(playerid, -100);
SetPlayerScore(playerid, GetPlayerScore (playerid) -1);
return SendClientMessage(playerid, rot, "BASIS: Du n00b hast dich selbst getötet! Score -1, Geld -100!");
}
// -----------------------format(string, sizeof(string), "BASIS: Du hast %s getötet! Score +1, Geld +100!", totenname);
format(string2, sizeof(string2), "BASIS: Du wurdest von %s getötet! Score -1, Geld -100!", killername);
SendClientMessage(killerid, gruen, string);
SendClientMessage(playerid, rot, string2);GivePlayerMoney(playerid, -100);
SetPlayerScore(playerid, GetPlayerScore(playerid) -1);GivePlayerMoney(killerid, 100);
SetPlayerScore(killerid, GetPlayerScore(killerid) +1);return 1;
}
Falls Spieler1 von Spieler2 getötet wird, soll Spieler2 1 Score bekommen, und 100$. Genau das wird Spieler1 abgezogen. Bei Spieler2 soll dann die Nachricht kommen: BASIS: Du hast Spieler1 getötet! Score +1, Geld +100!
Und Spieler1: BASIS: Du wurdest von Spieler2 getötet! Score -1, Geld -100!
Das Funktioniert soweit. Aber, ich will nun das wenn sich Spieler1 selbst tötet bei ihm kommt: BASIS: Du n00b hast dich selbst getötet! Score -1, Geld -100!
Das Funktioniert aber nicht, es kommt: BASIS: Du wurdest von getötet! Score -1, Geld -100!
Help xD -
Überschrift lesen, gibts da ne möglichkeit?
-
Alsoo, paar fragen...
Frage Nr. 1:
Ich hab ein /fix Script, was den Wagen repariert. Dabei wird aber nur der Motor repariert. Die Karosserie aber nicht...
if(!strcmp(cmdtext, "/fix"))
{
if(IsPlayerInAnyVehicle(playerid)) //checkt ob der spieler in einem Fahrzeug sitzt
{
new Float:health;
new veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
SetVehicleHealth(veh,1000);
SendClientMessage(playerid,COLOR_GREEN," Fahrzeug Repariert!");
}
else //wenn der Spieler in keinem Fahrzeug sitzt
{
SendClientMessage(playerid, COLOR_RED, " Du bist in keinem Fahrzeug!");
}
return 1;
}
Frage Nr. 2:
Warum unterscheidet SA-MP zwischen Groß- und Kleinschreibung?Edit://
Frage Nr. 3:
Kann ich iwie die Eingabe hinter /befehl überprüfen? Wenn ja, wie? -
Jap, Funktioniert. Thx.
-
Alsooo, ich will ein Auto spawnen (Infernus), neben den Spieler. Das Spawnen hab ich schon hinbekommen. Aber es Spawnt AUF den Spieler. Kann ich es irgendwie machen, das dass Auto direkt vor den Spieler spawnt?
if(!strcmp(cmdtext, "/v"))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
AddStaticVehicle(411,X,Y,Z,270.8807,0,0);
PutPlayerInVehicle(playerid, 0, 0);
return 1;
}
Edit:// Achja, das "PutPlayerInvehicle" funktioniert nicht. xD Kann ich irgendwie die ID des gerade gespawnten Fahrzeugs überprüfen? -
Oh, Thx.
Kann ich auch Befehle hinzufügen? -
Alsooooo, es gibt ja dieses Server Fenster, in dem man auch "say [nachricht]" eingeben kann. Undso...
Könnte mir einer 'nen Link oder so geben, wo alle befehle stehen.
Und sons noch 'ne Frage. Kann ich da auch Befehle hinzufügen?