Die 2 Taste ist ja nur definiert worden, weil die im Singelplayer als "Bürgerwehr-Mission" und so benutzt wird (Vermute ich mal)
Schade
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
public reloadexport(playerid) //This is called when all cars are sold <=== zeile 4919
{ -
Die 2 Taste ist ja nur definiert worden, weil die im Singelplayer als "Bürgerwehr-Mission" und so benutzt wird (Vermute ich mal)
SchadeSie bewirkt das selbe wie NumPad+
Man kann bei SAMP allerdings nur Tasten verwenden die vom Spiel aus definiert sind.
-
Naja die sind in einer include definiert.
Nur wer nimmt sich schon die Zeit und versucht die IDS für die anderen Tasten zu finden? xD
Sogesehen ist alles möglich man muss nur wissen wie...! -
Jetzt habe ich diese meldungen
C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37063) : warning 235: public function lacks forward declaration (symbol "reloadexport")
C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37091) : warning 209: function "reloadexport" should return a value
C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37092) : error 010: invalid function or declaration
C:\Users\cyc\Desktop\GTA Script\MrIllusion2\MrIllusion\gamemodes\eRPv0.8.pwn(37095) : warning 203: symbol is never used: "vNames"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
if(sold10 == 1) //If its sold //<=== 37063
{
DestroyObject(cross10); //Destroy the cross
sold10 = 0; //And set the variable to "not sold"
}So zeile 37091 ist vorletzte Zeile das ist eine lehre zeile
Zeile 37092 Ist die letzte zeile und das ist auch eine lehre zeile
und Zeile 37095 gibt es nicht -
Naja die sind in einer include definiert.
Nur wer nimmt sich schon die Zeit und versucht die IDS für die anderen Tasten zu finden? xD
Sogesehen ist alles möglich man muss nur wissen wie...!Es ist mit Samp nicht möglich. Samp greift auf die Einstellungen von GTA SA zu und nicht auf die Tastatur
Es gibt ein Filterscript (Key-Detecter) welches dir alle Keys anzeigt.
Da gibts für jede verschiedene Kombination von Tasten, allerdings nur von Tasten die in der GTA-Steuerung vorkommen -
Wie kann man es machen das Autos nicht zurück spornen sondern da stehen bleiben wo man sie verlassen hat??
-
AddStaticVehicleEx(........,-1);,
forward reloadexport(...);
und einfach ein return 1; } hinter das public -
Was muss ich machen das die Export cars auch wirglich nur an der einen weg punkt abgegeben wird und nicht bei allen weg punkten??
Ich vermutte das es irgend was mit der abteilung zutun hat, aber ich weis leider nicht wo ich es rein machen muss da mit er weis das er nur bei einem weg punkt es abgeben muss
if(!IsPlayerInAnyVehicle(playerid)) //If the player isnt in a vehicle
{
return SendClientMessage(playerid,COLOR_RED,"You must be in a vehicle!");
}
new gtstr[128]; //Define gtstr
if(sellon[playerid] == 0) //if he cant sell cars (sold one latley)
{
return GameTextForPlayer(playerid,"~R~Come back later!",3000,sold_for_gametext); //Tell him to return later
}
//Slamvan
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 535) //If its a Slamvan
{
if(sold1 == 0) //If it has not been sold
{
sold1 = 1; //Now its sold, so we can set the variable
sellon[playerid] = 0; //We have sold a vehicle so we have to wait 5 minutes to sell again
SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
new string[128];
new string2[128];
format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
DestroyVehicle(GetPlayerVehicleID(playerid)); //Respawn the Slamvan
GivePlayerMoney(playerid,slamvan_price); //Give the player that cash
SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
format(gtstr, sizeof(gtstr), "~G~slamvan sold for~N~~Y~$%i~W~!",slamvan_price); //Format "gtstr"
GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
cross1 = CreateObject(3086, -1534.65, 154.05, 2.51, 0.00, 0.00, 180.00); //The cross-out object for the blackboard
SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547); //Camera
SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031); //Camera
SetTimerEx("excam",reset_time*1000, false, "i", playerid); //Reset the camera and the player in whatever secondsa are defined
PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0); //Sound
new name[16]; //Define "Name"
GetPlayerName(playerid,name,16); //Get the players name and store it in the "name" variable
format(string, sizeof(string), "\"%s\" has sold the Slamvan for $%i!",name,slamvan_price); //Format "string"
SendClientMessageToAll(COLOR_GREEN, string); //Send "string" as a SCM
}
else if(sold1 == 1) //If slamvan is already sold
{
GameTextForPlayer(playerid,"~R~slamvan ~W~has already been sold!",3000,already_sold_gametext); //Tell them its sold
}
}
//Blista Compact
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 496)
{
if(sold2 == 0)
{
sold2 = 1;
sellon[playerid] = 0;
SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
new string[128];
new string2[128];
format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
DestroyVehicle(GetPlayerVehicleID(playerid));
GivePlayerMoney(playerid,blista_price);
SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
format(gtstr, sizeof(gtstr), "~G~blista compact sold for~N~~Y~$%i~W~!",blista_price); //Format "string"
GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
cross2 = CreateObject(3086, -1534.45, 154.05, 2.26, 0.00, 0.00, 180.00);
SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
SetTimerEx("excam",reset_time*1000, false, "i", playerid);
PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
new name[16];
GetPlayerName(playerid,name,16);
format(string, sizeof(string), "\"%s\" has sold the Blista Compact for $%i!",name,blista_price);
SendClientMessageToAll(COLOR_GREEN, string);
}
else if(sold2 == 1)
{
GameTextForPlayer(playerid,"~R~blista compact ~W~has already been sold!",3000,already_sold_gametext);
}
}
//Stafford
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 580)
{
if(sold3 == 0)
{
sold3 = 1;
sellon[playerid] = 0;
SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
new string[128];
new string2[128];
format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
DestroyVehicle(GetPlayerVehicleID(playerid));
GivePlayerMoney(playerid,stafford_price);
SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
format(gtstr, sizeof(gtstr), "~G~stafford sold for~N~~Y~$%i~W~!",stafford_price); //Format "string"
GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
cross3 = CreateObject(3086, -1534.62, 154.05, 1.99, 0.00, 0.00, 180.00);
SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
SetTimerEx("excam",reset_time*1000, false, "i", playerid);
PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
new name[16];
GetPlayerName(playerid,name,16);
format(string, sizeof(string), "\"%s\" has sold the Stafford for $%i!",name,stafford_price);
SendClientMessageToAll(COLOR_GREEN, string);
}
else if(sold3 == 1)
{
GameTextForPlayer(playerid,"~R~stafford ~W~has already been sold!",3000,already_sold_gametext);
}
}
//Sabre
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 475)
{
if(sold4 == 0)
{
sold4 = 1;
sellon[playerid] = 0;
SetTimerEx("exdel",wait_time*60000, false, "i", playerid); //Set the timer to be able to sell cars again
new string[128];
new string2[128];
format(string2, sizeof(string2), "CAR EXPORT: You must now wait %d minutes to sell another car!",wait_time); //Format "string2"
SendClientMessage(playerid, COLOR_GREEN,string2); //Send "string2" as a SendClientMessage
DestroyVehicle(GetPlayerVehicleID(playerid));
GivePlayerMoney(playerid,sabre_price);
SetPlayerScore(playerid, GetPlayerScore(playerid) + sell_car_bonus );
format(gtstr, sizeof(gtstr), "~G~sabre sold for~N~~Y~$%i~W~!",sabre_price); //Format "string"
GameTextForPlayer(playerid,gtstr,3000,sold_for_gametext); //Gametext
cross4 = CreateObject(3086, -1534.73, 154.05, 1.73, 0.00, 0.00, 180.00);
SetPlayerCameraPos(playerid,-1534.6313,150.5789,3.5547);
SetPlayerCameraLookAt(playerid,-1534.4789,153.5749,4.6031);
SetTimerEx("excam",reset_time*1000, false, "i", playerid);
PlayerPlaySound(playerid,sell_car_sound,0.0,0.0,0.0);
new name[16];
GetPlayerName(playerid,name,16);
format(string, sizeof(string), "\"%s\" has sold the Sabre for $%i!",name,sabre_price);
SendClientMessageToAll(COLOR_GREEN, string);
}
else if(sold4 == 1)
{
GameTextForPlayer(playerid,"~R~Sabre ~W~has already been sold!",3000,already_sold_gametext);
}
return reloadexport(playerid);
} -
Frage nicht von mir:!
Jemand will wissen was,
Zitatarray must be indexed
bedeutet.
-
-
Dann sag deinem Freund ( ) :
Das passiert bei folgendem.
Du definierst eine Variable als Array, willst sie dann aber verändern/auslesen, ohne auf...mir fehlt das Wort, die eigentliche Stelle einzugehen. Beispielnew i[MAX_PLAYERS];
...
i=1;
Dann kommt diese Meldung, weil es eigentlich
i[0]=1; oder i[20]=1; sein muss...hoffe das ist einigermaßen verständlich
-
Warum werden die Variablen bei OnPlayerDeath nicht erhöt?
Und warum wird bei UpdateKDInfo die KD/R nicht angezeigt ?
Sondern bleibt immer auf 0.Code: http://pastebin.com/idc977JX
Bitte Helfen. -
public OnPlayerConnect(playerid){
KillInfo[playerid][kKills] = 22,KillInfo[playerid][kDeath] = 39;
return 1;
}
Wieso hast du das gemacht ? Der Spieler bekommt beim connecten 22 kills und 39 Deahts ?
Die einzelnen zahlen kann man auch so addiern
KillInfo[killerid][kKills] ++;KillInfo[playerid][kDeath] ++;
-
Ich hab das gemacht damit ich Testen kann ob die Kill & Death Rate funktioniert.
Und ich habs mit dem Addiern schon so versucht funktioniert auch nicht. -
Hallo , ich arbeite grade an meinem Gamemode und hatte versucht das wenn man Connectet das wenn man dann Spawn eine Nachricht bekommt z.B. Du hast dein Zimmer im Hotel verlassen da das aber nur nach dem Connecten passieren soll habe ich eine Abfrage erstellt die sieht so aus
new Login[64]; // oben im Script
public OnPlayerConnect(playerid)
{
Login[playerid] == 1;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Login == 1)
{
SendClientMessage(COLOR_HELLGRUEN, "Du hast dein Zimmer im Hotel verlassen!");
Login[playerid] == 0
return 1;
}
PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0);
return 1;
}
dann kommt
C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(62) : warning 215: expression has no effect
C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(83) : error 033: array must be indexed (variable "Login")
C:\Users\TEMP\Desktop\SA-MP Server @ 2010\gamemodes\XRPG.pwn(85) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
falls es einen anderen Weg gibt dann mach ich den aber wills trozdem wissen warums net geht :>
mfg -
public OnPlayerConnect(playerid)
{
Login[playerid] = 1; // Hier war ein fehler
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Login == 1)
{
SendClientMessage(COLOR_HELLGRUEN, "Du hast dein Zimmer im Hotel verlassen!");
Login[playerid] = 0; // hier waren 2 fehler
return 1;// Warum return?
}
PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0);
return 1;
} -
warum so kompliziert?
OnPlayerRequestSpawn
da die message senden und fertig -
Zitat
warum so kompliziert?
Pawn-Quelltext
1OnPlayerRequestSpawn
da die message senden und fertig
jo jetzt maches ichs so thx @ ling ling danke das dus mir erklärt hast
-
Login erfordert eine Zugriffsangabe auf einen Index also
if(Login == 1)
zu
if(Login[playerid] == 1)
Zudem wird 1 Automatisch als Wahr erkannt , 0 als Falsch, also geht auch
if(Login[playerid])
-
Hey leutz, ich habe mal ne frage.
Also, wenn ich in ein Taxi car einsteige, steht dort "Kein Zugriff zu diesem Fahrzeug");
Aber eigentlich sollte er mich reinlassen, da ich ja der Fraktion 10 = Taxi angehöre.
Weiß jemand wo es dran liegen kann ?
if(IsATaxiCar(vehicleid))
{
if(Taxi[0] || Taxi[1] || Taxi[2] || Taxi[3] || Taxi[4] || Taxi[5] || Taxi[6] || Taxi[7] || Taxi[8] || Taxi[9] || Taxi[10] || Taxi[11] || Taxi[12] || Taxi[13] || Taxi[14])
{
if(pLeader == 10 || pMember == 10)
{
SendClientMessage(playerid,COLOR_GREY," Du hast kein Zugriff auf dieses Fahrzeug!");
TogglePlayerControllable(playerid, 0);
TogglePlayerControllable(playerid, 1);
}
}
}public IsATaxiFahrer(playerid)
{
if(IsPlayerConnected(playerid))
{
new leader = PlayerInfo[playerid][pLeader];
new member = PlayerInfo[playerid][pMember];
if(member == 10)
{
return 1;
}
else if(leader == 10)
{
return 1;
}
}
return 0;
}public IsATaxiCar(carid)
{
if(Taxi[carid])
{
return 1;
}
return 0;
} -