[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
if(newkeys == 16 && GetPlayerState(playerid == PLAYER_STATE_ONFOOT))
Jetzt kann man mit leertaste etc. rein wie geht das ich nur mit Eingabe und F gehe?
-
Meinst du das Leben unbegrenzt Allgemein setzen oder dann wenn er nur unter Wasser ist?
Nur wenn er im Wasser ist, bzw taucht. Du kannst das über den Animations Index herausfinden.
Hier ein Beispiel:
http://forum.sa-mp.com/showthread.php?t=400049Und wenn er nicht mehr im Wasser ist, die Health wieder zurück setzen, wie es zuvor war (natürlich zuvor gespeichert haben).
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Woran könnte es liegen, dass die Textdraws bei einem Restart langsam laden oder sich das Spiel aufhängt?
Kann es auch am Server liegen?
Da gibt es mehrere Möglichkeiten.Extrem schlechter Code der laggt.
MySQL Verbindung zu einer externen Datenbank die keine Rückmeldung gibt.
Schlechte CPU am Server (relativ unwahrscheinlich)Kann an allem möglichen liegen. Falls du Backups hast (wenn nicht rate ich es dir dringend von nun an mindestens ein mal am Tag zu machen!) prüfe, ob es dort auch ist. Wenn nicht, füge Stück für Stück deine Neuerungen wieder hinzu.
-
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new interior = dini_Int(Spielerdatei,"Interior");
new vworld = dini_Int(Spielerdatei,"VWorld");
GetPlayerInterior(interior);
GetPlayerVirtualWorld(vworld);
return 1;
}public OnPlayerSpawn(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
new vworld = dini_Int(Spielerdatei,"VWorld");
SetPlayerInterior(playerid,interior);
SetPlayerVirtualWorld(playerid,vworld);
return 1;
}Die Position nach OnPlayerDisconnect wird nicht gespeichert.
Was ist unter OnPlayerSpawn oder Disconnect falsch? -
PStar:
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new interior = GetPlayerInterior(interior);
new vworld = GetPlayerVirtualWorld(vworld);
dini_IntSet(Spielerdatei,"Interior", interior);
dini_IntSet(Spielerdatei,"VWorld", vworld);
return 1;
} -
Alles anzeigen
PStar:
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new interior = GetPlayerInterior(interior);
new vworld = GetPlayerVirtualWorld(vworld);
dini_IntSet(Spielerdatei,"Interior", interior);
dini_IntSet(Spielerdatei,"VWorld", vworld);
return 1;
}Alles anzeigenPStar:
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new interior = GetPlayerInterior(interior);
new vworld = GetPlayerVirtualWorld(vworld);
dini_IntSet(Spielerdatei,"Interior", interior);
dini_IntSet(Spielerdatei,"VWorld", vworld);
return 1;
}Geht leider komischerweise trotzdem nicht Werte bleiben auf 0.
-
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
dini_IntSet(Spielerdatei,"Interior", GetPlayerInterior(interior));
dini_IntSet(Spielerdatei,"VWorld", GetPlayerVirtualWorld(vworld));
return 1;
}public OnPlayerSpawn(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerInterior(playerid, dini_Int(Spielerdatei,"Interior"));
SetPlayerVirtualWorld(playerid, dini_Int(Spielerdatei,"VWorld"));
return 1;
}Versuch es so.
Du bist aber schon in einem Interior und einer anderen VirtualWorld, oder? -
Alles anzeigen
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
dini_IntSet(Spielerdatei,"Interior", GetPlayerInterior(interior));
dini_IntSet(Spielerdatei,"VWorld", GetPlayerVirtualWorld(vworld));
return 1;
}public OnPlayerSpawn(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerInterior(playerid, dini_Int(Spielerdatei,"Interior"));
SetPlayerVirtualWorld(playerid, dini_Int(Spielerdatei,"VWorld"));
return 1;
}Versuch es so.
Du bist aber schon in einem Interior und einer anderen VirtualWorld, oder?Jap bin ich, geht nicht.
Vielleicht wird die Speicherung durch SpielerSpeichern oder LoadAccount beeinträchtigt?
stock LoadAcoount(playerid)
{
new Spielerdatei[64],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPVarInt(playerid,"Interior",dini_Int(Spielerdatei,"Interior"));
SetPVarInt(playerid,"VWorld",dini_Int(Spielerdatei,"VWorld"));
return 1;
}stock SpielerSpeichern(playerid)
{
new name[MAX_PLAYER_NAME];
new Spielerdatei[64], datum[20], string[100];
new jahr, monat, tag, stunde, minute, sekunde;
GetPlayerName(playerid,name,sizeof(name));
if(GetPVarInt(playerid, "loggedin") == 1)
{
dini_IntSet(Spielerdatei,"Interior",GetPVarInt(playerid,"Interior"));
dini_IntSet(Spielerdatei,"VWorld",GetPVarInt(playerid,"VWorld"));
return 1;
}
} -
Das wird wohl so sein, da du das lädst und dann wieder speicherst, ohne den Wert zu ändern.
Mach das beim LoadAccount und SpielerSpeichern raus. -
Hab es so gemacht habe es dann geprintet.
Es wird nicht aufgerufen.
Print schaut folgendermaßen aus:
dini_IntSet(Spielerdatei,"Interior", interior); print("Das Teil wird aufgerufen!1");
dini_IntSet(Spielerdatei,"VWorld", vworld); print("Das Teil wird aufgerufen!2"); -
-
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
new interior = GetPlayerInterior(interior);
new vworld = GetPlayerVirtualWorld(vworld);
dini_IntSet(Spielerdatei,"Interior", interior); print("Das Teil wird aufgerufen!1");
dini_IntSet(Spielerdatei,"VWorld", vworld); print("Das Teil wird aufgerufen!2");
return 1;
} -
PStar: Warum speicherst du es unter OnPlayerDisconnect und in der Funktion "SpielerSpeichern"?
Einmal reicht doch vollkommen
stock SpielerSpeichern(playerid){
new name[MAX_PLAYER_NAME],Spielerdatei[64], datum[20], string[100],jahr, monat, tag, stunde, minute, sekunde;
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(GetPVarInt(playerid, "loggedin")){
dini_IntSet(Spielerdatei,"Interior",GetPVarInt(playerid,"Interior"));
dini_IntSet(Spielerdatei,"VWorld",GetPVarInt(playerid,"VWorld"));
//Alles speichern
return 1;
}
return 1;
}public OnPlayerDisconnect(playerid, reason){
SpielerSpeichern(playerid);
return 1;
} -
Hey,
ich wollte mal etwas mit arrays arbeiten, und habe bemerkt das es nicht ganz so will wie ich.
Es kommt immer dieser fehler "error 018: initialization data exceeds declared size"
Was mache ich denn hier falsch, weil eigendlich sollte er mir ja nun den Namen vom 2. eingetragenen fahrzeug geben..
Spoiler anzeigen
//Anwendung
printf("%s",VehicleInfo[1][0]);Spoiler anzeigen //Deklarierung
new VehicleInfo[212][2] =
{
{"Landstalker",Diesel},
{"Bravura",Diesel},
{"Buffalo",Diesel},
{"Linerunner",Diesel},
{"Perrenial",Diesel},
{"Sentinel",Diesel},
{"Dumper",Diesel},
{"Firetruck",Diesel},
{"Trashmaster",Diesel},
{"Stretch",Diesel},
{"Manana",Diesel},
{"Infernus",Diesel},
{"Voodoo",Diesel},
{"Pony",Diesel},
{"Mule",Diesel},
{"Cheetah",Diesel},
{"Ambulance",Diesel},
{"Leviathan",Diesel},
{"Moonbeam",Diesel},
{"Esperanto",Diesel},
{"Taxi",Diesel},
{"Washington",Diesel},
{"Bobcat",Diesel},
{"Mr Whoopee",Diesel},
{"BF Injection",Diesel},
{"Hunter",Diesel},
{"Premier",Diesel},
{"Enforcer",Diesel},
{"Securicar",Diesel},
{"Banshee",Diesel},
{"Predator",Diesel},
{"Bus",Diesel},
{"Rhino",Diesel},
{"Barracks",Diesel},
{"Hotknife",Diesel},
{"Trailer 1",Diesel},
{"Previon",Diesel},
{"Coach",Diesel},
{"Cabbie",Diesel},
{"Stallion",Diesel},
{"Rumpo",Diesel},
{"RC Bandit",Diesel},
{"Romero",Diesel},
{"Packer",Diesel},
{"Monster",Diesel},
{"Admiral",Diesel},
{"Squalo",Diesel},
{"Seasparrow",Diesel},
{"Pizzaboy",Diesel},
{"Tram",Diesel},
{"Trailer 2",Diesel},
{"Turismo",Diesel},
{"Speeder",Diesel},
{"Reefer",Diesel},
{"Tropic",Diesel},
{"Flatbed",Diesel},
{"Yankee",Diesel},
{"Caddy",Diesel},
{"Solair",Diesel},
{"Berkley's RC Van",Diesel},
{"Skimmer",Diesel},
{"PCJ-600",Diesel},
{"Faggio",Diesel},
{"Freeway",Diesel},
{"RC Baron",Diesel},
{"RC Raider",Diesel},
{"Glendale",Diesel},
{"Oceanic",Diesel},
{"Sanchez",Diesel},
{"Sparrow",Diesel},
{"Patriot",Diesel},
{"Quad",Diesel},
{"Coastguard",Diesel},
{"Dinghy",Diesel},
{"Hermes",Diesel},
{"Sabre",Diesel},
{"Rustler",Diesel},
{"ZR-350",Diesel},
{"Walton",Diesel},
{"Regina",Diesel},
{"Comet",Diesel},
{"BMX",Diesel},
{"Burrito",Diesel},
{"Camper",Diesel},
{"Marquis",Diesel},
{"Baggage",Diesel},
{"Dozer",Diesel},
{"Maverick",Diesel},
{"News Chopper",Diesel},
{"Rancher",Diesel},
{"FBI Rancher",Diesel},
{"Virgo",Diesel},
{"Greenwood",Diesel},
{"Jetmax",Diesel},
{"Hotring",Diesel},
{"Sandking",Diesel},
{"Blista Compact",Diesel},
{"Police Maverick",Diesel},
{"Boxville",Diesel},
{"Benson",Diesel},
{"Mesa",Diesel},
{"RC Goblin",Diesel},
{"Hotring Racer A",Diesel},
{"Hotring Racer B",Diesel},
{"Bloodring Banger",Diesel},
{"Rancher",Diesel},
{"Super GT",Diesel},
{"Elegant",Diesel},
{"Journey",Diesel},
{"Bike",Diesel},
{"Mountain Bike",Diesel},
{"Beagle",Diesel},
{"Cropdust",Diesel},
{"Stunt",Diesel},
{"Tanker",Diesel},
{"Roadtrain",Diesel},
{"Nebula",Diesel},
{"Majestic",Diesel},
{"Buccaneer",Diesel},
{"Shamal",Diesel},
{"Hydra",Diesel},
{"FCR-900",Diesel},
{"NRG-500",Diesel},
{"HPV1000",Diesel},
{"Cement Truck",Diesel},
{"Tow Truck",Diesel},
{"Fortune",Diesel},
{"Cadrona",Diesel},
{"FBI Truck",Diesel},
{"Willard",Diesel},
{"Forklift",Diesel},
{"Tractor",Diesel},
{"Combine",Diesel},
{"Feltzer",Diesel},
{"Remington",Diesel},
{"Slamvan",Diesel},
{"Blade",Diesel},
{"Freight",Diesel},
{"Streak",Diesel},
{"Vortex",Diesel},
{"Vincent",Diesel},
{"Bullet",Diesel},
{"Clover",Diesel},
{"Sadler",Diesel},
{"Firetruck LA",Diesel},
{"Hustler",Diesel},
{"Intruder",Diesel},
{"Primo",Diesel},
{"Cargobob",Diesel},
{"Tampa",Diesel},
{"Sunrise",Diesel},
{"Merit",Diesel},
{"Utility",Diesel},
{"Nevada",Diesel},
{"Yosemite",Diesel},
{"Windsor",Diesel},
{"Monster A",Diesel},
{"Monster B",Diesel},
{"Uranus",Diesel},
{"Jester",Diesel},
{"Sultan",Diesel},
{"Stratum",Diesel},
{"Elegy",Diesel},
{"Raindance",Diesel},
{"RC Tiger",Diesel},
{"Flash",Diesel},
{"Tahoma",Diesel},
{"Savanna",Diesel},
{"Bandito",Diesel},
{"Freight Flat",Diesel},
{"Streak Carriage",Diesel},
{"Kart",Diesel},
{"Mower",Diesel},
{"Duneride",Diesel},
{"Sweeper",Diesel},
{"Broadway",Diesel},
{"Tornado",Diesel},
{"AT-400",Diesel},
{"DFT-30",Diesel},
{"Huntley",Diesel},
{"Stafford",Diesel},
{"BF-400",Diesel},
{"Newsvan",Diesel},
{"Tug",Diesel},
{"Trailer 3",Diesel},
{"Emperor",Diesel},
{"Wayfarer",Diesel},
{"Euros",Diesel},
{"Hotdog",Diesel},
{"Club",Diesel},
{"Freight Carriage",Diesel},
{"Trailer 3",Diesel},
{"Andromada",Diesel},
{"Dodo",Diesel},
{"RC Cam",Diesel},
{"Launch",Diesel},
{"Police Car (LSPD)",Diesel},
{"Police Car (SFPD)",Diesel},
{"Police Car (LVPD)",Diesel},
{"Police Ranger",Diesel},
{"Picador",Diesel},
{"S.W.A.T. Van",Diesel},
{"Alpha",Diesel},
{"Phoenix",Diesel},
{"Glendale",Diesel},
{"Sadler",Diesel},
{"Luggage Trailer A",Diesel},
{"Luggage Trailer B",Diesel},
{"Stair Trailer",Diesel},
{"Boxville",Diesel},
{"Farm Plow",Diesel},
{"Utility Trailer",Diesel}
};
-
new VehicleInfo[212][2] =
zu:
enum vehEnum {
vehName[16],
kraftstoff
};
new VehicleInfo[212][vehEnum] =Ausgabe:
printf("%s",VehicleInfo[1][vehName]); -
-
Jeffry:
So war mein erster gedanke, jedoch müsste ich dem enum doch dann die ganzen werte per hand eintragen oder?
Was meinst du?
Du kannst es genau so ersetzen, dann sollte es ohne Fehler kompilieren. -
Ups sorry hab nur was übersehen, deswegen.
Habe es einfach so ersetzt und nun 2 weitere errors, welche irgendwas sagen das die array größe überschritten ist.Spoiler anzeigen
C:\Users\Arbeits-PC\Desktop\gamemode\filterscripts\tank.pwn(78) : warning 228: length of initialler exceeds size of the enum field
C:\Users\Arbeits-PC\Desktop\gamemode\filterscripts\tank.pwn(78) : error 018: initialization data exceeds declared size
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
//betreffende zeile:
{"Berkley's RC Van",Diesel},
Von der Zeile aus her ist es irgendwie verwirrend, da ja alle so sind.
//e
Hat sich erledigt war doch nur die größe beim Namen im enumerator.
Danke dir
-
