Dieses Ding, kann man doch gar nicht Tool nennen. Es hat keine nennenswerte Funktionen? Bitte sehe dir doch andere Tools an und lern noch ein wenig Script...
MfG: Apoolecu
Dieses Ding, kann man doch gar nicht Tool nennen. Es hat keine nennenswerte Funktionen? Bitte sehe dir doch andere Tools an und lern noch ein wenig Script...
MfG: Apoolecu
also ich hatte mal eine die war von '06 und mit der konnte ich via W-Lan ins Net
MfG. Apoolecu
Hey,
danke schon mal jetzt habe ich aber das Problem das mein TankSystem mit Floats funktioniert jetzt muss ich das ja umrechnen in einen String habe ich via. strval(string); gemacht.
Problem ist nun bei mir ich habe if und eine else if abfrage aber es wird beides durch geführt
Hey leute,
ne ich habe es gedacht:
Player X geht an eine Tankstelle und gibt /tanken ein und erscheint z.B. via TextDraw die Zahl wie viel noch rein passt diese sollte sich dann aber auch Aktualisieren. Daher sollte es nicht
einfach auf MaxGas gesetzt werden finde ich irgendwie unreal
Hey leute,
könnte mir jemand evtl einen Countdown machen der abfragt ob noch etwas in den Tank rein passt bzw. ob er voll ist.
Ist er nicht voll soll er cmd. eine Nachricht schicken ,,Der Tank ist nicht voll" bei voll sein ,,Der Tank ist voll"
würde mich freuen wenn jemand so etwas machen könnte, ich habe es selber probiert aber bei mir stürtzt der Server wegen dem Timer ab
MfG: Apoolecu
Hey leute,
habe mir etwas zu recht geschrieben.
Der Code wäre:
public VehicleTanken(playerid)
{
for(new i=0; i< MAX_TANKEN; i++)
{
new TankeL[playerid] = CarInfo[GetPlayerVehicleID(playerid)][aBenzin] - CarInfo[GetPlayerVehicleID(playerid)][aMBenzin];
if(!TankeL[playerid] = 0)
{
CarInfo[GetPlayerVehicleID(playerid)][aBenzin] ++;
TankeL[playerid] --;
tanke[i][tLiter] --;
}
else if(TankeL[playerid] = 0)
{
SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug ist voll getankt.");
SendClientMessage(playerid,COLOR_RED,"Schönen Tag ihnen noch.");
tanke[i][tLiter] --;
KillTimer(VehicleTanken);
}
}
return 1;
}
die Fehler aber sind:
C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 008: must be a constant expression; assumed zero
C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 008: must be a constant expression; assumed zero
C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 036: empty statement
C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : fatal error 107: too many error messages on one line
der Fehler ist angeblicht in der Zeile new TankeL[playerid];
woran liegt das :S?
MfG: Apoolecu
kick(npcid);
musst nur die NPC ID rausfinden.
Einfach wäre es aber, wenn du einfach die NPC aufnahme stopst...
MFG: Apoolecu
Hey Leute,
was haltet ihr davon?
ZitatMerkblatt
Arbeitnehmerfreizügigkeit in der EU–
Neuregelung ab 1. Mai 2011
Arbeitnehmer aus den neuen EU-Beitrittsländern genießen ab dem 1. Mai 2011
uneingeschränkte Arbeitnehmerfreizügigkeit. Das heißt, dass zur Arbeitsaufnahme
in Deutschland keine Arbeitserlaubnis mehr notwendig ist.
Quelle: http://www.scribd.com/doc/3973…Neuregelung-ab-1-Mai-2011
würde gerne eure persönliche Meinung hören.
bei mir wars:
"Ich erschoss einen Stuhl und es war scheiße"
new string[128];
zu
new string[256];
probiers ma so...
EDIT: Fehler behoben
Hey,
janein von SAMP her ist es nicht möglich aber es wurde ein Audio Plugin entwickelt, mit dem man Musik Streamen bzw. abspielen kann.
Benutze mal die SuchFunktion und suche da nach Audio Plugin
findest bestimmt was.
MfG: Apoolecu
bei Fragen oder so kannst du dich ja im Thread von dem Tutorial melden
Hey,
würde dir empfehlen selber eins zu machen das verstehst du dann am ende auch besser...
*hust*eigen Werbung [ SCRIPTING ] Wie erstelle ich ein Dynamisches Car System? (Basis) *hust*
MfG: Apoolecu
Hallo,
hier in diesem Tutorial erkläre ich euch wie ihr ein Dynamisches Car System erstellt.
Benötigt wird:
-Dini
-Fortgeschrittenes PAWN wissen
Include einbinden:
#include <dini>
Ganz oben unter #include <a_samp>
Enum Struktur:
enum Car_System
{
aID,
aModel,
Float:aX,
Float:aY,
Float:aZ,
Float:aAngle,
}
new CarInfo[MAX_VEHICLES][Car_System];
Hier haben wir nun eine Enum Struktur erstellt, diese enthält:
-Die Model ID & die Car ID & die Floats X,Y,Z u. Angle
für was brauchen wir das?
Das wird gebraucht um das Car beim Laden an diesen Punkten zu erstellen, wenn wir jetzt aber keine Model haben wir irgendwo ein Auto gespawnt sprich ihr habt 2 Cars
das eine ist ein Infernus das andere ein Sultan. Der Sultan ist in LS, das andere Fahrzeug hingegen in LV. Wir starten das Script neu und schwups werden die Cars an diesen Orten gespawnt aber sie haben nicht die gewünschte Model ID.
die Car ID hingegen ist dazu da für ein Abfrage ob man Besitzer ist ( Ist hier im Tutorial nicht enthalten!) dazu wird die Car ID abfragt wer denn der Besitzer ist.
CarInfo ist dazu da, das jedes Vehicle diese Enum Struktur bekommt.
Speichern & Laden:
forward SpeicherFahrzeug(carid);
forward LadeFahrzeug(carid);
wie die Include oben im Script einbringen
public SpeicherFahrzeug(carid)
{
if(carid <= 0)
{
return 1;
}
CarInfo[carid][aModel] = GetVehicleModel(carid);
new str[25];
format(str, sizeof(str), "%d.car", carid);
dini_Create(str);
{
dini_IntSet(str,"ID",CarInfo[carid][aID]);
dini_FloatSet(str,"aX", CarInfo[carid][aX]);
dini_FloatSet(str,"aY", CarInfo[carid][aY]);
dini_FloatSet(str,"aZ", CarInfo[carid][aZ]);
dini_FloatSet(str,"aAngle", CarInfo[carid][aAngle]);
dini_IntSet(str,"Model",CarInfo[carid][aModel]);
}
return 1;
}
Ganz unten im Script einfügen
hier bekommt jedes Car eine eigene Datei zugewiesen die im CMD (Weiter unten) die von der Car ID bestimmt wird ausgenommen die Car ID: 0
sprich Fahrzeug Nummer 1 hat die Datei Nummer 1.car
dini_IntSet speichert ein Integer z.B. Model ist ein Integer
dini_FloatSet speichert einen Float wert
dini_Create erstellt eine Datei
(Ich verweise hiermit auf ein Dini Tutorial : [ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden)
public LadeFahrzeug(carid)
{
new str[25];
format(str, sizeof(str), "%d.car", carid);
if(carid == 0)
{
return 1;
}
if(fexist(str))
{
CarInfo[carid][aID] = dini_Int(str, "ID");
CarInfo[carid][aX] = dini_Float(str, "aX");
CarInfo[carid][aY] = dini_Float(str, "aY");
CarInfo[carid][aZ] = dini_Float(str, "aZ");
CarInfo[carid][aAngle] = dini_Float(str, "aAngle");
CarInfo[carid][aModel] = dini_Int(str, "Model");
}
return 1;
}
Ganz unten im Script einfügen
dini_Int lädt eine Integer
dini_Float lädt einen Float Wert herraus
hierbei wird mit if(fexist(str)) überprüft ob die Datei existiert wenn nicht dann passiert nicht.
for(new i = 1; i < MAX_VEHICLES; i++)
{
new string[32];
format(string, sizeof(string), "%d.car", i);
if(fexist(string))
{
LadeFahrzeug(i);
CreateVehicle(CarInfo[i][aModel], CarInfo[i][aX], CarInfo[i][aY], CarInfo[i][aZ], CarInfo[i][aAngle],0, 0, -1);
}
}
dies kommt unter OnGameModeInit() rein.
hierbei wird eine ForSchleife durch gelaufen die MAX_VEHICLES entspricht (ich glaube das ist 2000) bei jeder Datei wo existiert, wird ein Fahrzeug mit der Model ID aus der Datei erstellt und genau an den X,Y,Z u. Angle Kordinaten gespawnt.
CMD:
new cmd[256], idx; //Strtok
cmd = strtok(cmdtext, idx); // Strtok
if(strcmp(cmd, "/veh", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "BENUTZUNG: /veh [modelid(400-611)]");
return 1;
}
new carid, Float:x, Float:y, Float:z, Float:angle, pname[MAX_PLAYER_NAME];
GetPlayerPos(playerid, x,y,z);
GetPlayerFacingAngle(playerid, angle);
carid = strval(tmp);
if(GueltigesFahrzeug(carid))
{
GetPlayerName(playerid,pname,sizeof(pname));
new id = CreateVehicle(carid, x+2,y,z,angle+4,0,0,-1);
CarInfo[id][aID] = id;
CarInfo[id][aX] = x;
CarInfo[id][aY] = y;
CarInfo[id][aZ] = z;
CarInfo[id][aAngle] = angle;
CarInfo[id][aModel] = carid;
SpeicherFahrzeug(id);
SendClientMessage(playerid, COLOR_RED, "Car gespawnt!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "IDs von 400 bis 611 sind nur erlaubt!");
}
return 1;
}
ich denke dies klärt sich von selbst, wenn man alles vorher durch gelesen hat das einzigste wäre, das hier die Enum Struktur die Werte zugewiesen bekommt z.B. /veh 451
das Fahrzeug hat damit die Model ID 451.
forward GueltigesFahrzeug(carid);
bei wie bei den anderen Forward erfolgt die einfügung!
public GueltigesFahrzeug(carid)
{
if(carid >= 400 && carid <= 611)
{
return 1;
}
return 0;
}
ganz Unten im Script wie die anderen Publics
hier bei wird die eingabe abgefragt ob sie in dem Rahmen der Model IDs ist
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Hier erfolgt keine Erklärung wenn benötigt im SAMP Wikipedia nachsehen
Ich hoffe euch hat das Tutorial gefallen
-MfG: Apoolecu
hey return 1; nach jedem cmd sprich
if(strcmp(cmd, "/cmd", true) == 0)
{
//funktion
return 1;
}
Hey,
ich hab mir etwas zurecht gescriptet, wenn man KEY_WALK betätigt, das man in ein Interior kommt problem ist nur das ganze passiert nicht sprich POS wird geändert aber von einem Interior ist nichts zusehen..
Code: if (PRESSED( KEY_WALK ))
{
for(new i = 1; i < MAX_TANKEN; i++)
{
if(IsPlayerInRangeOfPoint(playerid,1,tanke[i][tPX], tanke[i][tPY], tanke[i][tPZ]))
{
SetPlayerInterior(playerid,tanke[i][tInt]);
// SetPlayerVirtualWorld(playerid, tanke[i][tID]+1);
SetPlayerPos(playerid, tanke[i][tIX],tanke[i][tIY],tanke[i][tIZ]);
}
}
}
so er soll aus der datei die Cords auslesen in diesem Fall wären es die von dem Dialog:
Code:
if(listitem == 0) //Groß I
{
new stringT[25],Float:TX1,Float:TY1,Float:TZ1;
GetPlayerPos(playerid, TX1,TY1,TZ1);
Tankeerstellt ++;
TankeDialog = Tankeerstellt;
tanke[TankeDialog][tX] = TX1;
tanke[TankeDialog][tY] = TY1;
tanke[TankeDialog][tZ] = TZ1;
tanke[TankeDialog][tInt] = 17;
tanke[TankeDialog][tIX] = -25.884;
tanke[TankeDialog][tIY] = -185.868;
tanke[TankeDialog][tIZ] = 1003.549;
format(stringT,sizeof stringT,"Tankstelle (%d) erstellen: Liter angeben",TankeDialog);
ShowPlayerDialog(playerid,DIALOG_TerstellenL,DIALOG_STYLE_INPUT,stringT,"Gebe nun die Liter anzahl ein\n100L-2000L","Weiter","Zurück");
}
in der Datei steht auch alles schön richtig
Besitzer=
ID=1
Liter=125
MLiter=125
tX=2033.926269
tY=1344.112182
tZ=10.820312
tIZ=-25.884000
tIX=-185.867996
tIY=1003.549
tPX=2034.843
tPY=1344.566
tPZ=10.820312
Interior=17
Alles anzeigen
ich bin gerade nur am verzweifeln -.-
in einer enum
so also TankeDialog wird herraugegeben also kein Problem
nur mit den Cords will was nicht klappen -.-
Hey,
ich habe ein CMD geschrieben, der Auslesen soll ob ich an einer Tankstelle bin, wenn ja soll ein Dialog erscheinen
Probem ist jetzt bei dem Code passiert bei Else das eine Nachricht kommt mit ,,0" diese erscheint aber immer egal obich in der nähe bin oder nicht, sprich das vor Else wird
garnicht dran genommen :O
if(strcmp(cmd,"/ctankstellenpickup", true) == 0)
{
printf("TankeDialog ID = %d",TankeDialog);
if(IsPlayerInRangeOfPoint(playerid,20.0,tanke[TankeDialog][tX],tanke[TankeDialog][tY],tanke[TankeDialog][tZ]))
{
ShowPlayerDialog(playerid,DIALOG_TerstellenP,DIALOG_STYLE_MSGBOX,"Tankestelle erstellen: Pickup","Möchtes du hier das Pickup erstellen?","Ja","Nein");
SendClientMessage(playerid,COLOR_RED,"1");
print("TankeErstellt!");
}
else
{
SendClientMessage(playerid,COLOR_RED,"0");
}
return 1;
}
habe schon gedacht das es am Radius liegt, kann ja aber auch nicht sein
Hey,
nein der Print text kommt auch nicht
habe es jetzt mal so probiert:
if(strcmp(cmd,"/ctankstellenpickup", true) == 0)
{
for(new t = 1; t < MAX_TANKEN; t++)
{
if(IsPlayerInRangeOfPoint(playerid,20.0,tanke[t][tX],tanke[t][tY],tanke[t][tZ]))
{
ShowPlayerDialog(playerid,DIALOG_TerstellenP,DIALOG_STYLE_MSGBOX,"Tankestelle erstellen: Pickup","Möchtes du hier das Pickup erstellen?","Ja","Nein");
print("TankeErstellt!");
}
}
return 1;
}
kommt aber auch nichts -.-
mfG: Apoolecu
nope bringt rein gar nichts