stock GivePlayerHP(playerid,Float:HP)
{
new Float:Health;
GetPlayerHealth(playerid,Health);
SetPlayerHealth(playerid,Health+HP);
return 1;
}
Beiträge von BlueSpider
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Du könntest es natürlich verschenken verkaufen was auch immer, aber ich würde es an deiner Stelle verbessern , optimieren und neue Systeme einbauen.
Lass es als kleines Hobby/kleine nebenbeschäftigung liegen. Zu verbessern gibt es nämlich immer was -
jetzt wirds komplex
#define dia_gangcar 0
#define MAX_GANGCAR 5
enum gangcar_e
{
carid,
float:car_x,
float:car_y,
float:car_z,
gang,
modell,
}
new gangcar[MAX_GANGCAR][gangcar_e];//Ongamemodeinit - Lese Vorgang
new Fahrzeugverzeichnis[64];
format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
new string_read[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
gangcar[i][modell] = dini_Int(Fahrzeugverzeichnis,string_read);
}//Befehl
if (strcmp("/gangautos", cmdtext, true, 10) == 0)
{
new string[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,gangcar[i][modell]);
}
ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
return 1;
}Ich hoffe mal das dass hilft
€dit//
Added & logik fehler fixed
In der enum fehlt übrigens noch eine Variable für das Fahrzeugmodell -
naja d.h. eine enum Klasse mit vielen variablen.
#define MAX_GANGCAR 5
enum gangcar_e
{
carid,
float:car_x,
float:car_y,
float:car_z,
gang,
}
new gangcar[MAX_GANGCAR][gangcar_e];// Ongamemodeinit - Lese Vorgang
new Fahrzeugverzeichnis[64];
format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
new string_read[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
gangcar[i][carid] = dini_Int(Fahrzeugverzeichnis,string_read);
CreateVehicle(gangcar[i][carid],..
}Als Beispiel.
Edit//
Ups
Ich glaub ich brauche eine Brille
format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,GetVehicleModel(Fraktionscar[i]));Musste doppelt zu
-
Ohne Besitzer & Gang Angabe ?
-
Achso...
Also was du da bauen möchtest ist ein halbes Car system und erfodert einen Aufwand von 1000Zeilen +. -
#define dia_gangcar 0
#define MAX_GANGCAR 5
new gangcar[MAX_GANGCAR];//---
if (strcmp("/gangautos", cmdtext, true, 10) == 0)
{
new string[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string,sizeof(string),"%s \n %d CARID: %d",string,i,GetVehicleModel(gangcar[i])
}
ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
return 1;
}Das ist nur der erste teil.
Ansonsten bitte noch etwas genauer beschreiben was du meinst. -
Also ich würde das problem ja jetzt noch unter OnPlayerSpawn suchen.
-
[Mit Rusischen Akzent lesen]
Weißt du noch ?
hmmm ?
Als SA-MP.de eigenen sa-mp Server machen wollte ..?
ähmmmm ..
Das war scheiße .....
ähmmm...[/Mit Rusischen Akzent lesen]
Kurz gesagt : Organisation = katastrophe.
-
Was soll der Code eigetnlich bewirken ?
Erklärung wäre nett -
new freeze;
if (strcmp("/freezeall", cmdtext, true, 10) == 0)
{
if(freeze==1)
{
TogglePlayerControllable(playerid,1);
freeze=0;
return 1;
}
TogglePlayerControllable(playerid,0);
freeze=1;
return 1;
}Beim wiederholen des befehls wenn alle schon gefreezt sind werden sie wieder entfreezt.
-
Naja Direkt nicht. Ich glaube das man dort zu der y achse circa 10 dazu addieren müsste.
Ganz genau weiß ich es jetzt aber auch nicht.
Probieren geht über Studieren ? -
Oke danke soweit aber bei mir kommt immer keine rückmeldung, mache ich villt etwas falsch ?
also nochmal, ich mache es so:Gamemode --> pwn datei --> in pawno öffnen compile und dann crash
Klammer Fehler.
-
Nicht komplett weg machen ..
Nur die "//" weg machen.
Der Fehler der jetzt kommt sagt nichts anderes aus das du OnDialogResponse nicht geschlossen hast. ( } ) -
Also hier wäre meine Variante :
#define MAX_BOMB 5
new dynamit[MAX_PLAYERS][MAX_BOMB]; /* 0 = false ; 1 = true */
new object_dyna[MAX_PLAYERS][MAX_BOMB];//Bombe setzen
else if(SpielerInfo[playerid][sKlasse] == 9 && GetPlayerWeapon(playerid) == 0 && SpielerInfo[playerid][sTeam] == 1)
{
new Float:px, Float:py, Float:pz, Float:pa;
GetPlayerFacingAngle(playerid,pa);
GetPlayerPos(playerid, px, py, pz);
if(pa >= 0.0 && pa <= 22.5) //n1
{
new i;
for(new g = 0; g < MAX_BOMB; g++)
{
i++;
if ( dynamit[playerid][i] == 0){ g = MAX_BOMB; }
}
OnePlayAnim(playerid,"GRENADE","WEAPON_throwu",4.1,0,0,0,0,0);
SendClientMessage(playerid,COLOR_YELLOW,"Gehe soweit wie möglich weg und gebe /det ein, betätige den Detonator um das Dynamite hochzujagen >).");
dynamit[playerid][i] = 1;
object_dyna[playerid][i] = CreateObject(1654, px, py+3, pz-0.785, 0.0, 0.0, 0.0);
printf("Bomb Set, ID : %d",i);
}
}//Bombe zünden
else if(GetPlayerWeapon(playerid) == 40)
{
new Float:bx, Float:by, Float:bz;
new i;
new i;
for(new g = 0; g < MAX_BOMB; g++)
{
i++;
if ( dynamit[playerid][i] == 1){ g = MAX_BOMB; }
}
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;}
// alle Bomben zünden
else if(GetPlayerWeapon(playerid) == 40)
{
new Float:bx, Float:by, Float:bz;
for(new i = 0; i < MAX_BOMB; i++)
{
if ( dynamit[playerid][i] == 0) return 1;
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;}
}// Nach ID zünden
else if(GetPlayerWeapon(playerid) == 40)
{
/* i = ID */
new Float:bx, Float:by, Float:bz;
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;
}Ungetestet , deinen Code blick ich nicht mehr so wirklich
-
stock ini_Isset(filename[],key[]) {
/* (c) Draco Blue - DINI 1.6*/
new key_length = strlen(key);
if (key_length==0 || key_length+2>255) return false;new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return false;new tmpres[255];
while (fread(fohnd,tmpres)) {
if (
tmpres[key_length]=='='
&& !strcmp(tmpres, key, true, key_length)
) {
// We've got what we need
fclose(fohnd);
return true;
}
}
fclose(fohnd);
return false;
}Am Ende des Scripts einfügen.
----
if (ini_Isset("admins.cfg",sname))
{
PlayerInfo[playerid][pAdmin] = INI_ReadInt(sname);
AdminSystemCheck[playerid] = PlayerInfo[playerid][pAdmin];
format(stringtext, sizeof(stringtext), "SERVER: Du hast dich als Admin eingeloggt level: %d ",PlayerInfo[playerid][pAdmin]);
SendClientMessage(playerid, COLOR_WHITE,stringtext);
}Das dürfte das problem erstmal lösen. Ist zwar nicht optimal aber das dürfte hinhauen.
Entweder schreibst du dir die Funktion selbst oder holst dir ein anderes INI System. -
Nein.
Dem Compiler fehlt die Funktion, in der Include fehlt schlichtweg die Funktion.
Was kommt nach der if abfrage ?
Kommt da noch ein else ?€dit //
Wie lautet die datei Variable ? -
Du rufst die SA-MP.com seite auf.
Downloads -> Windows Server -> Archiv runterladen.
Archiv entpacken. In den pawno ordner wechseln und pawno.exe ausführen.File -> Open , dein script öffnen.
Und danach auf Build -> Compile.
Mit Glück hast du dann eine AMX datei. -
Weil er den Code von oben nach unten liest.
Erst beim zweiten Aufruf von OnGamemodeInit ( die callback wo diese abfargen drin sind ) würde die erste Abfrage zutreffen und die definierung OnGamemodeInit würde gelöscht werden.
Ich verstehe nur nicht gerade was du dir davon erhofft hast ?Ps. Sinn = 0.
-
Das ganze würde dann so aussehen :
SetPlayerPos(playerid,dini_Float(spielerdatei,PosX),dini_Float(spielerdatei,PosY),dini_Float(spielerdatei,PosZ));Ansonsten kannst du auch hier noch nachschlagen : [ SCRIPTING ] DINI - Grundfunktionen
Da sind alle Funktionen von DINI aufgelistet und halbwegs erklärt