Danke
Wie bekomm ich jetzt die Warnings weg ?
warning 219: local variable "x" shadows a variable at a preceding level
warning 219: local variable "y" shadows a variable at a preceding level
warning 219: local variable "z" shadows a variable at a preceding level
Beiträge von Oskaar1994
-
-
Das hier:
new Float:x, Float:y, Float:z;Ganz oben im Script rein!
/edit
Und das:
SetTimer("refuelpos",100,true);
zu das:
SeTimerEx("refuelpos",100,0,"d",playerid);Das "true" heißt, dass das weiter läuft, und nicht aufhört.
Wenn du aber "0" oder "false" einträgst, dann läuft der Timer nur einmal und bricht danach ab, und du brauchst das ja nur einmal.
Aber was muss jetzt hier :
if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z))
statt x,y,z rein ? Ich will ja nicht selber überprüft werden, sondern ob ich in der Nähe von dem Spieler bin, der /midairrefuel eingegeben hat . -
Hey hab da mal ne Frage ,
wie überprüfe ich die Position eines Spielers der ein bestimmtes Command eingegeben hat ohne seine Playerid zu wissen hier das Problem in meinem Fall :
CMD:midairrefuel(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid))
{
SetTimer("refuelpos",100,true);
}return 1;
}public refuelpos(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Job[playerid] == 3)
{
SetPlayerCheckpoint(i, x, y, z, 3.0);
}
}return 1;
}CMD:refuelplane(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z))
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Job[playerid] == 3)
{
GivePlayerMoney(playerid, 35000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
SendClientMessage(playerid, 0xFFFFFFFF, "You have surcefully refueled the plane!");
DisablePlayerCheckpoint(playerid);
}
}
}return 1;
}
Das x,y und z im 2ten Command soll durch die Position des Players, der das erste Command eingegeben hat ersetzt werden. -
Achso hatte noch kein Save System Stande etwas auf dem Schlauch sry
-
Ich bin halt noch scripting Anfänger und es wäre nett wenn mir das jemand erkären könnte
-
Das war nicht mein Problem, da ist mir nur was mit copy und paste durcheinander gekommen, ich bekomm folgende Errors:
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one lineAlles in der Zeile : DeineSpielerInfo[playerid][JobAngabe]=1;
-
Würde auch gerne wissen wie ich am besten in einen Panzer komm, ich will nichtmal unbedingt aus der Base, einfach ein bisschen rumballern. Ich hatte auch schonmal einfach nen Panzer an den Cargobob gehängt aber dann musste natürlich irgendein Spaten in nem Jumbo-Jet kommen und mich rammen
-
Du setzten den Spieler in den Job, z.b DeineSpielerInfo[playerid][JobAngabe]=1;
und zum Befehl:
CMD:needpilot(playerid)//Der Befehl üder zcmd
{
new PlayerPos[3];//neue Vabiabele Playerpos
GetPlayerPos(playerid, PlayerPos[0], PlayerPos[1], PlayerPos[2]);//Wir ermitteln die Position vom Spieler
for(new i=0;i<max_players;i++) eine="" schleife="" die="" geht="" alle="" spieler="" durch
{
if(IsPlayerConnected(i) && DeineSpielerInfo[playerid][JobAngabe]==1)//Fragt ob ob die Spieler Online sind un im Job 1
{
SetPlayerCheckpoint(i, PlayerPos[0], PlayerPos[1], PlayerPos[2], 10.0);//Setzt einen Checkpoint bei den Spieler
}
}
return 1;
}Also wenn ich jetzt bei OnDialogResponse das verwende, mach ich das dann so ?: DeineSpielerInfo[playerid][Pilot]=1;
Und was kommt jetzt statt DeineSpielerinfo ? Wird dann jemand zufälliges aus dem Job Pilot kontaktiert oder alle ? Ich wollte halt, dass nur einer kontaktiert wird weil es wäre ja blöd wenn plötzlich 20 Spieler zu einem fliegen Könnte ich das ganze auch mit einem Timer verbinden so dass wenn sich der Spieler bewegt die Position des Checkpoints immer wieder neu berechnet ? -
Hab jetzt lange herum probiert um es zu ändern, aber habe es leider nicht geschafft. Ich habe mich wahrscheinlich nicht verständlich genug ausgedrückt. Der 2te Checkpoint(airport) soll ein zufällig kompatibler sein also nicht der nähste zu Flughafen 1. Wäre ja langweilig immer zwischen 2 Airports zu wechseln aber wie gesagt der 1.te Checkpoint soll schon am nähsten ein. Ich wollte auch ein streckenabhängiges Gehalt machen wusste nur nicht genau wie. Hatte mir überlegt es vll mit GetPlayerDistanceFromPoint zu machen also z.B 1000m = 1500 $ oder so ähnlich. Und geht es auch den Airports so zusagen Namen zu geben, dass z.B : Flight from Las Venturas Airport to Los Santos Airport, angezeigt wird, müsste doch irgendwie mit Strings gehen oder verwechsele ich hier etwas ?
-
Hey zusammen hab mal eine Frage,
auf meinem Server gibt es verschiedene Classes wie Pilot,Trucker usw. Ich habe dafür schon einen Dialog erstellt. Wie mache ich es jetzt, dass wenn ich z.B Pilot auswähle er auch dem Job Pilot zugeteilt wird. Als Beispiel Comannd soll jetzt irgendjemand /needpilot eingeben und eine zufällige zufällige Person die der Class Piloten angehört, also nicht alle bekommt angezeigt : Personxy braucht eine Abholung.
Hilfe wäre echt nett -
Eine Methode gäbe es : Du duplizierst den Heil per Glitch und gibts ihn dann jemand anders, der dir im Gegenzug über das Inventar Geld gibt. Danach zerstörst du den originalen.
-
Kurz und knapp zerstöre ihn einfach.
-
Irgendjemand hat es geschafft sich einen Space Docker(Alien Auto) zu besorgen und hat das mit einem Glich dupliziert und andere Spieler weiter gegeben. Wäre jemand bereit mir eins zu duplizieren ? Wäre nett
-
Hey hab mal eine Frage zur Verwaltung von Checkpoints.
Es gibt ja Checkpointstreamer,aber wie verwende ich die richtig z.B mit Inkognitos Streamer. Mein Problem ist ich will auf meinem Server sehr viel Checkpoint basiert machen. Aber wie bekommen ich es hin, dass z.B wenn ich in einen Haus Checkpoint gehe sich nicht das Menü des Bankcheckpoints öffnet.
Wäre nett wenn mir jemand hilft. -
Hey hab ein Problem:
Ich habe einen Npc recorded und in ein blankes Script zum Testen eingebaut, aber leider steht er nur am Spawn und macht nichts. Normalerweise sollte er rumfahren.
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT#include <a_samp>
new MyFirstNPCVehicle;
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
ConnectNPC("Train","train");
MyFirstNPCVehicle = AddStaticVehicleEx (537, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}public OnGameModeExit()
{
return 1;
}public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}public OnPlayerConnect(playerid)
{
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
return 1;
}public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
if(!strcmp(npcname, "MyFirstNPC", true)) //Checking if the NPC's name is MyFirstNPC
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
}
return 1;
}
//Other stuff for normal players goes here!
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}public OnVehicleSpawn(vehicleid)
{
return 1;
}public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}public OnPlayerText(playerid, text[])
{
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}public OnRconCommand(cmd[])
{
return 1;
}public OnPlayerRequestSpawn(playerid)
{
return 1;
}public OnObjectMoved(objectid)
{
return 1;
}public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}public OnPlayerExitedMenu(playerid)
{
return 1;
}public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}public OnPlayerUpdate(playerid)
{
return 1;
}public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
} -
-
Ich habe im Singleplayer schon oft Geldtransporter gefunden und überfallen aber ich habe noch keinen einzigen in GTA Online gesehen ? Daher frage ich mich gibt es sie auch in GTA Online ?
-
#include <a_samp>
#include <zcmd>#define MAX_FLUGHAEFEN 5
#define DODO_ID 593
#define NEVADA_ID 553
#define SHAMAL_ID 519
#define BEAGLE_ID 511new Dodo[MAX_FLUGHAEFEN];
new Shamal[MAX_FLUGHAEFEN];
new Nevada[MAX_FLUGHAEFEN];
new Beagle[MAX_FLUGHAEFEN];new Flughafen[MAX_PLAYERS];
new FlughafenNr[MAX_PLAYERS];enum Check
{
Float:x,
Float:y,
Float:z,
Float:size
};
//Die Flughäfen
new Float:Checkpoints[5][Check] = {
{1576.9788,1391.3984,10.8483, 10.0},//lva,0
{-1364.0537,-215.1572,14.1484, 10.0},//sfa,1
{-760.1149,1994.4023,5.4734,10.0},//sherman,2
{1726.6909,-2407.4905,13.5547,10.0},//ls,3
{2866.5273,1870.2122,14.1785,10.0}//rockshore,4};
public OnFilterScriptInit()
{
Dodo[0]=1;
Dodo[1]=1;
Dodo[2]=1;
Dodo[3]=1;
Dodo[4]=1;
Shamal[0] = 1;
Shamal[1] = 1;
Shamal[2] = 1;
Shamal[3] = 1;
Shamal[4] = 1;
Nevada[0] = 1;
Nevada[1] = 1;
Nevada[2] = 1;
Nevada[3] = 1;
Beagle[0]=1;
Beagle[1]=1;
Beagle[2]=1;
Beagle[3]=1;
Beagle[4]=1;
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/work", true))
{
new vehid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehid) != DODO_ID && GetVehicleModel(vehid) != NEVADA_ID && GetVehicleModel(vehid) != SHAMAL_ID && GetVehicleModel(vehid) != BEAGLE_ID) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Flugzeug.");
new id = GetNearestAirport(playerid);
if(id == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: No Airports found (If you get this error use /admin to report this bug to an admin!).");
Flughafen[playerid] = id;
FlughafenNr[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Checkpoints[id][x],Checkpoints[id][y],Checkpoints[id][z],Checkpoints[id][size]);
new str[144];
format(str, sizeof(str), "Info: Flughafen %d wird angezeigt. Erlaubte Flugzeuge:", id);
SendClientMessage(playerid, 0x00FFFFFF, str);
if(Dodo[id] == 1) format(str, sizeof(str), "Dodo", str);
if(Shamal[id] == 1) format(str, sizeof(str), "%s, Shamal", str);
if(Nevada[id] == 1) format(str, sizeof(str), "%s, Nevada", str);
if(Beagle[id] == 1) format(str, sizeof(str), "%s, Beagle", str);
return SendClientMessage(playerid, 0x00FFFFFF, str);
}
return 0;
}public OnPlayerEnterCheckpoint(playerid)
{
FlughafenNr[playerid]++;
if(FlughafenNr[playerid] == 1)
{
//kein Geld
}
else
{
//Geld...
GivePlayerMoney(playerid,random(11000-25000)+25000);
}
//Neuer Flughafen ...
new vehid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehid) != DODO_ID && GetVehicleModel(vehid) != NEVADA_ID && GetVehicleModel(vehid) != SHAMAL_ID && GetVehicleModel(vehid) != BEAGLE_ID) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Flugzeug.");
new id = GetNearestAirport(playerid);
if(id == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Flughafen gefunden.");
Flughafen[playerid] = id;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Checkpoints[id][x],Checkpoints[id][y],Checkpoints[id][z],Checkpoints[id][size]);
new str[144];
format(str, sizeof(str), "Info: Flughafen %d wird angezeigt. Erlaubte Flugzeuge:", id);
SendClientMessage(playerid, 0x00FFFFFF, str);
if(Dodo[id] == 1) format(str, sizeof(str), "Dodo", str);
if(Shamal[id] == 1) format(str, sizeof(str), "%s, Shamal", str);
if(Nevada[id] == 1) format(str, sizeof(str), "%s, Nevada", str);
if(Beagle[id] == 1) format(str, sizeof(str), "%s, Beagle", str);
return SendClientMessage(playerid, 0x00FFFFFF, str);
}stock GetNearestAirport(playerid)
{
new Float:d = 2000000000.0, id = -1, veh = GetVehicleModel(GetPlayerVehicleID(playerid));
for(new i=0; i<MAX_FLUGHAEFEN; i++)
{
if(i == Flughafen[playerid]) continue;
new Float:tmp = GetPlayerDistanceFromPoint(playerid, Checkpoints[i][x],Checkpoints[i][y],Checkpoints[i][z]);
if(tmp < d)
{
if(veh == DODO_ID && Dodo[i] == 1 ||
veh == SHAMAL_ID && Shamal[i] == 1 ||
veh == BEAGLE_ID && Beagle[i] == 1 ||
veh == NEVADA_ID && Nevada[i] == 1) d = tmp, id = i;
}
}
return id;
}
Frage hab ich dir als PN geschickt
*edit* Problem mit dem Flugahfen adden hat sich erledigt hatte vergessen Server neu zu starten -
Nein dann soll es einen zufälligen nehmen. Aber ich meinte wie macht man es, dass es automatisch immer eine komaptiebelen Flughafen auswählt.
-
Fettes Danke ! Werd es gleich mal ausprobieren
*edit*
Wollte grade noch ein Onplayerentercheckpoint hinzufügen, dass wenn man in den ersten Checpoint fährt ein zweiter zufällig aus der LIste genommen wird nur Pawno zeigt einen Error. Und mit welcher Funktion mach ich es,dass automatisch ein kompatibeler Flughafen als Start bzw. Ziel ausgewählt wird ? Ich will auch noch hinzufügen,dass du ein Zufallsgehalt und einen Score weiß eigentlich auch wie das geht nur ich will halt, dass man es erst beim zweiten Checkpoint erhält nicht schon beim ersten.
#include <a_samp>#define MAX_FLUGHAEFEN 2
new Dodo[MAX_FLUGHAEFEN];
new Shamal[MAX_FLUGHAEFEN];
new Nevada[MAX_FLUGHAEFEN];enum Check
{
Float:x,
Float:y,
Float:z,
Float:size
};
//Die Flughäfen
new Float:Checkpoints[2][Check] = {
{1576.9788,1391.3984,10.8483, 10.0},
{-1364.0537,-215.1572,14.1484, 10.0}
};public OnFilterScriptInit()
{
Dodo[0]=1;
Dodo[1]=0;
Shamal[0] = 0;
Shamal[1] = 1;
Nevada[0] = 1;
Nevada[1] = 1;
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/work", true))
{
new Float:d = 2000000000.0, id = -1;
for(new i=0; i<MAX_FLUGHAEFEN; i++)
{
new Float:tmp = GetPlayerDistanceFromPoint(playerid, Checkpoints[i][x],Checkpoints[i][y],Checkpoints[i][z]);
if(tmp < d) d = tmp, id = i;
}
if(id == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Flughafen gefunden.");
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Checkpoints[id][x],Checkpoints[id][y],Checkpoints[id][z],Checkpoints[id][size]);
new str[144];
format(str, sizeof(str), "Info: Flughafen %d wird angezeigt. Erlaubte Flugzeuge:", id);
SendClientMessage(playerid, 0x00FFFFFF, str);
if(Dodo[id] == 1) format(str, sizeof(str), "Dodo", str);
if(Shamal[id] == 1) format(str, sizeof(str), "%s, Shamal", str);
if(Nevada[id] == 1) format(str, sizeof(str), "%s, Nevada", str);
return SendClientMessage(playerid, 0x00FFFFFF, str);
}
return 0;
}public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,Checkpoints[id][x],Checkpoints[id][y],Checkpoints[id][z],Checkpoints[id][size]);
return 1;
}